24 #include <plugins/mongodb/aspect/mongodb_inifin.h> 25 #include <plugins/mongodb/aspect/mongodb.h> 26 #include <plugins/mongodb/aspect/mongodb_conncreator.h> 27 #include <core/threading/thread_finalizer.h> 48 __conn_creator = conn_creator;
56 if (mongodb_thread == NULL) {
58 "MongoDBAspect, but RTTI says it " 59 "has not. ", thread->
name());
62 mongo::DBClientBase *client =
65 mongodb_thread->init_MongoDBAspect(client, __conn_creator);
73 if (mongodb_thread == NULL) {
75 "MongoDBAspect, but RTTI says it " 76 "has not. ", thread->
name());
virtual mongo::DBClientBase * create_client(const char *config_name=0)=0
Create a new MongoDB client.
MongoDBAspectIniFin(MongoDBConnCreator *conn_creator)
Constructor.
virtual void init(Thread *thread)
Initialize thread.
Fawkes library namespace.
const char * mongodb_config_name() const
Get MongoDB configuration name.
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.
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.
virtual void delete_client(mongo::DBClientBase *client)=0
Delete a client.
Aspect initializer/finalizer base class.