blob: 9eaebfedcf7e047b2b83389d0480c745a54647fe [file] [log] [blame]
#ifndef BASYX_SUBMODEL_API_V2_QUALIFIER_IIDENTIFIABLE_H
#define BASYX_SUBMODEL_API_V2_QUALIFIER_IIDENTIFIABLE_H
#include <BaSyx/submodel/api_v2/qualifier/IReferable.h>
#include <BaSyx/submodel/api_v2/qualifier/IAdministrativeInformation.h>
#include <BaSyx/submodel/simple/identifier/Identifier.h>
#include <string>
#include <memory>
namespace basyx {
namespace submodel {
namespace api {
class IIdentifiable : public virtual IReferable
{
public:
virtual ~IIdentifiable() = 0;
virtual const IAdministrativeInformation & getAdministrativeInformation() const = 0;
virtual IAdministrativeInformation & getAdministrativeInformation() = 0;
virtual simple::Identifier getIdentification() const = 0;
virtual bool hasAdministrativeInformation() const = 0;
virtual KeyType getKeyType() const {
return this->getIdentification().getIdType();
};
};
inline IIdentifiable::~IIdentifiable() = default;
}
}
}
#endif /* BASYX_SUBMODEL_API_V2_QUALIFIER_IIDENTIFIABLE_H */