Imported Upstream version 1.33.1
[platform/upstream/grpc.git] / src / core / ext / xds / certificate_provider_factory.h
index 1a43456..244fdd9 100644 (file)
@@ -32,9 +32,9 @@ namespace grpc_core {
 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.
@@ -46,12 +46,12 @@ class CertificateProviderFactory {
   // 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