Line data Source code
1 : #pragma once 2 : 3 : #include "envoy/config/subscription_factory.h" 4 : #include "envoy/registry/registry.h" 5 : 6 : namespace Envoy { 7 : namespace Config { 8 : 9 : class GrpcConfigSubscriptionFactory : public ConfigSubscriptionFactory { 10 : public: 11 13 : std::string name() const override { return "envoy.config_subscription.grpc"; } 12 : SubscriptionPtr create(SubscriptionData& data) override; 13 : }; 14 : 15 : class DeltaGrpcConfigSubscriptionFactory : public ConfigSubscriptionFactory { 16 : public: 17 13 : std::string name() const override { return "envoy.config_subscription.delta_grpc"; } 18 : SubscriptionPtr create(SubscriptionData& data) override; 19 : }; 20 : 21 : class AdsConfigSubscriptionFactory : public ConfigSubscriptionFactory { 22 : public: 23 13 : std::string name() const override { return "envoy.config_subscription.ads"; } 24 : SubscriptionPtr create(SubscriptionData& data) override; 25 : }; 26 : 27 : DECLARE_FACTORY(GrpcConfigSubscriptionFactory); 28 : DECLARE_FACTORY(DeltaGrpcConfigSubscriptionFactory); 29 : DECLARE_FACTORY(AdsConfigSubscriptionFactory); 30 : 31 : } // namespace Config 32 : } // namespace Envoy