23#ifndef _PLUGINS_CLIPS_NAVGRAPH_CLIPS_NAVGRAPH_THREAD_H_
24#define _PLUGINS_CLIPS_NAVGRAPH_CLIPS_NAVGRAPH_THREAD_H_
26#include <aspect/configurable.h>
27#include <aspect/logging.h>
28#include <core/threading/thread.h>
29#include <navgraph/aspect/navgraph.h>
30#include <navgraph/navgraph.h>
31#include <plugins/clips/aspect/clips_feature.h>
38class NavGraphStaticListEdgeConstraint;
74 void clips_navgraph_block_edge(std::string env_name, std::string from, std::string to);
75 void clips_navgraph_unblock_edge(std::string env_name, std::string from, std::string to);
78 std::map<std::string, fawkes::LockPtr<CLIPS::Environment>> envs_;
Provide protobuf functionality to CLIPS environment.
virtual void init()
Initialize the thread.
virtual void graph_changed() noexcept
Function called if the graph has been changed.
virtual void run()
Stub to see name in backtrace for easier debugging.
ClipsNavGraphThread()
Constructor.
virtual void finalize()
Finalize the thread.
virtual void loop()
Code to execute in the thread.
virtual void clips_context_init(const std::string &env_name, fawkes::LockPtr< CLIPS::Environment > &clips)
Initialize a CLIPS context to use the provided feature.
virtual void clips_context_destroyed(const std::string &env_name)
Notification that a CLIPS environment has been destroyed.
virtual ~ClipsNavGraphThread()
Destructor.
Thread aspect to provide a feature to CLIPS environments.
CLIPS feature maintainer.
Thread aspect to access configuration data.
Thread aspect to log output.
Thread aspect to access NavGraph.
Constraint that holds a list of edges to block.
Topological graph change listener.
Thread class encapsulation of pthreads.
Fawkes library namespace.