class CertificateProviderFactory {
public:
// Interface for configs for CertificateProviders.
- class Config : public RefCounted<Config> {
+ class Config {
public:
- ~Config() override = default;
+ virtual ~Config() = default;
// Name of the type of the CertificateProvider. Unique to each type of
// config.
// Name of the plugin.
virtual const char* name() const = 0;
- virtual RefCountedPtr<Config> CreateCertificateProviderConfig(
+ virtual std::unique_ptr<Config> CreateCertificateProviderConfig(
const Json& config_json, grpc_error** error) = 0;
// Create a CertificateProvider instance from config.
virtual RefCountedPtr<grpc_tls_certificate_provider>
- CreateCertificateProvider(RefCountedPtr<Config> config) = 0;
+ CreateCertificateProvider(std::unique_ptr<Config> config) = 0;
};
} // namespace grpc_core