blob: 45e36555806bed46b5ef121946c8379c206f9f29 [file] [log] [blame]
Constantin Ziesche02817f12020-08-04 21:40:43 +02001#ifndef BASYX_MAP_V2_SDK_CONCEPTDICTIONARY_H
2#define BASYX_MAP_V2_SDK_CONCEPTDICTIONARY_H
3
4#include <BaSyx/submodel/api_v2/parts/IConceptDictionary.h>
5#include <BaSyx/submodel/map_v2/qualifier/Referable.h>
6#include <BaSyx/submodel/map_v2/common/ElementContainer.h>
7#include <BaSyx/vab/ElementMap.h>
8#include <BaSyx/submodel/map_v2/parts/ConceptDescription.h>
9
10namespace basyx {
11namespace submodel {
12namespace map {
13
14class ConceptDictionary
15 : public api::IConceptDictionary
16 , public virtual Referable
17 , public virtual vab::ElementMap
18{
19private:
20 ElementContainer<api::IConceptDescription> concept_descriptions;
21public:
22 ConceptDictionary(const std::string & idShort);
23
24 //inherited via IConceptDictionary
25 const api::IElementContainer<api::IConceptDescription> & getConceptDescriptions() const override;
26
27 // not inherited
28 void addConceptDescription(std::unique_ptr<ConceptDescription> description);
29};
30
31}
32}
33}
34#endif //BASYX_MAP_V2_SDK_CONCEPTDICTIONARY_H