Add infos into target window
[ryzomcore.git] / ryzom / server / src / server_share / logger_service_itf.cpp
blob27a99fde055f69e78357d6625c2fd53ceb263141
1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
17 /////////////////////////////////////////////////////////////////
18 // WARNING : this is a generated file, don't change it !
19 /////////////////////////////////////////////////////////////////
21 #include "stdpch.h"
23 #include "logger_service_itf.h"
25 namespace LGS
28 /////////////////////////////////////////////////////////////////
29 // WARNING : this is a generated file, don't change it !
30 /////////////////////////////////////////////////////////////////
33 const CLoggerServiceSkel::TMessageHandlerMap &CLoggerServiceSkel::getMessageHandlers() const
35 static TMessageHandlerMap handlers;
36 static bool init = false;
38 if (!init)
40 std::pair < TMessageHandlerMap::iterator, bool > res;
42 res = handlers.insert(std::make_pair(std::string("RC"), &CLoggerServiceSkel::registerClient_skel));
43 // if this assert, you have a doubly message name in your interface definition !
44 nlassert(res.second);
46 res = handlers.insert(std::make_pair(std::string("LG"), &CLoggerServiceSkel::reportLog_skel));
47 // if this assert, you have a doubly message name in your interface definition !
48 nlassert(res.second);
50 init = true;
53 return handlers;
55 bool CLoggerServiceSkel::fwdOnProcessModuleMessage(NLNET::IModuleProxy *sender, const NLNET::CMessage &message)
57 const TMessageHandlerMap &mh = getMessageHandlers();
59 TMessageHandlerMap::const_iterator it(mh.find(message.getName()));
61 if (it == mh.end())
63 return false;
66 TMessageHandler cmd = it->second;
67 (this->*cmd)(sender, message);
69 return true;
73 void CLoggerServiceSkel::registerClient_skel(NLNET::IModuleProxy *sender, const NLNET::CMessage &__message)
75 H_AUTO(CLoggerServiceSkel_registerClient_RC);
76 uint32 shardId;
77 nlRead(__message, serial, shardId);
78 std::vector < TLogDefinition > logDef;
79 nlRead(__message, serialCont, logDef);
80 registerClient(sender, shardId, logDef);
83 void CLoggerServiceSkel::reportLog_skel(NLNET::IModuleProxy *sender, const NLNET::CMessage &__message)
85 H_AUTO(CLoggerServiceSkel_reportLog_LG);
86 std::vector < TLogInfo > logInfos;
87 nlRead(__message, serialCont, logInfos);
88 reportLog(sender, logInfos);
90 // A logger client register itself wy providing it's definition of
91 // the log content. It is mandatory that ALL client share
92 // Exactly the same definition of log.
93 void CLoggerServiceProxy::registerClient(NLNET::IModule *sender, uint32 shardId, const std::vector < TLogDefinition > &logDef)
95 if (_LocalModuleSkel && _LocalModule->isImmediateDispatchingSupported())
97 // immediate local synchronous dispatching
98 _LocalModuleSkel->registerClient(_ModuleProxy->getModuleGateway()->getPluggedModuleProxy(sender), shardId, logDef);
100 else
102 // send the message for remote dispatching and execution or local queing
103 NLNET::CMessage __message;
105 buildMessageFor_registerClient(__message, shardId, logDef);
107 _ModuleProxy->sendModuleMessage(sender, __message);
110 // A client send a log
111 void CLoggerServiceProxy::reportLog(NLNET::IModule *sender, const std::vector < TLogInfo > &logInfos)
113 if (_LocalModuleSkel && _LocalModule->isImmediateDispatchingSupported())
115 // immediate local synchronous dispatching
116 _LocalModuleSkel->reportLog(_ModuleProxy->getModuleGateway()->getPluggedModuleProxy(sender), logInfos);
118 else
120 // send the message for remote dispatching and execution or local queing
121 NLNET::CMessage __message;
123 buildMessageFor_reportLog(__message, logInfos);
125 _ModuleProxy->sendModuleMessage(sender, __message);
129 // Message serializer. Return the message received in reference for easier integration
130 const NLNET::CMessage &CLoggerServiceProxy::buildMessageFor_registerClient(NLNET::CMessage &__message, uint32 shardId, const std::vector < TLogDefinition > &logDef)
132 __message.setType("RC");
133 nlWrite(__message, serial, shardId);
134 nlWrite(__message, serialCont, const_cast < std::vector < TLogDefinition >& > (logDef));
137 return __message;
140 // Message serializer. Return the message received in reference for easier integration
141 const NLNET::CMessage &CLoggerServiceProxy::buildMessageFor_reportLog(NLNET::CMessage &__message, const std::vector < TLogInfo > &logInfos)
143 __message.setType("LG");
144 nlWrite(__message, serialCont, const_cast < std::vector < TLogInfo >& > (logInfos));
147 return __message;