/* * * Copyright 2016 gRPC authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ #ifndef GRPC_TEST_CPP_UTIL_CLI_CREDENTIALS_H #define GRPC_TEST_CPP_UTIL_CLI_CREDENTIALS_H #include #include namespace grpc { namespace testing { class CliCredentials { public: virtual ~CliCredentials() {} std::shared_ptr GetCredentials() const; virtual const std::string GetCredentialUsage() const; virtual const std::string GetSslTargetNameOverride() const; protected: // Returns the appropriate channel_creds_type value for the set of legacy // flag arguments. virtual std::string GetDefaultChannelCredsType() const; // Returns the appropriate call_creds value for the set of legacy flag // arguments. virtual std::string GetDefaultCallCreds() const; // Returns the base transport channel credentials. Child classes can override // to support additional channel_creds_types unknown to this base class. virtual std::shared_ptr GetChannelCredentials() const; // Returns call credentials to composite onto the base transport channel // credentials. Child classes can override to support additional // authentication flags unknown to this base class. virtual std::shared_ptr GetCallCredentials() const; }; } // namespace testing } // namespace grpc #endif // GRPC_TEST_CPP_UTIL_CLI_CREDENTIALS_H