22 #ifndef __PLUGINS_PLEXIL_BLACKBOARD_ADAPTER_H_
23 #define __PLUGINS_PLEXIL_BLACKBOARD_ADAPTER_H_
25 #include <blackboard/blackboard.h>
26 #include <blackboard/interface_listener.h>
27 #include <logging/logger.h>
29 #include <InterfaceAdapter.hh>
65 virtual void lookupNow(PLEXIL::State
const &state, PLEXIL::StateCacheEntry &cacheEntry);
67 virtual void subscribe(
const PLEXIL::State &state);
68 virtual void unsubscribe(
const PLEXIL::State &state);
75 void bb_open_for_reading(PLEXIL::Command *cmd);
76 void bb_close(PLEXIL::Command *cmd);
77 void bb_read(PLEXIL::Command *cmd);
78 void bb_read_all(PLEXIL::Command *cmd);
79 void bb_print(PLEXIL::Command *cmd);
85 std::mutex ifs_read_mutex_;
86 std::map<std::string, fawkes::Interface *> ifs_read_;
88 std::map<std::string, std::function<void(PLEXIL::Command *)>> commands_;
90 std::multimap<std::string, PLEXIL::State> subscribed_states_;
94 void initFawkesBlackboardAdapter();