blob: d5e0f40ad854c4eca102ab756e7e38f14c20114a [file] [log] [blame]
/*
* IProperty.h
*
* Created on: 29.04.2018
* Author: kuhn, wendel
*/
#ifndef API_IPROPERTY_H_
#define API_IPROPERTY_H_
#include "aas/submodelelement/IDataElement.h"
#include "basyx/types.h"
namespace basyx {
namespace aas {
namespace submodelelement {
namespace property {
enum PropertyType
{
Single, Collection, Map, Container
};
namespace PropertyPaths
{
static constexpr long serialVersionUID = 1L;
static constexpr char VALUE[] = "value";
static constexpr char VALUEID[] = "valueId";
static constexpr char VALUETYPE[] = "valueType";
}
/* *********************************************************************************
* Property interface
* *********************************************************************************/
class IProperty
{
public:
virtual PropertyType getPropertyType() const = 0;
virtual void setValue(const basyx::any & obj) = 0;
virtual basyx::any getValue() const = 0;
virtual void setValueId(const basyx::any & obj) = 0;
virtual basyx::any getValueId() const = 0;
};
}
}
}
}
#endif /* API_IPROPERTY_H_ */