23 #include <core/threading/thread_finalizer.h>
24 #include <plugins/mongodb/aspect/mongodb.h>
25 #include <plugins/mongodb/aspect/mongodb_conncreator.h>
26 #include <plugins/mongodb/aspect/mongodb_inifin.h>
45 conn_creator_ = conn_creator;
53 if (mongodb_thread == NULL) {
55 "MongoDBAspect, but RTTI says it "
60 mongocxx::client *client =
nullptr;
66 mongodb_thread->init_MongoDBAspect(client, conn_creator_);
74 if (mongodb_thread == NULL) {
76 "MongoDBAspect, but RTTI says it "
Aspect initializer/finalizer base class.
Thread cannot be finalized.
Thread cannot be initialized.
MongoDBAspectIniFin(MongoDBConnCreator *conn_creator)
Constructor.
virtual void finalize(Thread *thread)
Finalize thread.
virtual void init(Thread *thread)
Initialize thread.
Thread aspect to access MongoDB.
mongocxx::client * mongodb_client
MongoDB client to use to interact with the database.
const std::string & mongodb_config_name() const
Get MongoDB configuration name.
Interface for a MongoDB connection creator.
virtual mongocxx::client * create_client(const std::string &config_name="")=0
Create a new MongoDB client.
virtual void delete_client(mongocxx::client *client)=0
Delete a client.
Thread class encapsulation of pthreads.
const char * name() const
Get name of thread.
Fawkes library namespace.