23 #ifndef __PLUGINS_BBSYNC_SYNC_THREAD_H_
24 #define __PLUGINS_BBSYNC_SYNC_THREAD_H_
26 #include "sync_listener.h"
27 #include "writer_listener.h"
29 #include <core/threading/thread.h>
30 #include <core/utils/lock_map.h>
31 #include <aspect/logging.h>
32 #include <aspect/configurable.h>
33 #include <aspect/blackboard.h>
34 #include <aspect/clock.h>
53 std::string &peer_cfg_prefix, std::string &peer);
64 protected:
virtual void run() { Thread::run(); }
70 std::string reader_id;
71 std::string writer_id;
88 : combo(NULL), writer(NULL), reader_bb(NULL), writer_bb(NULL)
99 : combo(pcombo), writer(pwriter), reader_bb(preader_bb), writer_bb(pwriter_bb)
106 InterfaceInfo & operator=(
const InterfaceInfo &ii)
108 combo=ii.combo; writer=ii.writer; reader_bb=ii.reader_bb; writer_bb=ii.writer_bb;
113 typedef std::map<std::string, combo_t > ComboMap;
117 bool check_connection();
118 void read_config_combos(std::string prefix,
bool writing);
119 void open_interfaces();
120 void close_interfaces();
123 std::string __bbsync_cfg_prefix;
124 std::string __peer_cfg_prefix;
137 InterfaceMap __interfaces;
139 SyncListenerMap __sync_listeners;