MySQL 8.0.32
Source Code Documentation
Mysql::Tools::Base::Abstract_connection_program Class Reference

Base class for all programs that use connection to MySQL database server. More...

#include <abstract_connection_program.h>

Inheritance diagram for Mysql::Tools::Base::Abstract_connection_program:
[legend]

Public Member Functions

MYSQLcreate_connection () override
 Provides new connection to MySQL database server based on option values. More...
 
CHARSET_INFOget_current_charset () const
 Retrieves charset that will be used in new MySQL connections. More...
 
void set_current_charset (CHARSET_INFO *charset)
 Sets charset that will be used in new MySQL connections. More...
 
- Public Member Functions inherited from Mysql::Tools::Base::Abstract_program
 ~Abstract_program () override
 
const std::string get_name ()
 Returns null-terminated string with name of current program. More...
 
my_optionget_options_array ()
 Returns pointer to array of options for usage in handle_options. More...
 
void run (int argc, char **argv)
 Does all initialization and exit work, calls execute(). More...
 
virtual std::string get_version ()=0
 Returns string describing current version of this program. More...
 
virtual int get_first_release_year ()=0
 Returns year of first release of this program. More...
 
virtual std::string get_description ()=0
 Returns string describing shortly current program. More...
 
virtual void error (const Message_data &message)=0
 Handles general errors. More...
 
virtual int execute (const std::vector< std::string > &positional_options)=0
 Runs main program code. More...
 
virtual void short_usage ()=0
 Prints program invocation message. More...
 
virtual int get_error_code ()=0
 Return error code. More...
 
- Public Member Functions inherited from Mysql::Tools::Base::Options::Composite_options_provider
void add_providers (I_options_provider *first,...)
 Adds new providers to list. More...
 
void add_provider (I_options_provider *options_provider)
 Adds new provider to list. More...
 
void options_parsed () override
 This callback is to be called after all options were parsed. More...
 
std::vector< my_optiongenerate_options () override
 Aggregates all options from itsself and all contained providers. More...
 
- Public Member Functions inherited from Mysql::Tools::Base::Options::Abstract_options_provider
Simple_optioncreate_new_option (std::string name, std::string description)
 Creates and attach new simple option. More...
 
Disabled_optioncreate_new_disabled_option (std::string name, std::string description)
 Creates and attach new disabled option. More...
 
Char_array_optioncreate_new_option (char **value, std::string name, std::string description)
 Creates and attach new string option stored in char* type object. More...
 
Password_optioncreate_new_password_option (std::optional< std::string > *value, std::string name, std::string description)
 Creates and attach new password option. More...
 
String_optioncreate_new_option (std::optional< std::string > *value, std::string name, std::string description)
 Creates and attach new string option. More...
 
Number_option< int32 > * create_new_option (int32 *value, std::string name, std::string description)
 Creates and attach new 32-bit signed number option. More...
 
Number_option< uint32 > * create_new_option (uint32 *value, std::string name, std::string description)
 Creates and attach new 32-bit unsigned number option. More...
 
Number_option< int64 > * create_new_option (int64 *value, std::string name, std::string description)
 Creates and attach new 64-bit signed number option. More...
 
Number_option< uint64 > * create_new_option (uint64 *value, std::string name, std::string description)
 Creates and attach new 64-bit unsigned number option. More...
 
Number_option< double > * create_new_option (double *value, std::string name, std::string description)
 Creates and attach new floating-point number option. More...
 
Bool_optioncreate_new_option (bool *value, std::string name, std::string description)
 Creates and attach new boolean option with value received from argument. More...
 
template<typename T_type , typename T_typelib >
Enum_option< T_type, T_typelib > * create_new_enum_option (T_type *value, const T_typelib *type, std::string name, std::string description)
 
virtual void create_options ()=0
 Creates all options that will be provided. More...
 
- Public Member Functions inherited from Mysql::Tools::Base::Options::I_option_changed_listener
virtual ~I_option_changed_listener ()=default
 
- Public Member Functions inherited from Mysql::Tools::Base::I_connection_factory
virtual ~I_connection_factory ()=default
 

Protected Member Functions

 Abstract_connection_program ()
 
- Protected Member Functions inherited from Mysql::Tools::Base::Abstract_program
 Abstract_program ()
 
- Protected Member Functions inherited from Mysql::Tools::Base::Options::Abstract_options_provider
 Abstract_options_provider ()
 
 ~Abstract_options_provider () override
 
void set_option_changed_listener (I_option_changed_listener *listener) override
 Sets optional option changes listener to which all changes in all options contained in this provider should be reported. More...
 

Private Attributes

Options::Mysql_connection_options m_connection_options
 

Detailed Description

Base class for all programs that use connection to MySQL database server.

Constructor & Destructor Documentation

◆ Abstract_connection_program()

Abstract_connection_program::Abstract_connection_program ( )
protected

Member Function Documentation

◆ create_connection()

MYSQL * Abstract_connection_program::create_connection ( )
overridevirtual

Provides new connection to MySQL database server based on option values.

Implementation of I_connection_factory interface.

Implements Mysql::Tools::Base::I_connection_factory.

◆ get_current_charset()

CHARSET_INFO * Abstract_connection_program::get_current_charset ( ) const

Retrieves charset that will be used in new MySQL connections.

Can be NULL if none was set explicitly.

◆ set_current_charset()

void Abstract_connection_program::set_current_charset ( CHARSET_INFO charset)

Sets charset that will be used in new MySQL connections.

Member Data Documentation

◆ m_connection_options

Options::Mysql_connection_options Mysql::Tools::Base::Abstract_connection_program::m_connection_options
private

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