// Ryzom - MMORPG Framework // Copyright (C) 2010 Winch Gate Property Limited // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . ///////////////////////////////////////////////////////////////// // WARNING : this is a generated file, don't change it ! ///////////////////////////////////////////////////////////////// #include "spt_module_itf.h" namespace PATCHMAN { ///////////////////////////////////////////////////////////////// // WARNING : this is a generated file, don't change it ! ///////////////////////////////////////////////////////////////// const CServerPatchTerminalSkel::TMessageHandlerMap &CServerPatchTerminalSkel::getMessageHandlers() const { static TMessageHandlerMap handlers; static bool init = false; if (!init) { std::pair < TMessageHandlerMap::iterator, bool > res; res = handlers.insert(std::make_pair(std::string("SPT_STATE"), &CServerPatchTerminalSkel::declareState_skel)); // if this assert, you have a doubly message name in your interface definition ! nlassert(res.second); res = handlers.insert(std::make_pair(std::string("SPT_MODULEDOWN"), &CServerPatchTerminalSkel::declareModuleDown_skel)); // if this assert, you have a doubly message name in your interface definition ! nlassert(res.second); res = handlers.insert(std::make_pair(std::string("SPT_VERSION_NAME"), &CServerPatchTerminalSkel::declareVersionName_skel)); // if this assert, you have a doubly message name in your interface definition ! nlassert(res.second); res = handlers.insert(std::make_pair(std::string("SPT_DOMAIN_INFO"), &CServerPatchTerminalSkel::declareDomainInfo_skel)); // if this assert, you have a doubly message name in your interface definition ! nlassert(res.second); res = handlers.insert(std::make_pair(std::string("SPT_VERSION_ACK"), &CServerPatchTerminalSkel::ackVersionChange_skel)); // if this assert, you have a doubly message name in your interface definition ! nlassert(res.second); res = handlers.insert(std::make_pair(std::string("SPT_SPA_EXEC_ACK"), &CServerPatchTerminalSkel::onSPAExecutedCommandAck_skel)); // if this assert, you have a doubly message name in your interface definition ! nlassert(res.second); res = handlers.insert(std::make_pair(std::string("SPT_SPA_EXEC_RESULT"), &CServerPatchTerminalSkel::onSPAExecutedCommandResult_skel)); // if this assert, you have a doubly message name in your interface definition ! nlassert(res.second); init = true; } return handlers; } bool CServerPatchTerminalSkel::onDispatchMessage(NLNET::IModuleProxy *sender, const NLNET::CMessage &message) { const TMessageHandlerMap &mh = getMessageHandlers(); TMessageHandlerMap::const_iterator it(mh.find(message.getName())); if (it == mh.end()) { return false; } TMessageHandler cmd = it->second; (this->*cmd)(sender, message); return true; } void CServerPatchTerminalSkel::declareState_skel(NLNET::IModuleProxy *sender, const NLNET::CMessage &__message) { NLMISC::CSString moduleName; nlRead(__message, serial, moduleName); NLMISC::CSString state; nlRead(__message, serial, state); declareState(sender, moduleName, state); } void CServerPatchTerminalSkel::declareModuleDown_skel(NLNET::IModuleProxy *sender, const NLNET::CMessage &__message) { NLMISC::CSString moduleName; nlRead(__message, serial, moduleName); declareModuleDown(sender, moduleName); } void CServerPatchTerminalSkel::declareVersionName_skel(NLNET::IModuleProxy *sender, const NLNET::CMessage &__message) { NLMISC::CSString versionName; nlRead(__message, serial, versionName); uint32 clientVersion; nlRead(__message, serial, clientVersion); uint32 serverVersion; nlRead(__message, serial, serverVersion); declareVersionName(sender, versionName, clientVersion, serverVersion); } void CServerPatchTerminalSkel::declareDomainInfo_skel(NLNET::IModuleProxy *sender, const NLNET::CMessage &__message) { NLMISC::CSString domainName; nlRead(__message, serial, domainName); uint32 installVersion; nlRead(__message, serial, installVersion); uint32 launchVersion; nlRead(__message, serial, launchVersion); declareDomainInfo(sender, domainName, installVersion, launchVersion); } void CServerPatchTerminalSkel::ackVersionChange_skel(NLNET::IModuleProxy *sender, const NLNET::CMessage &__message) { NLMISC::CSString domainName; nlRead(__message, serial, domainName); bool success; nlRead(__message, serial, success); NLMISC::CSString comment; nlRead(__message, serial, comment); ackVersionChange(sender, domainName, success, comment); } void CServerPatchTerminalSkel::onSPAExecutedCommandAck_skel(NLNET::IModuleProxy *sender, const NLNET::CMessage &__message) { NLMISC::CSString result; nlRead(__message, serial, result); onSPAExecutedCommandAck(sender, result); } void CServerPatchTerminalSkel::onSPAExecutedCommandResult_skel(NLNET::IModuleProxy *sender, const NLNET::CMessage &__message) { NLMISC::CSString originator; nlRead(__message, serial, originator); NLMISC::CSString commandline; nlRead(__message, serial, commandline); NLMISC::CSString result; nlRead(__message, serial, result); onSPAExecutedCommandResult(sender, originator, commandline, result); } // // Message sent by SPM module to declare the state of a named module // This message is sent by the SPM for each connected SP / RE / RR type module on connection of SPT to SPM // This message is also sent by the SPM for each type the SPM receives a state update from a SP / RE / RR type module void CServerPatchTerminalProxy::declareState(NLNET::IModule *sender, const NLMISC::CSString &moduleName, const NLMISC::CSString &state) { if (_LocalModuleSkel && _LocalModule->isImmediateDispatchingSupported()) { // immediate local synchronous dispatching _LocalModuleSkel->declareState(_ModuleProxy->getModuleGateway()->getPluggedModuleProxy(sender), moduleName, state); } else { // send the message for remote dispatching and execution or local queing NLNET::CMessage __message; buildMessageFor_declareState(__message, moduleName, state); _ModuleProxy->sendModuleMessage(sender, __message); } } // // Message sent by SPM module to declare module down for a connected SPA / RE / RR type module void CServerPatchTerminalProxy::declareModuleDown(NLNET::IModule *sender, const NLMISC::CSString &moduleName) { if (_LocalModuleSkel && _LocalModule->isImmediateDispatchingSupported()) { // immediate local synchronous dispatching _LocalModuleSkel->declareModuleDown(_ModuleProxy->getModuleGateway()->getPluggedModuleProxy(sender), moduleName); } else { // send the message for remote dispatching and execution or local queing NLNET::CMessage __message; buildMessageFor_declareModuleDown(__message, moduleName); _ModuleProxy->sendModuleMessage(sender, __message); } } // // Message sent by SPM module to define a named version void CServerPatchTerminalProxy::declareVersionName(NLNET::IModule *sender, const NLMISC::CSString &versionName, uint32 clientVersion, uint32 serverVersion) { if (_LocalModuleSkel && _LocalModule->isImmediateDispatchingSupported()) { // immediate local synchronous dispatching _LocalModuleSkel->declareVersionName(_ModuleProxy->getModuleGateway()->getPluggedModuleProxy(sender), versionName, clientVersion, serverVersion); } else { // send the message for remote dispatching and execution or local queing NLNET::CMessage __message; buildMessageFor_declareVersionName(__message, versionName, clientVersion, serverVersion); _ModuleProxy->sendModuleMessage(sender, __message); } } // // Message sent by SPM module to give info on a named domain void CServerPatchTerminalProxy::declareDomainInfo(NLNET::IModule *sender, const NLMISC::CSString &domainName, uint32 installVersion, uint32 launchVersion) { if (_LocalModuleSkel && _LocalModule->isImmediateDispatchingSupported()) { // immediate local synchronous dispatching _LocalModuleSkel->declareDomainInfo(_ModuleProxy->getModuleGateway()->getPluggedModuleProxy(sender), domainName, installVersion, launchVersion); } else { // send the message for remote dispatching and execution or local queing NLNET::CMessage __message; buildMessageFor_declareDomainInfo(__message, domainName, installVersion, launchVersion); _ModuleProxy->sendModuleMessage(sender, __message); } } // // Message sent by SPM module to acknowledge a version change attempt void CServerPatchTerminalProxy::ackVersionChange(NLNET::IModule *sender, const NLMISC::CSString &domainName, bool success, const NLMISC::CSString &comment) { if (_LocalModuleSkel && _LocalModule->isImmediateDispatchingSupported()) { // immediate local synchronous dispatching _LocalModuleSkel->ackVersionChange(_ModuleProxy->getModuleGateway()->getPluggedModuleProxy(sender), domainName, success, comment); } else { // send the message for remote dispatching and execution or local queing NLNET::CMessage __message; buildMessageFor_ackVersionChange(__message, domainName, success, comment); _ModuleProxy->sendModuleMessage(sender, __message); } } // // Message sent by SPA with result of command issuued via executeCommandOnSPA() void CServerPatchTerminalProxy::onSPAExecutedCommandAck(NLNET::IModule *sender, const NLMISC::CSString &result) { if (_LocalModuleSkel && _LocalModule->isImmediateDispatchingSupported()) { // immediate local synchronous dispatching _LocalModuleSkel->onSPAExecutedCommandAck(_ModuleProxy->getModuleGateway()->getPluggedModuleProxy(sender), result); } else { // send the message for remote dispatching and execution or local queing NLNET::CMessage __message; buildMessageFor_onSPAExecutedCommandAck(__message, result); _ModuleProxy->sendModuleMessage(sender, __message); } } // // Message sent by SPA with result of command issuued via executeCommandOnSPA() void CServerPatchTerminalProxy::onSPAExecutedCommandResult(NLNET::IModule *sender, const NLMISC::CSString &originator, const NLMISC::CSString &commandline, const NLMISC::CSString &result) { if (_LocalModuleSkel && _LocalModule->isImmediateDispatchingSupported()) { // immediate local synchronous dispatching _LocalModuleSkel->onSPAExecutedCommandResult(_ModuleProxy->getModuleGateway()->getPluggedModuleProxy(sender), originator, commandline, result); } else { // send the message for remote dispatching and execution or local queing NLNET::CMessage __message; buildMessageFor_onSPAExecutedCommandResult(__message, originator, commandline, result); _ModuleProxy->sendModuleMessage(sender, __message); } } // Message serializer. Return the message received in reference for easier integration const NLNET::CMessage &CServerPatchTerminalProxy::buildMessageFor_declareState(NLNET::CMessage &__message, const NLMISC::CSString &moduleName, const NLMISC::CSString &state) { __message.setType("SPT_STATE"); nlWrite(__message, serial, const_cast < NLMISC::CSString& > (moduleName)); nlWrite(__message, serial, const_cast < NLMISC::CSString& > (state)); return __message; } // Message serializer. Return the message received in reference for easier integration const NLNET::CMessage &CServerPatchTerminalProxy::buildMessageFor_declareModuleDown(NLNET::CMessage &__message, const NLMISC::CSString &moduleName) { __message.setType("SPT_MODULEDOWN"); nlWrite(__message, serial, const_cast < NLMISC::CSString& > (moduleName)); return __message; } // Message serializer. Return the message received in reference for easier integration const NLNET::CMessage &CServerPatchTerminalProxy::buildMessageFor_declareVersionName(NLNET::CMessage &__message, const NLMISC::CSString &versionName, uint32 clientVersion, uint32 serverVersion) { __message.setType("SPT_VERSION_NAME"); nlWrite(__message, serial, const_cast < NLMISC::CSString& > (versionName)); nlWrite(__message, serial, clientVersion); nlWrite(__message, serial, serverVersion); return __message; } // Message serializer. Return the message received in reference for easier integration const NLNET::CMessage &CServerPatchTerminalProxy::buildMessageFor_declareDomainInfo(NLNET::CMessage &__message, const NLMISC::CSString &domainName, uint32 installVersion, uint32 launchVersion) { __message.setType("SPT_DOMAIN_INFO"); nlWrite(__message, serial, const_cast < NLMISC::CSString& > (domainName)); nlWrite(__message, serial, installVersion); nlWrite(__message, serial, launchVersion); return __message; } // Message serializer. Return the message received in reference for easier integration const NLNET::CMessage &CServerPatchTerminalProxy::buildMessageFor_ackVersionChange(NLNET::CMessage &__message, const NLMISC::CSString &domainName, bool success, const NLMISC::CSString &comment) { __message.setType("SPT_VERSION_ACK"); nlWrite(__message, serial, const_cast < NLMISC::CSString& > (domainName)); nlWrite(__message, serial, success); nlWrite(__message, serial, const_cast < NLMISC::CSString& > (comment)); return __message; } // Message serializer. Return the message received in reference for easier integration const NLNET::CMessage &CServerPatchTerminalProxy::buildMessageFor_onSPAExecutedCommandAck(NLNET::CMessage &__message, const NLMISC::CSString &result) { __message.setType("SPT_SPA_EXEC_ACK"); nlWrite(__message, serial, const_cast < NLMISC::CSString& > (result)); return __message; } // Message serializer. Return the message received in reference for easier integration const NLNET::CMessage &CServerPatchTerminalProxy::buildMessageFor_onSPAExecutedCommandResult(NLNET::CMessage &__message, const NLMISC::CSString &originator, const NLMISC::CSString &commandline, const NLMISC::CSString &result) { __message.setType("SPT_SPA_EXEC_RESULT"); nlWrite(__message, serial, const_cast < NLMISC::CSString& > (originator)); nlWrite(__message, serial, const_cast < NLMISC::CSString& > (commandline)); nlWrite(__message, serial, const_cast < NLMISC::CSString& > (result)); return __message; } }