void registry::addMethod(string const name, methodPtr const methodP) { this->methodList.push_back(methodP); env_wrap env; xmlrpc_registry_add_method_w_doc( &env.env_c, this->c_registryP, NULL, name.c_str(), &c_executeMethod, (void*) methodP.get(), methodP->signature().c_str(), methodP->help().c_str()); throwIfError(env); }
void registry::addMethod(string const name, methodPtr const methodP) { this->implP->methodList.push_back(methodP); struct xmlrpc_method_info3 methodInfo; env_wrap env; methodInfo.methodName = name.c_str(); methodInfo.methodFunction = &c_executeMethod; methodInfo.serverInfo = methodP.get(); methodInfo.stackSize = 0; string const signatureString(methodP->signature()); methodInfo.signatureString = signatureString.c_str(); string const help(methodP->help()); methodInfo.help = help.c_str(); xmlrpc_registry_add_method3(&env.env_c, this->implP->c_registryP, &methodInfo); throwIfError(env); }