23 #ifndef _PLUGINS_MONGODB_LOG_MONGODB_LOG_BB_THREAD_H_
24 #define _PLUGINS_MONGODB_LOG_MONGODB_LOG_BB_THREAD_H_
26 #include <aspect/blackboard.h>
27 #include <aspect/clock.h>
28 #include <aspect/configurable.h>
29 #include <aspect/logging.h>
30 #include <blackboard/interface_listener.h>
31 #include <blackboard/interface_observer.h>
32 #include <core/threading/thread.h>
33 #include <core/utils/lock_map.h>
34 #include <core/utils/lock_set.h>
35 #include <plugins/mongodb/aspect/mongodb.h>
73 mongocxx::client * mongodb,
74 std::string & database,
76 const std::string & agent_name,
95 mongocxx::client * mongodb_;
97 std::string collection_;
98 std::string & database_;
100 const std::string agent_name_;
106 std::string database_;
109 std::vector<std::string> excludes_;
virtual void finalize()
Finalize the thread.
virtual ~MongoLogBlackboardThread()
Destructor.
virtual void init()
Initialize the thread.
virtual void bb_interface_created(const char *type, const char *id)
BlackBoard interface created notification.
virtual void loop()
Code to execute in the thread.
MongoLogBlackboardThread()
Constructor.
virtual void run()
Stub to see name in backtrace for easier debugging.
Thread aspect to access to BlackBoard.
BlackBoard * blackboard
This is the BlackBoard instance you can use to interact with the BlackBoard.
BlackBoard interface listener.
BlackBoard interface observer.
The BlackBoard abstract class.
Thread aspect that allows to obtain the current time from the clock.
Thread aspect to access configuration data.
Base class for all Fawkes BlackBoard interfaces.
Thread aspect to log output.
Logger * logger
This is the Logger member used to access the logger.
Thread aspect to access MongoDB.
mongocxx::client * mongodb_client
MongoDB client to use to interact with the database.
Thread class encapsulation of pthreads.
A class for handling time.