23 #ifndef _PLUGINS_CLIPS_ASPECT_CLIPS_ENV_MANAGER_H_ 24 #define _PLUGINS_CLIPS_ASPECT_CLIPS_ENV_MANAGER_H_ 26 #include <core/utils/lockptr.h> 46 const std::string &log_component_name);
49 void add_features(
const std::list<CLIPSFeature *> &features);
53 std::map<std::string, LockPtr<CLIPS::Environment>>
environments()
const;
59 CLIPS::Value clips_request_feature(std::string env_name, std::string feature_name);
60 CLIPS::Values clips_now();
61 CLIPS::Values clips_now_systime();
62 void guarded_load(
const std::string &env_name,
const std::string &filename);
68 std::string clips_dir_;
74 std::list<std::string> req_feat;
78 std::map<std::string, ClipsEnvData> envs_;
79 std::map<std::string, CLIPSFeature *> features_;
void add_features(const std::list< CLIPSFeature * > &features)
Add a feature by name.
virtual ~CLIPSEnvManager()
Destructor.
Fawkes library namespace.
CLIPSEnvManager(Logger *logger, Clock *clock, std::string &clips_dir)
Constructor.
This is supposed to be the central clock in Fawkes.
void destroy_env(const std::string &env_name)
Destroy the named environment.
void assert_can_remove_features(const std::list< CLIPSFeature * > &features)
Assert that a feature can be removed.
LockPtr< CLIPS::Environment > create_env(const std::string &env_name, const std::string &log_component_name)
Create a new environment.
void remove_features(const std::list< CLIPSFeature * > &features)
Remove a feature by name.
std::map< std::string, LockPtr< CLIPS::Environment > > environments() const
Get map of environments.
CLIPS environment manager.