blob: bbd577196a5523611370141a23e3bcd60298e171 [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;
Constantin Ziesche02817f12020-08-04 21:40:43 +020029 void setCategory(const std::string & category) override;
Thomas Psota7e562b62020-04-30 15:11:32 +020030 virtual simple::LangStringSet & getDescription() override;
31 virtual const simple::LangStringSet & getDescription() const override;
32 virtual const IReferable * const getParent() const override;
33 virtual const AdministrativeInformation & getAdministrativeInformation() const override;
34 virtual AdministrativeInformation & getAdministrativeInformation() override;
35 virtual Identifier getIdentification() const override;
36 virtual bool hasAdministrativeInformation() const override;
37};
38
39}
40}
41}
42
43#endif /* BASYX_SUBMODEL_SIMPLE_DATASPECIFICATION_DATASPECIFICATION_H */