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 DeltaGrpcCollectionConfigSubscriptionFactory : public ConfigSubscriptionFactory { 10 : public: 11 13 : std::string name() const override { return "envoy.config_subscription.delta_grpc_collection"; } 12 : SubscriptionPtr create(SubscriptionData& data) override; 13 : }; 14 : 15 : class AggregatedGrpcCollectionConfigSubscriptionFactory : public ConfigSubscriptionFactory { 16 : public: 17 13 : std::string name() const override { 18 13 : return "envoy.config_subscription.aggregated_grpc_collection"; 19 13 : } 20 : SubscriptionPtr create(SubscriptionData& data) override; 21 : }; 22 : 23 : class AdsCollectionConfigSubscriptionFactory : public ConfigSubscriptionFactory { 24 : public: 25 13 : std::string name() const override { return "envoy.config_subscription.ads_collection"; } 26 : SubscriptionPtr create(SubscriptionData& data) override; 27 : }; 28 : 29 : DECLARE_FACTORY(DeltaGrpcCollectionConfigSubscriptionFactory); 30 : DECLARE_FACTORY(AggregatedGrpcCollectionConfigSubscriptionFactory); 31 : DECLARE_FACTORY(AdsCollectionConfigSubscriptionFactory); 32 : 33 : } // namespace Config 34 : } // namespace Envoy