Add channel arg helper for string

pull/14429/head
ncteisen 7 years ago
parent 874f8128cd
commit 08caf82e8d
  1. 9
      src/core/lib/channel/channel_args.cc
  2. 4
      src/core/lib/channel/channel_args.h

@ -354,6 +354,15 @@ int grpc_channel_arg_get_integer(const grpc_arg* arg,
return arg->value.integer;
}
char* grpc_channel_arg_get_string(const grpc_arg* arg) {
if (arg == nullptr) return nullptr;
if (arg->type != GRPC_ARG_STRING) {
gpr_log(GPR_ERROR, "%s ignored: it must be an string", arg->key);
return nullptr;
}
return arg->value.string;
}
bool grpc_channel_arg_get_bool(const grpc_arg* arg, bool default_value) {
if (arg == nullptr) return default_value;
if (arg->type != GRPC_ARG_INTEGER) {

@ -109,6 +109,10 @@ typedef struct grpc_integer_options {
int grpc_channel_arg_get_integer(const grpc_arg* arg,
const grpc_integer_options options);
/** Returns the value of \a arg if \a arg is of type GRPC_ARG_STRING.
Otherwise, emits a warning log, and returns nullptr */
char* grpc_channel_arg_get_string(const grpc_arg* arg);
bool grpc_channel_arg_get_bool(const grpc_arg* arg, bool default_value);
// Helpers for creating channel args.

Loading…
Cancel
Save