X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fjson.h;h=ca9ed8d3f862d642cb659e011795672ca90eed5f;hb=801fca4042fa3365f647564e6a060436958aed31;hp=385b7c559eba57670a34cd369f2c77c7c3db15e1;hpb=c3c50e894376297209d11d7ce490fd782ba206a4;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/json.h b/src/modules/json.h index 385b7c559..ca9ed8d3f 100644 --- a/src/modules/json.h +++ b/src/modules/json.h @@ -532,9 +532,18 @@ namespace json { namespace rpc { - typedef void (*method) (HTTPRequest *http, Value &request, Value &response); - void init (void); - void add_method (char *name, method mth); + typedef void (Module::*method) (HTTPRequest *http, Value &request, Value &response); + + struct mfp + { + Module const *mod; + method mth; + }; + + typedef std::map method_map; + extern method_map methods; + + void add_method (char *name, Module const *mod, method mth); void service (HTTPRequest *http, Value &request, Value &response); void process (HTTPRequest *http, std::string &response, char const *request); }