23 #ifndef __PLUGINS_CLIPS_FEATURE_BLACKBOARD_H_ 24 #define __PLUGINS_CLIPS_FEATURE_BLACKBOARD_H_ 26 #include <plugins/clips/aspect/clips_feature.h> 32 #include <clipsmm/value.h> 43 class InterfaceFieldIterator;
53 virtual void clips_context_init(
const std::string &env_name,
55 virtual void clips_context_destroyed(
const std::string &env_name);
61 typedef std::map<std::string, std::list<fawkes::Interface *> > InterfaceMap;
66 std::map<std::string, Interfaces > interfaces_;
67 std::map<std::string, fawkes::LockPtr<CLIPS::Environment> > envs_;
69 std::map<fawkes::Message*, fawkes::Interface*> interface_of_msg_;
72 void clips_blackboard_open_interface(std::string env_name,
73 std::string type, std::string
id,
75 void clips_blackboard_open_interface_reading(std::string env_name,
76 std::string type, std::string
id);
77 void clips_blackboard_open_interface_writing(std::string env_name,
78 std::string type, std::string
id);
79 void clips_blackboard_close_interface(std::string env_name,
80 std::string type, std::string
id);
81 void clips_blackboard_read(std::string env_name);
82 void clips_blackboard_write(std::string env_name, std::string uid);
84 void clips_blackboard_enable_time_read(std::string env_name);
85 void clips_blackboard_get_info(std::string env_name);
86 bool clips_assert_interface_type(std::string &env_name, std::string &log_name,
88 void clips_blackboard_preload(std::string env_name, std::string type);
89 void clips_blackboard_set(std::string env_name, std::string uid,
90 std::string field, CLIPS::Value value);
91 void clips_blackboard_set_multifield(std::string env_name, std::string uid,
92 std::string field, CLIPS::Values values);
93 CLIPS::Value clips_blackboard_create_msg(std::string env_name, std::string uid,
94 std::string msg_type);
95 CLIPS::Values clips_blackboard_list_msg_fields(std::string env_name,
void *msgptr);
97 void clips_blackboard_set_msg_field(std::string env_name,
void *msgptr,
98 std::string field_name, CLIPS::Value value);
99 void clips_blackboard_set_msg_multifield(std::string env_name,
void *msgptr,
100 std::string field_name, CLIPS::Values values);
101 CLIPS::Value clips_blackboard_send_msg(std::string env_name,
void *msgptr);
106 std::string env_name, std::string field, CLIPS::Value value,
110 std::string env_name, std::string field, CLIPS::Values values);
Interface field iterator.
Fawkes library namespace.
Base class for all Fawkes BlackBoard interfaces.
CLIPS blackboard feature.
CLIPS feature maintainer.
The BlackBoard abstract class.