17 #ifndef CONFIGURATION_PROCESSOR_HPP_ 
   18 #define CONFIGURATION_PROCESSOR_HPP_ 
   22 #ifdef KAA_USE_CONFIGURATION 
   43 class ConfigurationProcessor : 
public IConfigurationProcessor {
 
   45     typedef avro::ValidSchema Schema;
 
   47     ConfigurationProcessor() {}
 
   48     ConfigurationProcessor(std::shared_ptr<avro::ValidSchema> schema) { schema_ = schema; }
 
   49     ~ConfigurationProcessor() { schema_.reset(); }
 
   54     void processConfigurationData(
const std::uint8_t *data, std::size_t dataLength, 
bool fullResync);
 
   59     void subscribeForUpdates(IGenericDeltaReceiver &receiver);
 
   60     void unsubscribeFromUpdates(IGenericDeltaReceiver &receiver);
 
   65     void addOnProcessedObserver(IConfigurationProcessedObserver &observer);
 
   66     void removeOnProcessedObserver(IConfigurationProcessedObserver &observer);
 
   71     void onSchemaUpdated(std::shared_ptr<avro::ValidSchema> schema);
 
   76     KaaObservable<void (int, const avro::GenericDatum &, bool), IGenericDeltaReceiver *> deltaReceivers_;
 
   77     KaaObservable<void (), IConfigurationProcessedObserver *> onProcessedObservers_;
 
   79     std::shared_ptr<Schema>                                       schema_;
 
#define KAA_R_MUTEX_DECLARE(name)