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;
52 mongodb_thread = dynamic_cast<MongoDBAspect *>(thread);
53 if (mongodb_thread == NULL) {
55 "MongoDBAspect, but RTTI says it " 60 mongo::DBClientBase *client =
nullptr;
66 mongodb_thread->init_MongoDBAspect(client, conn_creator_);
73 mongodb_thread = dynamic_cast<MongoDBAspect *>(thread);
74 if (mongodb_thread == NULL) {
76 "MongoDBAspect, but RTTI says it " MongoDBAspectIniFin(MongoDBConnCreator *conn_creator)
Constructor.
virtual void init(Thread *thread)
Initialize thread.
Fawkes library namespace.
mongo::DBClientBase * mongodb_client
MongoDB client to use to interact with the database.
Thread class encapsulation of pthreads.
Thread cannot be initialized.
Thread aspect to access MongoDB.
virtual mongo::DBClientBase * create_client(const std::string &config_name="")=0
Create a new MongoDB client.
const char * name() const
Get name of thread.
Interface for a MongoDB connection creator.
virtual void finalize(Thread *thread)
Finalize thread.
Thread cannot be finalized.
const std::string & mongodb_config_name() const
Get MongoDB configuration name.
virtual void delete_client(mongo::DBClientBase *client)=0
Delete a client.
Aspect initializer/finalizer base class.