Trippin Cyril
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Protected Attributes | List of all members
trippingcyril::database::Database Class Referenceabstract

Database interface. More...

#include <Database.h>

Inheritance diagram for trippingcyril::database::Database:
[legend]
Collaboration diagram for trippingcyril::database::Database:
[legend]

Public Member Functions

 Database (const Module *pModule=NULL)
 
virtual ~Database ()
 
virtual void SelectLamdba (const String &query, const DBLamdbaCallback &callback, const DBLamdbaErrorCallback &errorcallback=nullptr)
 Do a select operation but use a lamdba as a callback instead of a DBCallback class. More...
 
virtual void InsertLamdba (const String &query, const DBLamdbaCallback &callback, const DBLamdbaErrorCallback &errorcallback=nullptr)
 Do a select operation but use a lamdba as a callback instead of a DBCallback class. More...
 
virtual const DBResultSelect (const String &query, DBCallback *callback=NULL)=0
 Do or queue (depends on implementation) a select operation. More...
 
virtual const DBResultInsert (const String &query, DBCallback *callback=NULL)=0
 Do or queue (depends on implementation) an insert operation. More...
 
virtual bool isIdle () const =0
 
void enableAutoCommit ()
 Enables auto commiting. More...
 
void disableAutoCommit ()
 Enables auto commiting. More...
 
virtual void SetStayConnected (bool b)
 
- Public Member Functions inherited from trippingcyril::trippingcyril::Event
 Event (const Module *module)
 
virtual ~Event ()
 
const ModuleGetModule () const
 

Protected Attributes

bool _autocommit: 1
 
bool _stay_connected: 1
 
- Protected Attributes inherited from trippingcyril::trippingcyril::Event
const Modulemodule
 

Additional Inherited Members

- Protected Member Functions inherited from trippingcyril::trippingcyril::Event
event_base * GetEventBase () const
 
evdns_base * GetDNSBase () const
 

Detailed Description

Database interface.

Constructor & Destructor Documentation

trippingcyril::database::Database::Database ( const Module pModule = NULL)
inline

General constructor

Parameters
pModuleThe module to register this database on
virtual trippingcyril::database::Database::~Database ( )
inlinevirtual

Member Function Documentation

void trippingcyril::database::Database::disableAutoCommit ( )
inline

Enables auto commiting.

void trippingcyril::database::Database::enableAutoCommit ( )
inline

Enables auto commiting.

virtual const DBResult* trippingcyril::database::Database::Insert ( const String query,
DBCallback callback = NULL 
)
pure virtual

Do or queue (depends on implementation) an insert operation.

Parameters
queryThe query to execute
callbackThe callback you would like bundled with this query
Returns
Either the result of a query or just NULL

Implemented in trippingcyril::database::postgres::BlockingPostGres, and trippingcyril::database::postgres::PostGres.

virtual void trippingcyril::database::Database::InsertLamdba ( const String query,
const DBLamdbaCallback callback,
const DBLamdbaErrorCallback errorcallback = nullptr 
)
inlinevirtual

Do a select operation but use a lamdba as a callback instead of a DBCallback class.

Parameters
queryThe query to execute
callbackThe sucess callback
errorcallbackThe errorcallback
Note
Requires C++11
In case you're implementing the database class you are not required to do anything special, however if you want you may do so anyway.

Reimplemented in trippingcyril::database::postgres::PostGres.

virtual bool trippingcyril::database::Database::isIdle ( ) const
pure virtual
virtual const DBResult* trippingcyril::database::Database::Select ( const String query,
DBCallback callback = NULL 
)
pure virtual

Do or queue (depends on implementation) a select operation.

Parameters
queryThe query to execute
callbackThe callback you would like bundled with this query
Returns
Either the result of a query or just NULL

Implemented in trippingcyril::database::postgres::BlockingPostGres, and trippingcyril::database::postgres::PostGres.

virtual void trippingcyril::database::Database::SelectLamdba ( const String query,
const DBLamdbaCallback callback,
const DBLamdbaErrorCallback errorcallback = nullptr 
)
inlinevirtual

Do a select operation but use a lamdba as a callback instead of a DBCallback class.

Parameters
queryThe query to execute
callbackThe sucess callback
errorcallbackThe errorcallback
Note
Requires C++11
In case you're implementing the database class you are not required to do anything special, however if you want you may do so anyway.

Reimplemented in trippingcyril::database::postgres::PostGres.

virtual void trippingcyril::database::Database::SetStayConnected ( bool  b)
inlinevirtual

Set the stay connected mode on or off

Reimplemented in trippingcyril::database::postgres::PostGres.

Member Data Documentation

bool trippingcyril::database::Database::_autocommit
protected

Marks if we should use autocommit or not

bool trippingcyril::database::Database::_stay_connected
protected

Marks if we should stay connected or not


The documentation for this class was generated from the following file: