22 #ifndef __PLUGINS_PLEXIL_REMOTE_ADAPTER_H_
23 #define __PLUGINS_PLEXIL_REMOTE_ADAPTER_H_
25 #include <core/utils/lockptr.h>
26 #include <utils/system/fam.h>
28 #include <InterfaceAdapter.hh>
42 class NetworkConfiguration;
43 class FawkesNetworkClient;
44 class FileAlterationMonitor;
71 virtual void fam_event(
const char *filename,
unsigned int mask);
74 std::string cfg_navgraph_filename_;
77 std::unique_ptr<fawkes::FawkesNetworkClient> client_;
78 std::unique_ptr<fawkes::Logger> logger_;
79 std::unique_ptr<fawkes::BlackBoard> blackboard_;
80 std::unique_ptr<fawkes::NetworkConfiguration> config_;
82 std::unique_ptr<fawkes::FileAlterationMonitor> navgraph_fam_;
83 std::mutex navgraph_fam_mutex_;
84 std::thread navgraph_fam_thread_;
86 std::map<std::string, std::function<void(PLEXIL::Command *)>> commands_;
90 void initNavGraphAdapter();
Interface adapter to provide logging facilities.
virtual bool reset()
Reset adapter.
virtual bool shutdown()
Shut adapter down.
void executeCommand(PLEXIL::Command *cmd)
Perform given command.
virtual void fam_event(const char *filename, unsigned int mask)
Event has been raised.
virtual bool initialize()
Initialize adapter.
void invokeAbort(PLEXIL::Command *cmd)
Abort currently running execution.
virtual ~FawkesRemotePlexilAdapter()
Destructor.
virtual bool stop()
Stop adapter.
virtual bool start()
Start adapter.
FawkesRemotePlexilAdapter(PLEXIL::AdapterExecInterface &execInterface)
Constructor.
This is supposed to be the central clock in Fawkes.
File Alteration Monitor Listener.
Fawkes library namespace.