MySQL
8.0.40
Source Code Documentation
debug_options.h
Go to the documentation of this file.
1
/*
2
Copyright (c) 2014, 2024, Oracle and/or its affiliates.
3
4
This program is free software; you can redistribute it and/or modify
5
it under the terms of the GNU General Public License, version 2.0,
6
as published by the Free Software Foundation.
7
8
This program is designed to work with certain software (including
9
but not limited to OpenSSL) that is licensed under separate terms,
10
as designated in a particular file or component or in included license
11
documentation. The authors of MySQL hereby grant you an additional
12
permission to link the program and your derivative works with the
13
separately licensed software that they have either included with
14
the program or referenced in the documentation.
15
16
This program is distributed in the hope that it will be useful,
17
but WITHOUT ANY WARRANTY; without even the implied warranty of
18
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
GNU General Public License, version 2.0, for more details.
20
21
You should have received a copy of the GNU General Public License
22
along with this program; if not, write to the Free Software
23
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24
*/
25
26
#ifndef DEBUG_OPTIONS_INCLUDED
27
#define DEBUG_OPTIONS_INCLUDED
28
29
#include <optional>
30
31
#include "
client/base/abstract_options_provider.h
"
32
#include "
my_compiler.h
"
33
34
namespace
Mysql
{
35
namespace
Tools {
36
namespace
Base {
37
38
class
Abstract_program;
39
40
namespace
Options
{
41
42
/**
43
Options provider providing debugging options.
44
*/
45
class
Debug_options
:
public
Abstract_options_provider
{
46
public
:
47
/**
48
Constructs new debug options provider.
49
@param program Pointer to main program class.
50
*/
51
explicit
Debug_options
(
Abstract_program
*program);
52
/**
53
Creates all options that will be provided.
54
Implementation of Abstract_options_provider virtual method.
55
*/
56
void
create_options
()
override
;
57
/**
58
Callback to be called when command-line options parsing have finished.
59
*/
60
void
options_parsed
()
override
;
61
62
private
:
63
void
debug_option_callback
(
char
*argument [[maybe_unused]]);
64
65
Abstract_program
*
m_program
;
66
bool
m_debug_info_flag
{
false
};
67
bool
m_debug_check_flag
{
false
};
68
std::optional<std::string>
m_dbug_option
;
69
};
70
71
}
// namespace Options
72
}
// namespace Base
73
}
// namespace Tools
74
}
// namespace Mysql
75
76
#endif
abstract_options_provider.h
Mysql::Tools::Base::Abstract_program
Base class for all MySQL client tools.
Definition:
abstract_program.h:47
Mysql::Tools::Base::Options::Abstract_options_provider
Common abstract class for options providers.
Definition:
abstract_options_provider.h:55
Mysql::Tools::Base::Options::Debug_options
Options provider providing debugging options.
Definition:
debug_options.h:45
Mysql::Tools::Base::Options::Debug_options::m_debug_check_flag
bool m_debug_check_flag
Definition:
debug_options.h:67
Mysql::Tools::Base::Options::Debug_options::m_program
Abstract_program * m_program
Definition:
debug_options.h:65
Mysql::Tools::Base::Options::Debug_options::create_options
void create_options() override
Creates all options that will be provided.
Definition:
debug_options.cc:57
Mysql::Tools::Base::Options::Debug_options::debug_option_callback
void debug_option_callback(char *argument)
Definition:
debug_options.cc:81
Mysql::Tools::Base::Options::Debug_options::options_parsed
void options_parsed() override
Callback to be called when command-line options parsing have finished.
Definition:
debug_options.cc:88
Mysql::Tools::Base::Options::Debug_options::m_debug_info_flag
bool m_debug_info_flag
Definition:
debug_options.h:66
Mysql::Tools::Base::Options::Debug_options::m_dbug_option
std::optional< std::string > m_dbug_option
Definition:
debug_options.h:68
Mysql::Tools::Base::Options::Debug_options::Debug_options
Debug_options(Abstract_program *program)
Constructs new debug options provider.
Definition:
debug_options.cc:45
my_compiler.h
Header for compiler-dependent features.
HttpMethod::Pos::Options
constexpr pos_type Options
Definition:
http_request.h:261
Mysql
Definition:
abstract_connection_program.h:38
client
base
debug_options.h
Generated by
1.9.2