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);
69 std::string clips_dir_;
75 std::list<std::string> req_feat;
79 std::map<std::string, ClipsEnvData> envs_;
80 std::map<std::string, CLIPSFeature *> features_;
CLIPS environment manager.
LockPtr< CLIPS::Environment > create_env(const std::string &env_name, const std::string &log_component_name)
Create a new environment.
std::map< std::string, LockPtr< CLIPS::Environment > > environments() const
Get map of environments.
virtual ~CLIPSEnvManager()
Destructor.
void destroy_env(const std::string &env_name)
Destroy the named environment.
CLIPSEnvManager(Logger *logger, Clock *clock, std::string &clips_dir)
Constructor.
void add_features(const std::list< CLIPSFeature * > &features)
Add a feature by name.
void remove_features(const std::list< CLIPSFeature * > &features)
Remove a feature by name.
void assert_can_remove_features(const std::list< CLIPSFeature * > &features)
Assert that a feature can be removed.
This is supposed to be the central clock in Fawkes.
Fawkes library namespace.