IoC interface to allow abstraction of MySQL Client API.
More...
#include <gcs_mysql_network_provider.h>
|
virtual | ~Gcs_mysql_network_provider_native_interface () |
|
virtual MYSQL * | mysql_real_connect (MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long clientflag)=0 |
| Proxy method to mysql_real_connect from the MySQL client API. More...
|
|
virtual bool | send_command (MYSQL *mysql, enum enum_server_command command, const unsigned char *arg, size_t length, bool skip_check)=0 |
| Proxy method to simple_command from the MySQL client API. More...
|
|
virtual MYSQL * | mysql_init (MYSQL *sock)=0 |
| Proxy method to mysql_init from the MySQL Client API. More...
|
|
virtual void | mysql_close (MYSQL *sock)=0 |
| Proxy method to mysql_close from the MySQL Client API. More...
|
|
virtual int | channel_get_network_namespace (std::string &net_ns)=0 |
| Method to get the network namespace configured for a channel. More...
|
|
virtual bool | set_network_namespace (const std::string &network_namespace)=0 |
| Set active network namespace specified by a name. More...
|
|
virtual bool | restore_original_network_namespace ()=0 |
| Restore original network namespace used to be active before a new network namespace has been set. More...
|
|
virtual void | mysql_free (void *ptr)=0 |
| Proxy method to mysql_free from the MySQL Memory API. More...
|
|
virtual int | mysql_options (MYSQL *mysql, enum mysql_option option, const void *arg)=0 |
| Proxy method to mysql_options from the MySQL Memory API. More...
|
|
virtual bool | mysql_ssl_set (MYSQL *mysql, const char *key, const char *cert, const char *ca, const char *capath, const char *cipher)=0 |
| Proxy method to mysql_ssl_set from the MySQL Memory API. More...
|
|
IoC interface to allow abstraction of MySQL Client API.
◆ ~Gcs_mysql_network_provider_native_interface()
virtual Gcs_mysql_network_provider_native_interface::~Gcs_mysql_network_provider_native_interface |
( |
| ) |
|
|
inlinevirtual |
◆ channel_get_network_namespace()
virtual int Gcs_mysql_network_provider_native_interface::channel_get_network_namespace |
( |
std::string & |
net_ns | ) |
|
|
pure virtual |
Method to get the network namespace configured for a channel.
- Parameters
-
[out] | net_ns | The network namespace to extract |
- Returns
- the operation status
- Return values
-
false | OK |
true | Error, channel not found |
Implemented in Gcs_mysql_network_provider_native_interface_impl.
◆ mysql_close()
virtual void Gcs_mysql_network_provider_native_interface::mysql_close |
( |
MYSQL * |
sock | ) |
|
|
pure virtual |
◆ mysql_free()
virtual void Gcs_mysql_network_provider_native_interface::mysql_free |
( |
void * |
ptr | ) |
|
|
pure virtual |
◆ mysql_init()
virtual MYSQL * Gcs_mysql_network_provider_native_interface::mysql_init |
( |
MYSQL * |
sock | ) |
|
|
pure virtual |
◆ mysql_options()
virtual int Gcs_mysql_network_provider_native_interface::mysql_options |
( |
MYSQL * |
mysql, |
|
|
enum mysql_option |
option, |
|
|
const void * |
arg |
|
) |
| |
|
pure virtual |
Proxy method to mysql_options from the MySQL Memory API.
- Parameters
-
mysql | connection to set an option |
option | option to set |
arg | value of the option to set |
- Returns
- int > 0 in case of error.
Implemented in Gcs_mysql_network_provider_native_interface_impl.
◆ mysql_real_connect()
virtual MYSQL * Gcs_mysql_network_provider_native_interface::mysql_real_connect |
( |
MYSQL * |
mysql, |
|
|
const char * |
host, |
|
|
const char * |
user, |
|
|
const char * |
passwd, |
|
|
const char * |
db, |
|
|
unsigned int |
port, |
|
|
const char * |
unix_socket, |
|
|
unsigned long |
clientflag |
|
) |
| |
|
pure virtual |
Proxy method to mysql_real_connect from the MySQL client API.
- Parameters
-
mysql | mysql client connection reference. Must have been initializaed with mysql_init |
host | hostname to connect |
user | username for the connection |
passwd | password for the connection |
db | database/schema to use |
port | remote port to connect |
unix_socket | unix socket file (if applicable) |
clientflag | client flags |
- Returns
- MYSQL* a mysql client connection.
Implemented in Gcs_mysql_network_provider_native_interface_impl.
◆ mysql_ssl_set()
virtual bool Gcs_mysql_network_provider_native_interface::mysql_ssl_set |
( |
MYSQL * |
mysql, |
|
|
const char * |
key, |
|
|
const char * |
cert, |
|
|
const char * |
ca, |
|
|
const char * |
capath, |
|
|
const char * |
cipher |
|
) |
| |
|
pure virtual |
Proxy method to mysql_ssl_set from the MySQL Memory API.
- Parameters
-
mysql | connection to set SSL options |
key | connection key |
cert | connection certificate |
ca | connection CA |
capath | the CA path |
cipher | cipher to use |
- Returns
- true in case of error;
-
false otherwise.
Implemented in Gcs_mysql_network_provider_native_interface_impl.
◆ restore_original_network_namespace()
virtual bool Gcs_mysql_network_provider_native_interface::restore_original_network_namespace |
( |
| ) |
|
|
pure virtual |
◆ send_command()
virtual bool Gcs_mysql_network_provider_native_interface::send_command |
( |
MYSQL * |
mysql, |
|
|
enum enum_server_command |
command, |
|
|
const unsigned char * |
arg, |
|
|
size_t |
length, |
|
|
bool |
skip_check |
|
) |
| |
|
pure virtual |
Proxy method to simple_command from the MySQL client API.
- Parameters
-
mysql | an active MySQL connection |
command | the command to send |
arg | command arguments |
length | length of the arguments |
skip_check | skip checking the command |
- Returns
- true in case of error. false, otherwise
Implemented in Gcs_mysql_network_provider_native_interface_impl.
◆ set_network_namespace()
virtual bool Gcs_mysql_network_provider_native_interface::set_network_namespace |
( |
const std::string & |
network_namespace | ) |
|
|
pure virtual |
Set active network namespace specified by a name.
- Parameters
-
network_namespace | the name of a network namespace to be set active |
- Returns
- false on success, true on error
- Note
- all opened descriptors used during function run are closed on error
Implemented in Gcs_mysql_network_provider_native_interface_impl.
The documentation for this class was generated from the following file: