5#ifndef MOLYBDEN_METHOD_CONTAINER_HPP
6#define MOLYBDEN_METHOD_CONTAINER_HPP
10#include "molybden/js/internal/js_accessible_method.hpp"
21class MethodContainer {
33 template <
class C,
class R,
class... T>
34 int addMethod(MethodSignature<C, R, T...> signature,
const char* name);
39 bool hasMethod(
const std::string& method_name);
48 JsReturnValue callMethod(
const std::string& method_name,
49 const std::vector<JsValue>& args);
54 std::vector<std::string> methodNames();
55 virtual ~MethodContainer() =
default;
58 std::map<std::string, std::unique_ptr<JsAccessibleMethod>> methods_;