17 #ifndef CONFIGURATION_MANAGER_HPP_
18 #define CONFIGURATION_MANAGER_HPP_
22 #ifdef KAA_USE_CONFIGURATION
42 class ConfigurationManager :
public IConfigurationManager {
44 ConfigurationManager() {}
45 ~ConfigurationManager() {}
50 void subscribeForConfigurationChanges(IConfigurationReceiver &receiver);
51 void unsubscribeFromConfigurationChanges(IConfigurationReceiver &receiver);
52 ICommonRecord &getConfiguration();
57 void onDeltaRecevied(
int index,
const avro::GenericDatum & data,
bool full_resync);
62 void onConfigurationProcessed();
71 void updateRecord(std::shared_ptr<ICommonRecord> rec,
const avro::GenericDatum &data);
78 bool isSubscribed(uuid_t uuid);
86 void subscribe(uuid_t uuid, std::shared_ptr<ICommonRecord> record);
93 void unsubscribe(uuid_t uuid);
95 std::map<uuid_t, std::shared_ptr<ICommonRecord> > records_;
96 std::shared_ptr<ICommonRecord> root_;
99 KaaObservable<void (ICommonRecord &), IConfigurationReceiver *> configurationReceivers_;
#define KAA_MUTEX_DECLARE(name)