SNode.C
Loading...
Searching...
No Matches
database::mariadb::MariaDBClient Class Reference

#include <MariaDBClient.h>

Inheritance diagram for database::mariadb::MariaDBClient:
Collaboration diagram for database::mariadb::MariaDBClient:

Public Member Functions

 MariaDBClient (const MariaDBConnectionDetails &details, const std::function< void(const MariaDBState &)> &onStateChanged)
 
 ~MariaDBClient () override
 
- Public Member Functions inherited from database::mariadb::MariaDBClientASyncAPI
MariaDBCommandSequencequery (const std::string &sql, const std::function< void(const MYSQL_ROW)> &onQuery, const std::function< void(const std::string &, unsigned int)> &onError)
 
MariaDBCommandSequenceexec (const std::string &sql, const std::function< void(void)> &onExec, const std::function< void(const std::string &, unsigned int)> &onError)
 
MariaDBCommandSequencestartTransactions (const std::function< void(void)> &onAutoCommit, const std::function< void(const std::string &, unsigned int)> &onError)
 
MariaDBCommandSequenceendTransactions (const std::function< void(void)> &onAutoCommit, const std::function< void(const std::string &, unsigned int)> &onError)
 
MariaDBCommandSequencecommit (const std::function< void(void)> &onCommit, const std::function< void(const std::string &, unsigned int)> &onError)
 
MariaDBCommandSequencerollback (const std::function< void(void)> &onRollback, const std::function< void(const std::string &, unsigned int)> &onError)
 
- Public Member Functions inherited from database::mariadb::MariaDBClientSyncAPI
void affectedRows (const std::function< void(int)> &onAffectedRows, const std::function< void(const std::string &, unsigned int)> &onErro)
 
void fieldCount (const std::function< void(unsigned int)> &onFieldCount, const std::function< void(const std::string &, unsigned int)> &onError)
 

Private Member Functions

MariaDBCommandSequenceexecute_async (MariaDBCommand *mariaDBCommand) final
 
void execute_sync (MariaDBCommandSync *mariaDBCommand) final
 
void connectionVanished ()
 

Private Attributes

MariaDBConnectionmariaDBConnection = nullptr
 
MariaDBConnectionDetails details
 
std::function< void(const MariaDBState &)> onStateChanged = nullptr
 

Friends

class MariaDBConnection
 

Additional Inherited Members

- Protected Member Functions inherited from database::mariadb::MariaDBClientASyncAPI
 MariaDBClientASyncAPI ()=default
 
 MariaDBClientASyncAPI (const MariaDBClientASyncAPI &)=default
 
virtual ~MariaDBClientASyncAPI ()
 
- Protected Member Functions inherited from database::mariadb::MariaDBClientSyncAPI
 MariaDBClientSyncAPI ()=default
 
 MariaDBClientSyncAPI (const MariaDBClientSyncAPI &)=default
 
virtual ~MariaDBClientSyncAPI ()
 
- Protected Attributes inherited from database::mariadb::MariaDBClientASyncAPI
MYSQL_RES * lastResult = nullptr
 

Detailed Description

Definition at line 92 of file MariaDBClient.h.

Constructor & Destructor Documentation

◆ MariaDBClient()

database::mariadb::MariaDBClient::MariaDBClient ( const MariaDBConnectionDetails details,
const std::function< void(const MariaDBState &)> &  onStateChanged 
)
explicit

Definition at line 56 of file MariaDBClient.cpp.

59 }
std::function< void(const MariaDBState &)> onStateChanged
MariaDBConnectionDetails details

References details, and MariaDBClient().

Referenced by MariaDBClient().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~MariaDBClient()

database::mariadb::MariaDBClient::~MariaDBClient ( )
override

Definition at line 61 of file MariaDBClient.cpp.

61 {
62 if (mariaDBConnection != nullptr) {
64 }
65 }
MariaDBConnection * mariaDBConnection

References mariaDBConnection, and database::mariadb::MariaDBConnection::unmanaged().

Here is the call graph for this function:

Member Function Documentation

◆ connectionVanished()

void database::mariadb::MariaDBClient::connectionVanished ( )
private

Definition at line 83 of file MariaDBClient.cpp.

83 {
84 mariaDBConnection = nullptr;
85 }

References mariaDBConnection.

◆ execute_async()

MariaDBCommandSequence & database::mariadb::MariaDBClient::execute_async ( MariaDBCommand mariaDBCommand)
finalprivatevirtual

Implements database::mariadb::MariaDBClientASyncAPI.

Definition at line 67 of file MariaDBClient.cpp.

67 {
68 if (mariaDBConnection == nullptr) {
70 }
71
72 return mariaDBConnection->execute_async(std::move(MariaDBCommandSequence().execute_async(mariaDBCommand)));
73 }
MariaDBCommandSequence & execute_async(MariaDBCommand *mariaDBCommand) final
MariaDBCommandSequence & execute_async(MariaDBCommandSequence &&commandSequence)

References database::mariadb::MariaDBCommandSequence::execute_async(), database::mariadb::MariaDBConnection::execute_async(), database::mariadb::MariaDBCommandSequence::MariaDBCommandSequence(), and mariaDBConnection.

Here is the call graph for this function:

◆ execute_sync()

void database::mariadb::MariaDBClient::execute_sync ( MariaDBCommandSync mariaDBCommand)
finalprivatevirtual

Implements database::mariadb::MariaDBClientSyncAPI.

Definition at line 75 of file MariaDBClient.cpp.

75 {
76 if (mariaDBConnection == nullptr) {
78 }
79
80 mariaDBConnection->execute_sync(mariaDBCommand);
81 }
void execute_sync(MariaDBCommand *mariaDBCommand)

References database::mariadb::MariaDBConnection::execute_sync(), and mariaDBConnection.

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ MariaDBConnection

friend class MariaDBConnection
friend

Definition at line 111 of file MariaDBClient.h.

Member Data Documentation

◆ details

MariaDBConnectionDetails database::mariadb::MariaDBClient::details
private

Definition at line 107 of file MariaDBClient.h.

Referenced by MariaDBClient().

◆ mariaDBConnection

MariaDBConnection* database::mariadb::MariaDBClient::mariaDBConnection = nullptr
private

Definition at line 105 of file MariaDBClient.h.

Referenced by connectionVanished(), execute_async(), execute_sync(), and ~MariaDBClient().

◆ onStateChanged

std::function<void(const MariaDBState&)> database::mariadb::MariaDBClient::onStateChanged = nullptr
private

Definition at line 109 of file MariaDBClient.h.


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