1
#pragma once
2

            
3
#include "envoy/extensions/matching/input_matchers/dynamic_modules/v3/dynamic_modules.pb.h"
4
#include "envoy/extensions/matching/input_matchers/dynamic_modules/v3/dynamic_modules.pb.validate.h"
5
#include "envoy/matcher/matcher.h"
6
#include "envoy/server/factory_context.h"
7

            
8
#include "source/common/protobuf/utility.h"
9
#include "source/extensions/matching/input_matchers/dynamic_modules/matcher.h"
10

            
11
namespace Envoy {
12
namespace Extensions {
13
namespace Matching {
14
namespace InputMatchers {
15
namespace DynamicModules {
16

            
17
class DynamicModuleInputMatcherFactory : public ::Envoy::Matcher::InputMatcherFactory {
18
public:
19
  ::Envoy::Matcher::InputMatcherFactoryCb
20
  createInputMatcherFactoryCb(const Protobuf::Message& config,
21
                              Server::Configuration::ServerFactoryContext& context) override;
22

            
23
6
  ProtobufTypes::MessagePtr createEmptyConfigProto() override {
24
6
    return std::make_unique<
25
6
        envoy::extensions::matching::input_matchers::dynamic_modules::v3::DynamicModuleMatcher>();
26
6
  }
27

            
28
10
  std::string name() const override { return "envoy.matching.matchers.dynamic_modules"; }
29
};
30

            
31
} // namespace DynamicModules
32
} // namespace InputMatchers
33
} // namespace Matching
34
} // namespace Extensions
35
} // namespace Envoy