VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
DtVrfMySqlDatabaseConnection Class Reference

Implements a database connection which will connect to a MySQL server to record any database events logged by VR-Forces.

Inheritance diagram for DtVrfMySqlDatabaseConnection:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtVrfMySqlDatabaseConnection () override
 
- Public Member Functions inherited from DtVrfDatabaseConnection
virtual ~DtVrfDatabaseConnection ()
 
virtual bool initialize (const DtRwDatabaseLoggerConfig &config, DtVrfDatabaseLoggerInterface *dbLogger)
 
virtual void run ()
 

Static Public Member Functions

static DtVrfDatabaseConnectioncreate ()
 
static DtString type ()
 

Protected Member Functions

 DtVrfMySqlDatabaseConnection ()
 
virtual bool processConfiguration (const DtRwDatabaseLoggerConfig &config) override
 
virtual bool connect () override
 
virtual bool createDatabase () override
 
virtual bool createTableForEvent (const DtVrfDatabaseEvent &event) override
 
virtual bool insertOrIgnoreEntriesForEvents (const DtVrfDatabaseEventVector &events) override
 
virtual bool insertOrUpdateEntriesForEvents (const DtVrfDatabaseEventVector &events) override
 
virtual bool updateEntryForEvent (const DtVrfDatabaseEvent &event) override
 
virtual std::string escapeString (std::string str) override
 
- Protected Member Functions inherited from DtVrfDatabaseConnection
 DtVrfDatabaseConnection ()
 
virtual bool stop ()
 

Protected Attributes

DtString myHostIp
 
DtString myUserName
 
DtString myPassword
 
DtString myDatabaseName
 
unsigned myPort
 
MYSQL * myConn
 
- Protected Attributes inherited from DtVrfDatabaseConnection
DtVrfDatabaseLoggerInterfacemyDatabaseLogger
 
double myLogPeriod
 
std::unique_ptr< std::thread > myThread
 
std::vector< boolmyCreatedTables
 
std::atomic< boolmyTimeToStop
 
std::atomic< boolmyStopped
 
LogToDatabaseTask * myTask
 

Private Member Functions

 DtVrfMySqlDatabaseConnection (const DtVrfMySqlDatabaseConnection &other)
 
DtVrfMySqlDatabaseConnectionoperator= (const DtVrfMySqlDatabaseConnection &other)
 

Constructor & Destructor Documentation

virtual DtVrfMySqlDatabaseConnection::~DtVrfMySqlDatabaseConnection ( )
overridevirtual

Destructor.

DtVrfMySqlDatabaseConnection::DtVrfMySqlDatabaseConnection ( )
protected

Constructor.

Referenced by create().

DtVrfMySqlDatabaseConnection::DtVrfMySqlDatabaseConnection ( const DtVrfMySqlDatabaseConnection other)
private

Copy Constructor not implemented – Do Not copy.

Member Function Documentation

static DtVrfDatabaseConnection* DtVrfMySqlDatabaseConnection::create ( )
inlinestatic

Creator function for this class. Should not generally be called directly. Database Connection should be crated by the DtVrfDatabaseLoggerCreator.

References DtVrfMySqlDatabaseConnection().

static DtString DtVrfMySqlDatabaseConnection::type ( void  )
inlinestatic

Type of this connection.

virtual bool DtVrfMySqlDatabaseConnection::processConfiguration ( const DtRwDatabaseLoggerConfig config)
overrideprotectedvirtual

Processes the configuration for this connection.

Reimplemented from DtVrfDatabaseConnection.

virtual bool DtVrfMySqlDatabaseConnection::connect ( )
overrideprotectedvirtual

Connects to the configured MySQL server.

Implements DtVrfDatabaseConnection.

virtual bool DtVrfMySqlDatabaseConnection::createDatabase ( )
overrideprotectedvirtual

Creates the database, if necessary.

Implements DtVrfDatabaseConnection.

virtual bool DtVrfMySqlDatabaseConnection::createTableForEvent ( const DtVrfDatabaseEvent event)
overrideprotectedvirtual

Creates a table a database table, if necessary.

Implements DtVrfDatabaseConnection.

virtual bool DtVrfMySqlDatabaseConnection::insertOrIgnoreEntriesForEvents ( const DtVrfDatabaseEventVector events)
overrideprotectedvirtual

Logs the given events to the database, ignoring duplicates. NOTE: All events in the list must be of the same event type!

Implements DtVrfDatabaseConnection.

virtual bool DtVrfMySqlDatabaseConnection::insertOrUpdateEntriesForEvents ( const DtVrfDatabaseEventVector events)
overrideprotectedvirtual

Logs the given events to the database, updating duplicates. NOTE: All events in the list must be of the same event type!

Implements DtVrfDatabaseConnection.

virtual bool DtVrfMySqlDatabaseConnection::updateEntryForEvent ( const DtVrfDatabaseEvent event)
overrideprotectedvirtual

Updates the given event in the database.

Implements DtVrfDatabaseConnection.

virtual std::string DtVrfMySqlDatabaseConnection::escapeString ( std::string  str)
overrideprotectedvirtual

Escapes the given string for SQLite.

Reimplemented from DtVrfDatabaseConnection.

DtVrfMySqlDatabaseConnection& DtVrfMySqlDatabaseConnection::operator= ( const DtVrfMySqlDatabaseConnection other)
private

Assignment Operator not implemented – Do Not copy.

Member Data Documentation

DtString DtVrfMySqlDatabaseConnection::myHostIp
protected
DtString DtVrfMySqlDatabaseConnection::myUserName
protected
DtString DtVrfMySqlDatabaseConnection::myPassword
protected
DtString DtVrfMySqlDatabaseConnection::myDatabaseName
protected
unsigned DtVrfMySqlDatabaseConnection::myPort
protected
MYSQL* DtVrfMySqlDatabaseConnection::myConn
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)