blob: 91ba983b51ee3b7d6de65e702f21d09f0d13c533 [file] [log] [blame]
#ifndef BASYX_SUBMODEL_MAP_V2_QUALIFIER_IDENTIFIABLE_H
#define BASYX_SUBMODEL_MAP_V2_QUALIFIER_IDENTIFIABLE_H
#include <BaSyx/submodel/api_v2/qualifier/IIdentifiable.h>
#include <BaSyx/submodel/map_v2/qualifier/Referable.h>
#include <BaSyx/submodel/map_v2/qualifier/AdministrativeInformation.h>
namespace basyx {
namespace submodel {
namespace map {
class Identifiable :
public virtual api::IIdentifiable,
public Referable
{
public:
struct Path {
static constexpr char IdType[] = "idType";
static constexpr char Id[] = "id";
static constexpr char AdministrativeInformation[] = "administrativeInformation";
static constexpr char Identifier[] = "Identification";
};
private:
map::AdministrativeInformation administrativeInformation;
public:
virtual ~Identifiable() = default;
// Constructors
Identifiable(const std::string & idShort, const simple::Identifier & identifier);
bool hasAdministrativeInformation() const noexcept override;
// Inherited via IIdentifiable
const api::IAdministrativeInformation & getAdministrativeInformation() const override;
api::IAdministrativeInformation & getAdministrativeInformation() override;
virtual simple::Identifier getIdentification() const override;
void setAdministrativeInformation(const AdministrativeInformation & administrativeInformation);
};
}
}
}
#endif /* BASYX_SUBMODEL_MAP_V2_QUALIFIER_IDENTIFIABLE_H */