Skip to content

src/runtime/binaryen/module/wasm_module_factory.hpp

Namespaces

Name
sgns
sgns::runtime
sgns::runtime::binaryen

Classes

Name
class sgns::runtime::binaryen::WasmModuleFactory

Source code

#ifndef SUPERGENIUS_SRC_RUNTIME_BINARYEN_MODULE_WASM_MODULE_FACTORY
#define SUPERGENIUS_SRC_RUNTIME_BINARYEN_MODULE_WASM_MODULE_FACTORY

#include "base/buffer.hpp"
#include "outcome/outcome.hpp"
#include "runtime/binaryen/module/wasm_module.hpp"
#include "runtime/binaryen/runtime_external_interface.hpp"

namespace sgns::runtime::binaryen {

  class WasmModuleFactory {
   public:
    virtual ~WasmModuleFactory() = default;

    virtual outcome::result<std::unique_ptr<WasmModule>> createModule(
        const base::Buffer &code,
        std::shared_ptr<RuntimeExternalInterface> rei) const = 0;
  };

}  // namespace sgns::runtime::binaryen

#endif  // SUPERGENIUS_SRC_RUNTIME_BINARYEN_MODULE_WASM_MODULE_FACTORY

Updated on 2026-03-04 at 13:10:45 -0800