19 #ifndef GRPC_CORE_LIB_SECURITY_CREDENTIALS_TLS_GRPC_TLS_CREDENTIALS_OPTIONS_H
20 #define GRPC_CORE_LIB_SECURITY_CREDENTIALS_TLS_GRPC_TLS_CREDENTIALS_OPTIONS_H
40 return pem_key_cert_pair_list_;
49 pem_key_cert_pair_list_.
push_back(pem_key_cert_pair);
66 const void* config_user_data,
67 int (*schedule)(
void* config_user_data,
69 void (*cancel)(
void* config_user_data,
71 void (*destruct)(
void* config_user_data));
74 void*
context()
const {
return context_; }
78 if (schedule_ ==
nullptr) {
83 gpr_strdup(
"schedule API in credential reload config is nullptr");
90 return schedule_(config_user_data_, arg);
93 if (cancel_ ==
nullptr) {
98 gpr_strdup(
"cancel API in credential reload config is nullptr");
102 if (arg !=
nullptr) {
105 cancel_(config_user_data_, arg);
113 void* context_ =
nullptr;
116 void* config_user_data_;
134 void (*destruct_)(
void* config_user_data);
142 const void* config_user_data,
143 int (*schedule)(
void* config_user_data,
145 void (*cancel)(
void* config_user_data,
147 void (*destruct)(
void* config_user_data));
154 if (schedule_ ==
nullptr) {
156 if (arg !=
nullptr) {
159 "schedule API in server authorization check config is nullptr");
163 if (arg !=
nullptr && context_ !=
nullptr) {
167 return schedule_(config_user_data_, arg);
170 if (cancel_ ==
nullptr) {
172 if (arg !=
nullptr) {
175 "schedule API in server authorization check config is nullptr");
179 if (arg !=
nullptr) {
183 cancel_(config_user_data_, arg);
191 void* context_ =
nullptr;
194 void* config_user_data_;
205 int (*schedule_)(
void* config_user_data,
209 void (*cancel_)(
void* config_user_data,
214 void (*destruct_)(
void* config_user_data);
222 if (key_materials_config_.
get() !=
nullptr) {
223 key_materials_config_.
get()->
Unref();
225 if (credential_reload_config_.
get() !=
nullptr) {
226 credential_reload_config_.
get()->
Unref();
228 if (server_authorization_check_config_.
get() !=
nullptr) {
229 server_authorization_check_config_.
get()->
Unref();
235 return cert_request_type_;
238 return key_materials_config_.
get();
241 return credential_reload_config_.
get();
245 return server_authorization_check_config_.
get();
251 cert_request_type_ = type;
255 key_materials_config_ = std::move(config);
259 credential_reload_config_ = std::move(config);
264 server_authorization_check_config_ = std::move(config);
271 credential_reload_config_;
273 server_authorization_check_config_;
void push_back(const T &value)
Definition: inlined_vector.h:153
Definition: ssl_utils.h:129
Definition: ref_counted.h:248
void Unref()
Definition: ref_counted.h:268
T * get() const
Definition: ref_counted_ptr.h:144
grpc_ssl_client_certificate_request_type
Definition: grpc_security_constants.h:59
@ GRPC_SSL_CERTIFICATE_CONFIG_RELOAD_FAIL
Definition: grpc_security_constants.h:56
#define GPR_ERROR
Definition: log.h:57
GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4
Log a message.
@ GRPC_STATUS_NOT_FOUND
Some requested entity (e.g., file or directory) was not found.
Definition: status.h:54
std::unique_ptr< T, DefaultDeleteChar > UniquePtr
Definition: memory.h:45
GPRAPI char * gpr_strdup(const char *src)
String utility functions.
Definition: string.cc:37
A struct containing all information necessary to schedule/cancel a credential reload request.
Definition: grpc_security.h:825
grpc_ssl_certificate_config_reload_status status
Definition: grpc_security.h:829
grpc_tls_credential_reload_config * config
Definition: grpc_security.h:831
const char * error_details
Definition: grpc_security.h:830
TLS credential reload config.
Definition: grpc_tls_credentials_options.h:63
void set_context(void *context)
Definition: grpc_tls_credentials_options.h:75
int Schedule(grpc_tls_credential_reload_arg *arg) const
Definition: grpc_tls_credentials_options.h:77
grpc_tls_credential_reload_config(const void *config_user_data, int(*schedule)(void *config_user_data, grpc_tls_credential_reload_arg *arg), void(*cancel)(void *config_user_data, grpc_tls_credential_reload_arg *arg), void(*destruct)(void *config_user_data))
– gRPC TLS credential reload config API implementation.
Definition: grpc_tls_credentials_options.cc:39
void * context() const
Definition: grpc_tls_credentials_options.h:74
void Cancel(grpc_tls_credential_reload_arg *arg) const
Definition: grpc_tls_credentials_options.h:92
~grpc_tls_credential_reload_config()
Definition: grpc_tls_credentials_options.cc:50
Definition: grpc_tls_credentials_options.h:219
void set_key_materials_config(grpc_core::RefCountedPtr< grpc_tls_key_materials_config > config)
Definition: grpc_tls_credentials_options.h:253
void set_server_authorization_check_config(grpc_core::RefCountedPtr< grpc_tls_server_authorization_check_config > config)
Definition: grpc_tls_credentials_options.h:261
grpc_ssl_client_certificate_request_type cert_request_type() const
Definition: grpc_tls_credentials_options.h:234
grpc_tls_credential_reload_config * credential_reload_config() const
Definition: grpc_tls_credentials_options.h:240
void set_cert_request_type(const grpc_ssl_client_certificate_request_type type)
Definition: grpc_tls_credentials_options.h:249
grpc_tls_server_authorization_check_config * server_authorization_check_config() const
Definition: grpc_tls_credentials_options.h:244
void set_credential_reload_config(grpc_core::RefCountedPtr< grpc_tls_credential_reload_config > config)
Definition: grpc_tls_credentials_options.h:257
~grpc_tls_credentials_options()
Definition: grpc_tls_credentials_options.h:221
grpc_tls_key_materials_config * key_materials_config() const
Definition: grpc_tls_credentials_options.h:237
TLS key materials config.
Definition: grpc_tls_credentials_options.h:32
void set_version(int version)
Definition: grpc_tls_credentials_options.h:53
grpc_core::InlinedVector< grpc_core::PemKeyCertPair, 1 > PemKeyCertPairList
Definition: grpc_tls_credentials_options.h:35
void add_pem_key_cert_pair(grpc_core::PemKeyCertPair pem_key_cert_pair)
Definition: grpc_tls_credentials_options.h:48
void set_pem_root_certs(grpc_core::UniquePtr< char > pem_root_certs)
Setters for member fields.
Definition: grpc_tls_credentials_options.h:45
const PemKeyCertPairList & pem_key_cert_pair_list() const
Definition: grpc_tls_credentials_options.h:39
const char * pem_root_certs() const
Getters for member fields.
Definition: grpc_tls_credentials_options.h:38
void set_key_materials(grpc_core::UniquePtr< char > pem_root_certs, PemKeyCertPairList pem_key_cert_pair_list)
– gRPC TLS key materials config API implementation.
Definition: grpc_tls_credentials_options.cc:31
int version() const
Definition: grpc_tls_credentials_options.h:42
A struct containing all information necessary to schedule/cancel a server authorization check request...
Definition: grpc_security.h:899
const char * error_details
Definition: grpc_security.h:906
grpc_tls_server_authorization_check_config * config
Definition: grpc_security.h:907
grpc_status_code status
Definition: grpc_security.h:905
TLS server authorization check config.
Definition: grpc_tls_credentials_options.h:139
~grpc_tls_server_authorization_check_config()
Definition: grpc_tls_credentials_options.cc:71
void * context() const
Definition: grpc_tls_credentials_options.h:150
void Cancel(grpc_tls_server_authorization_check_arg *arg) const
Definition: grpc_tls_credentials_options.h:169
int Schedule(grpc_tls_server_authorization_check_arg *arg) const
Definition: grpc_tls_credentials_options.h:153
grpc_tls_server_authorization_check_config(const void *config_user_data, int(*schedule)(void *config_user_data, grpc_tls_server_authorization_check_arg *arg), void(*cancel)(void *config_user_data, grpc_tls_server_authorization_check_arg *arg), void(*destruct)(void *config_user_data))
– gRPC TLS server authorization check API implementation.
Definition: grpc_tls_credentials_options.cc:58
void set_context(void *context)
Definition: grpc_tls_credentials_options.h:151