blob: 05cd21b4d10c34d6c91ef376639803cc36d9542a [file] [log] [blame]
Thomas Psota7e562b62020-04-30 15:11:32 +02001#ifndef BASYX_SUBMODEL_SIMPLE_DATASPECIFICATION_DATASPECIFICATION_H
2#define BASYX_SUBMODEL_SIMPLE_DATASPECIFICATION_DATASPECIFICATION_H
3
4#include <BaSyx/submodel/api_v2/dataspecification/IDataSpecification.h>
5
6#include <BaSyx/submodel/simple/qualifier/Identifiable.h>
7
8namespace basyx {
9namespace submodel {
10namespace simple {
11
12class DataSpecification : public api::IDataSpecification
13{
14private:
15 Identifiable ident;
16 std::unique_ptr<api::IDataSpecificationContent> content;
17public:
18 ~DataSpecification() = default;
19 DataSpecification(const std::string & idShort, const Identifier & identifier);
20
21 void setContent(std::unique_ptr<api::IDataSpecificationContent> content);
22
23 // Inherited via IDataSpecification
24 virtual api::IDataSpecificationContent & getContent() override;
25
26 // Inherited via IIdentifiable
27 virtual const std::string & getIdShort() const override;
28 virtual const std::string * const getCategory() const override;
29 virtual simple::LangStringSet & getDescription() override;
30 virtual const simple::LangStringSet & getDescription() const override;
31 virtual const IReferable * const getParent() const override;
32 virtual const AdministrativeInformation & getAdministrativeInformation() const override;
33 virtual AdministrativeInformation & getAdministrativeInformation() override;
34 virtual Identifier getIdentification() const override;
35 virtual bool hasAdministrativeInformation() const override;
36};
37
38}
39}
40}
41
42#endif /* BASYX_SUBMODEL_SIMPLE_DATASPECIFICATION_DATASPECIFICATION_H */