Fawkes API
Fawkes Development Version
|
#include <event_trigger_manager.h>
Public Member Functions | |
EventTriggerManager (fawkes::Logger *logger, fawkes::Configuration *config, fawkes::MongoDBConnCreator *mongo_connection_manager) | |
Constructor for class managing EventTriggers. More... | |
template<typename T > | |
EventTrigger * | register_trigger (const bsoncxx::document::view &query, std::string dbcollection, void(T::*callback)(const bsoncxx::document::view &), T *obj) |
Register a trigger to be notified when the robot memory is updated and the updated document matches the query. More... | |
void | remove_trigger (EventTrigger *trigger) |
Remove a previously registered trigger. More... | |
Static Public Member Functions | |
static std::string | get_db_name (const std::string &ns) |
Split database name from namespace. More... | |
Friends | |
class | RobotMemory |
Access for robot memory to use the check_events function in the loop. More... | |
Manager to realize triggers on events in the robot memory
Definition at line 44 of file event_trigger_manager.h.
EventTriggerManager::EventTriggerManager | ( | fawkes::Logger * | logger, |
fawkes::Configuration * | config, | ||
fawkes::MongoDBConnCreator * | mongo_connection_manager | ||
) |
Constructor for class managing EventTriggers.
logger | Logger |
config | Configuration |
mongo_connection_manager | MongoDBConnCreator |
Definition at line 48 of file event_trigger_manager.cpp.
References fawkes::MongoDBConnCreator::create_client(), fawkes::Configuration::exists(), fawkes::Configuration::get_bool(), fawkes::Configuration::get_string(), and fawkes::Configuration::get_strings().
|
static |
Split database name from namespace.
ns | namespace, format db.collection |
ns
Definition at line 195 of file event_trigger_manager.cpp.
Referenced by register_trigger().
|
inline |
Register a trigger to be notified when the robot memory is updated and the updated document matches the query.
query | Query the updated document has to match |
dbcollection | db.collection to use |
callback | Callback function (e.g. &Class::callback) |
obj | Pointer to class the callback is a function of (usaually this) |
Definition at line 65 of file event_trigger_manager.h.
References get_db_name(), and RobotMemory::query().
Referenced by RobotMemory::register_trigger().
void EventTriggerManager::remove_trigger | ( | EventTrigger * | trigger | ) |
Remove a previously registered trigger.
trigger | Pointer to the trigger to remove |
Definition at line 163 of file event_trigger_manager.cpp.
|
friend |
Access for robot memory to use the check_events function in the loop.
Definition at line 47 of file event_trigger_manager.h.