blob: c1107da4c13180af75c2a1c86b241135e4980f45 [file] [log] [blame]
Constantin Ziesche02817f12020-08-04 21:40:43 +02001#ifndef BASYX_MAP_V2_SDK_DATASPECIFICATIONPHYSICALUNIT_H_
2#define BASYX_MAP_V2_SDK_DATASPECIFICATIONPHYSICALUNIT_H_
3
4#include <BaSyx/submodel/api_v2/dataspecification/IDataSpecificationPhysicalUnit.h>
5#include <BaSyx/submodel/map_v2/common/LangStringSet.h>
6
7#include <BaSyx/vab/ElementMap.h>
8
9namespace basyx {
10namespace submodel {
11namespace map {
12
13struct DataSpecificationPhysicalUnitPath
14{
15 static constexpr char UnitName[] = "UnitName";
16 static constexpr char UnitSymbol[] = "UnitSymbol";
17 static constexpr char Definition[] = "Definition";
18 static constexpr char SiNotation[] = "SiNotation";
19 static constexpr char SiName[] = "SiName";
20 static constexpr char DinNotation[] = "DinNotation";
21 static constexpr char EceName[] = "EceName";
22 static constexpr char EceCode[] = "EceCode";
23 static constexpr char NistName[] = "NistName";
24 static constexpr char SourceOfDefinition[] = "SourceOfDefinition";
25 static constexpr char ConversionFactor[] = "ConversionFactor";
26 static constexpr char RegistrationAuthorityId[] = "RegistrationAuthorityId";
27 static constexpr char Supplier[] = "Supplier";
28};
29
30class DataSpecificationPhysicalUnit
31 : public api::IDataSpecificationPhysicalUnit
32 , public virtual vab::ElementMap
33{
34private:
35 LangStringSet definition;
36
37public:
38 DataSpecificationPhysicalUnit(const std::string & unitName, const std::string & unitSymbol, const api::ILangStringSet & definition);
39
40 const std::string & getUnitName() const override;
41 void setUnitName(const std::string & unitName) override;
42
43 const std::string & getUnitSymbol() const override;
44 void setUnitSymbol(const std::string & unitSymbol) override;
45
46 LangStringSet & getDefinition() override;
47 void setDefinition(const api::ILangStringSet & unitName) override;
48
49 const std::string * getSiNotation() const override;
50 void setSiNotation(const std::string & SiNotation) override;
51
52 const std::string * getSiName() const override;
53 void setSiName(const std::string & SiName) override;
54
55 const std::string * getDinNotation() const override;
56 void setDinNotation(const std::string & DinNotation) override;
57
58 const std::string * getEceName() const override;
59 void setEceName(const std::string & EceName) override;
60
61 const std::string * getEceCode() const override;
62 void setEceCode(const std::string & EceCode) override;
63
64 const std::string * getNistName() const override;
65 void setNistName(const std::string & NistName) override;
66
67 const std::string * getSourceOfDefinition() const override;
68 void setSourceOfDefinition(const std::string & SourceOfDefinition) override;
69
70 const std::string * getConversionFactor() const override;
71 void setConversionFactor(const std::string & ConversionFactor) override;
72
73 const std::string * getRegistrationAuthorityId() const override;
74 void setRegistrationAuthorityId(const std::string & RegistrationAuthorityId) override;
75
76 const std::string * getSupplier() const override;
77 void setSupplier(const std::string & Supplier) override;
78
79
80};
81
82}
83}
84}
85
86#endif //BASYX_MAP_V2_SDK_DATASPECIFICATIONPHYSICALUNIT_H_