17 #ifndef STRATEGIES_HPP_
18 #define STRATEGIES_HPP_
21 #include <boost/function.hpp>
35 boost::function<
bool (
uuid_t)> isSubscribed
36 , boost::function<
void (
uuid_t, boost::shared_ptr<ICommonRecord>)> subscribe
37 , boost::function<
void (
uuid_t)> unsubscribe)
39 isSubscribedFn_ = isSubscribed;
40 subscribeFn_ = subscribe;
41 unsubscribeFn_ = unsubscribe;
44 void run(boost::shared_ptr<ICommonRecord> parent,
const std::string &field,
const avro::GenericDatum &datum);
47 boost::function<bool (uuid_t)> isSubscribedFn_;
48 boost::function<void (uuid_t, boost::shared_ptr<ICommonRecord>)> subscribeFn_;
49 boost::function<void (uuid_t)> unsubscribeFn_;
60 boost::function<
bool (
uuid_t)> isSubscribed
61 , boost::function<
void (
uuid_t, boost::shared_ptr<ICommonRecord>)> subscribe
62 , boost::function<
void (
uuid_t)> unsubscribe,
bool isRootRecord =
false)
64 isSubscribedFn_ = isSubscribed;
65 subscribeFn_ = subscribe;
66 unsubscribeFn_ = unsubscribe;
67 isRootRecord_ = isRootRecord;
69 void run(boost::shared_ptr<ICommonRecord> parent,
const std::string &field,
const avro::GenericDatum &datum);
71 boost::function<bool (uuid_t)> isSubscribedFn_;
72 boost::function<void (uuid_t, boost::shared_ptr<ICommonRecord>)> subscribeFn_;
73 boost::function<void (uuid_t)> unsubscribeFn_;
74 std::list<std::pair<uuid_t, boost::shared_ptr<ICommonRecord> > > recordToSubscribe;
75 std::list<uuid_t> recordToUnSubscribe;
86 , boost::function<
void (
uuid_t, boost::shared_ptr<ICommonRecord>)> subscribe
87 , boost::function<
void (
uuid_t)> unsubscribe)
89 isSubscribedFn_ = isSubscribed;
90 subscribeFn_ = subscribe;
91 unsubscribeFn_ = unsubscribe;
93 void run(boost::shared_ptr<ICommonRecord> parent,
const std::string &field,
const avro::GenericDatum &datum);
95 static const std::string array_holder_field;
96 boost::function<bool (uuid_t)> isSubscribedFn_;
97 boost::function<void (uuid_t, boost::shared_ptr<ICommonRecord>)> subscribeFn_;
98 boost::function<void (uuid_t)> unsubscribeFn_;
107 , boost::function<
void (
uuid_t)> unsubscribe)
109 isSubscribedFn_ = isSubscribed;
110 unsubscribeFn_ = unsubscribe;
112 void run(boost::shared_ptr<ICommonRecord> parent,
const std::string &field,
const avro::GenericDatum &datum);
116 boost::function<bool (uuid_t)> isSubscribedFn_;
117 boost::function<void (uuid_t)> unsubscribeFn_;
125 void run(boost::shared_ptr<ICommonRecord> parent,
const std::string &field,
const avro::GenericDatum &datum);
133 void run(boost::shared_ptr<ICommonRecord> parent,
const std::string &field,
const avro::GenericDatum &datum);
void run(boost::shared_ptr< ICommonRecord > parent, const std::string &field, const avro::GenericDatum &datum)
void run(boost::shared_ptr< ICommonRecord > parent, const std::string &field, const avro::GenericDatum &datum)
void run(boost::shared_ptr< ICommonRecord > parent, const std::string &field, const avro::GenericDatum &datum)
RecordProcessStrategy(boost::function< bool(uuid_t)> isSubscribed, boost::function< void(uuid_t, boost::shared_ptr< ICommonRecord >)> subscribe, boost::function< void(uuid_t)> unsubscribe, bool isRootRecord=false)
ArrayResetStrategy(boost::function< bool(uuid_t)> isSubscribed, boost::function< void(uuid_t)> unsubscribe)
boost::uuids::uuid uuid_t
void run(boost::shared_ptr< ICommonRecord > parent, const std::string &field, const avro::GenericDatum &datum)
void run(boost::shared_ptr< ICommonRecord > parent, const std::string &field, const avro::GenericDatum &datum)
void run(boost::shared_ptr< ICommonRecord > parent, const std::string &field, const avro::GenericDatum &datum)
void unregisterRecord(ICommonRecord &record)
void unregisterArray(ICommonArray &record)
ArrayProcessStrategy(boost::function< bool(uuid_t)> isSubscribed, boost::function< void(uuid_t, boost::shared_ptr< ICommonRecord >)> subscribe, boost::function< void(uuid_t)> unsubscribe)
UuidProcessStrategy(boost::function< bool(uuid_t)> isSubscribed, boost::function< void(uuid_t, boost::shared_ptr< ICommonRecord >)> subscribe, boost::function< void(uuid_t)> unsubscribe)