17 #ifndef I_COMMON_RECORD_HPP_
18 #define I_COMMON_RECORD_HPP_
22 #ifdef KAA_USE_CONFIGURATION
27 #include <boost/uuid/uuid.hpp>
32 typedef boost::uuids::uuid uuid_t;
37 template<
class Container>
38 class ICommonRecordBase:
public ISchemaDependent,
public ICommonValue {
40 typedef Container container_type;
41 typedef typename Container::mapped_type fields_type;
42 typedef typename Container::key_type keys_type;
45 virtual ~ICommonRecordBase() {}
50 virtual void setUuid(uuid_t uuid) = 0;
55 virtual uuid_t getUuid() = 0;
63 virtual bool hasField (
const keys_type &field_name)
const = 0;
71 virtual fields_type getField (
const keys_type &field_name)
const = 0;
78 virtual void setField (
const keys_type &field_name, fields_type value) = 0;
85 virtual void removeField (
const keys_type &field_name) = 0;
90 virtual const container_type & getFields ()
const = 0;
93 typedef ICommonRecordBase<std::map<std::string, std::shared_ptr<ICommonValue> > > ICommonRecord;