blob: f53fa5500555696d05e02dddefaa5844d5c35711 [file] [log] [blame]
Thomas Psota2ce01ed2020-04-30 15:10:09 +02001#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 Psota2ce01ed2020-04-30 15:10:09 +02005#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 Psota9256f0a2020-05-08 19:07:28 +02008#include <BaSyx/submodel/enumerations/DataTypeIEC61360.h>
9#include <BaSyx/submodel/enumerations/LevelType.h>
10
Thomas Psota2ce01ed2020-04-30 15:10:09 +020011
12namespace basyx {
13namespace submodel {
14
Thomas Psota2ce01ed2020-04-30 15:10:09 +020015namespace api {
16
Constantin Ziesche02817f12020-08-04 21:40:43 +020017class IDataSpecificationIEC61360
18 : public IDataSpecificationContent
Thomas Psota2ce01ed2020-04-30 15:10:09 +020019{
20public:
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;
jwendelil4ee5bf282020-05-25 16:20:07 +020030 virtual std::string * const getSymbol() = 0;
Thomas Psota2ce01ed2020-04-30 15:10:09 +020031 virtual DataTypeIEC61360 getDataType() const = 0;
32 virtual std::string * const getValueFormat() = 0;
jwendelil4ee5bf282020-05-25 16:20:07 +020033/* TODO
34 virtual MISSINGTYPE const getValueList() = 0;
35 virtual MISSINGTYPE const getValueDataType() = 0;
36 */
37 virtual IReference * const getValueId() = 0;
Thomas Psota2ce01ed2020-04-30 15:10:09 +020038 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
47inline IDataSpecificationIEC61360::~IDataSpecificationIEC61360() = default;
48
49}
50}
51}
52
Thomas Psota9256f0a2020-05-08 19:07:28 +020053#endif /* BASYX_SUBMODEL_API_V2_DATASPECIFICATION_IDATASPECIFICATIONIEC61360_H */