Line data Source code
1 : #pragma once 2 : 3 : #include "envoy/common/pure.h" 4 : #include "envoy/config/typed_config.h" 5 : 6 : #include "absl/strings/string_view.h" 7 : #include "include/proxy-wasm/wasm_vm.h" 8 : 9 : namespace Envoy { 10 : namespace Extensions { 11 : namespace Common { 12 : namespace Wasm { 13 : 14 : using WasmVmPtr = std::unique_ptr<proxy_wasm::WasmVm>; 15 : 16 : class WasmRuntimeFactory : public Config::UntypedFactory { 17 : public: 18 0 : ~WasmRuntimeFactory() override = default; 19 : virtual WasmVmPtr createWasmVm() PURE; 20 : 21 4 : std::string category() const override { return "envoy.wasm.runtime"; } 22 : }; 23 : 24 : } // namespace Wasm 25 : } // namespace Common 26 : } // namespace Extensions 27 : } // namespace Envoy