MySQL
9.1.0
Source Code Documentation
keyring_load_service_definition.h
Go to the documentation of this file.
1
/* Copyright (c) 2021, 2024, Oracle and/or its affiliates.
2
3
This program is free software; you can redistribute it and/or modify
4
it under the terms of the GNU General Public License, version 2.0,
5
as published by the Free Software Foundation.
6
7
This program is designed to work with certain software (including
8
but not limited to OpenSSL) that is licensed under separate terms,
9
as designated in a particular file or component or in included license
10
documentation. The authors of MySQL hereby grant you an additional
11
permission to link the program and your derivative works with the
12
separately licensed software that they have either included with
13
the program or referenced in the documentation.
14
15
This program is distributed in the hope that it will be useful,
16
but WITHOUT ANY WARRANTY; without even the implied warranty of
17
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
GNU General Public License, version 2.0, for more details.
19
20
You should have received a copy of the GNU General Public License
21
along with this program; if not, write to the Free Software
22
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
23
24
#ifndef KEYRING_LOAD_SERVICE_DEFINITION_INCLUDED
25
#define KEYRING_LOAD_SERVICE_DEFINITION_INCLUDED
26
27
#include <
mysql/components/component_implementation.h
>
28
#include <
mysql/components/service_implementation.h
>
29
30
#include <
mysql/components/services/keyring_load.h
>
31
32
namespace
keyring_common::service_definition
{
33
34
class
Keyring_load_service_impl
{
35
public
:
36
/**
37
Initialize keyring
38
39
@param [in] component_path Path to component's shared library
40
@param [in] instance_path Path for instance specific configuration
41
42
@retval Status of the operation
43
@retval false Success
44
@retval true Failure
45
*/
46
47
static
DEFINE_BOOL_METHOD
(
load
, (
const
char
*component_path,
48
const
char
*instance_path));
49
};
50
51
}
// namespace keyring_common::service_definition
52
53
#define KEYRING_LOAD_IMPLEMENTOR(component_name) \
54
BEGIN_SERVICE_IMPLEMENTATION(component_name, keyring_load) \
55
keyring_common::service_definition::Keyring_load_service_impl::load \
56
END_SERVICE_IMPLEMENTATION()
57
58
#endif
// !KEYRING_LOAD_SERVICE_DEFINITION_INCLUDED
keyring_common::service_definition::Keyring_load_service_impl
Definition:
keyring_load_service_definition.h:34
keyring_common::service_definition::Keyring_load_service_impl::load
static mysql_service_status_t load(const char *component_path, const char *instance_path) noexcept
Initialize keyring.
Definition:
keyring_load_service_definition.cc:36
component_implementation.h
Specifies macros to define Components.
keyring_load.h
keyring_common::service_definition
Definition:
keyring_encryption_service_definition.h:32
service_implementation.h
Specifies macros to define Service Implementations.
DEFINE_BOOL_METHOD
#define DEFINE_BOOL_METHOD(name, args)
A short macro to define method that returns bool, which is the most common case.
Definition:
service_implementation.h:88
components
keyrings
common
component_helpers
include
keyring_load_service_definition.h
Generated by
1.9.2