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)