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