1
#pragma once
2

            
3
#include "envoy/extensions/resource_monitors/injected_resource/v3/injected_resource.pb.h"
4
#include "envoy/extensions/resource_monitors/injected_resource/v3/injected_resource.pb.validate.h"
5
#include "envoy/server/resource_monitor_config.h"
6

            
7
#include "source/extensions/resource_monitors/common/factory_base.h"
8

            
9
namespace Envoy {
10
namespace Extensions {
11
namespace ResourceMonitors {
12
namespace InjectedResourceMonitor {
13

            
14
class InjectedResourceMonitorFactory
15
    : public Common::FactoryBase<
16
          envoy::extensions::resource_monitors::injected_resource::v3::InjectedResourceConfig> {
17
public:
18
5
  InjectedResourceMonitorFactory() : FactoryBase("envoy.resource_monitors.injected_resource") {}
19

            
20
private:
21
  Server::ResourceMonitorPtr createResourceMonitorFromProtoTyped(
22
      const envoy::extensions::resource_monitors::injected_resource::v3::InjectedResourceConfig&
23
          config,
24
      Server::Configuration::ResourceMonitorFactoryContext& context) override;
25
};
26

            
27
} // namespace InjectedResourceMonitor
28
} // namespace ResourceMonitors
29
} // namespace Extensions
30
} // namespace Envoy