Thomas Psota | 2ce01ed | 2020-04-30 15:10:09 +0200 | [diff] [blame] | 1 | #ifndef BASYX_SUBMODEL_API_V2_DATASPECIFICATION_IDATASPECIFICATIONIEC61360_H |
| 2 | #define BASYX_SUBMODEL_API_V2_DATASPECIFICATION_IDATASPECIFICATIONIEC61360_H |
| 3 | |
| 4 | #include <BaSyx/submodel/api_v2/dataspecification/IDataSpecificationContent.h> |
Thomas Psota | 2ce01ed | 2020-04-30 15:10:09 +0200 | [diff] [blame] | 5 | #include <BaSyx/submodel/api_v2/qualifier/IIdentifiable.h> |
| 6 | #include <BaSyx/submodel/api_v2/qualifier/IReferable.h> |
| 7 | #include <BaSyx/submodel/api_v2/reference/IReference.h> |
Thomas Psota | 9256f0a | 2020-05-08 19:07:28 +0200 | [diff] [blame] | 8 | #include <BaSyx/submodel/enumerations/DataTypeIEC61360.h> |
| 9 | #include <BaSyx/submodel/enumerations/LevelType.h> |
| 10 | |
Thomas Psota | 2ce01ed | 2020-04-30 15:10:09 +0200 | [diff] [blame] | 11 | |
| 12 | namespace basyx { |
| 13 | namespace submodel { |
| 14 | |
Thomas Psota | 2ce01ed | 2020-04-30 15:10:09 +0200 | [diff] [blame] | 15 | namespace api { |
| 16 | |
Constantin Ziesche | 02817f1 | 2020-08-04 21:40:43 +0200 | [diff] [blame^] | 17 | class IDataSpecificationIEC61360 |
| 18 | : public IDataSpecificationContent |
Thomas Psota | 2ce01ed | 2020-04-30 15:10:09 +0200 | [diff] [blame] | 19 | { |
| 20 | public: |
| 21 | virtual ~IDataSpecificationIEC61360() = 0; |
| 22 | |
| 23 | virtual ILangStringSet & PreferredName() = 0; |
| 24 | virtual ILangStringSet & ShortName() = 0; |
| 25 | virtual ILangStringSet & Definition() = 0; |
| 26 | |
| 27 | virtual std::string * const getUnit() = 0; |
| 28 | virtual IReference * const getUnitId() = 0; |
| 29 | virtual std::string * const getSourceOfDefinition() = 0; |
jwendelil4 | ee5bf28 | 2020-05-25 16:20:07 +0200 | [diff] [blame] | 30 | virtual std::string * const getSymbol() = 0; |
Thomas Psota | 2ce01ed | 2020-04-30 15:10:09 +0200 | [diff] [blame] | 31 | virtual DataTypeIEC61360 getDataType() const = 0; |
| 32 | virtual std::string * const getValueFormat() = 0; |
jwendelil4 | ee5bf28 | 2020-05-25 16:20:07 +0200 | [diff] [blame] | 33 | /* TODO |
| 34 | virtual MISSINGTYPE const getValueList() = 0; |
| 35 | virtual MISSINGTYPE const getValueDataType() = 0; |
| 36 | */ |
| 37 | virtual IReference * const getValueId() = 0; |
Thomas Psota | 2ce01ed | 2020-04-30 15:10:09 +0200 | [diff] [blame] | 38 | virtual LevelType getLevelType() const = 0; |
| 39 | |
| 40 | virtual void setUnit(const std::string & unit) = 0; |
| 41 | virtual void setSourceOfDefinition(const std::string & sourceOfDefinition) = 0; |
| 42 | virtual void setDataType(DataTypeIEC61360 dataType) = 0; |
| 43 | virtual void setValueFormat(const std::string & valueFormat) = 0; |
| 44 | virtual void setLevelType(LevelType levelType) = 0; |
| 45 | }; |
| 46 | |
| 47 | inline IDataSpecificationIEC61360::~IDataSpecificationIEC61360() = default; |
| 48 | |
| 49 | } |
| 50 | } |
| 51 | } |
| 52 | |
Thomas Psota | 9256f0a | 2020-05-08 19:07:28 +0200 | [diff] [blame] | 53 | #endif /* BASYX_SUBMODEL_API_V2_DATASPECIFICATION_IDATASPECIFICATIONIEC61360_H */ |