/services/Channel.cpp
https://github.com/starcasters/lisanna · C++ · 297 lines · 175 code · 72 blank · 50 comment · 30 complexity · 5e7c1af4efb57d6067a7f4905a558e6e MD5 · raw file
- /*
- This file is part of Lisana.
- Lisana is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
- Lisana 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 General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with Lisana. If not, see <http://www.gnu.org/licenses/>.
- */
- // Channel
- // bnet.protocol.channel.Channel
- //
- // { AddMember .bnet.protocol.channel.AddMemberRequest .bnet.protocol.NoData }
- // { RemoveMember .bnet.protocol.channel.RemoveMemberRequest .bnet.protocol.NoData }
- // { SendMessage .bnet.protocol.channel.SendMessageRequest .bnet.protocol.NoData }
- // { UpdateChannelState .bnet.protocol.channel.UpdateChannelStateRequest .bnet.protocol.NoData }
- // { UpdateMemberState .bnet.protocol.channel.UpdateMemberStateRequest .bnet.protocol.NoData }
- // { Dissolve .bnet.protocol.channel.DissolveRequest .bnet.protocol.NoData }
- // { SetRoles .bnet.protocol.channel.SetRolesRequest .bnet.protocol.NoData }
- #include "Channel.h"
- #include <iostream>
- using namespace google::protobuf;
- CServiceChannel::CServiceChannel()
- {
- // place here any initialization (?)
- }
- CServiceChannel::CServiceChannel(CServiceMgr* owner=0,int SID=0, std::string serviceName=string(SERVICE_Channel_NAME)) :
- CService(owner, SID, serviceName)
- {
- //what goes here now?
- }
- Message* CServiceChannel::GetMethodMessage(int MethodID, bool request) {
- switch (MethodID) {
- case 1:
- if (request) { return ::bnet::protocol::channel::AddMemberRequest::default_instance().New(); }
- else { return ::bnet::protocol::NoData::default_instance().New(); }
- case 2:
- if (request) { return ::bnet::protocol::channel::RemoveMemberRequest::default_instance().New(); }
- else { return ::bnet::protocol::NoData::default_instance().New(); }
- case 3:
- if (request) { return ::bnet::protocol::channel::SendMessageRequest::default_instance().New(); }
- else { return ::bnet::protocol::NoData::default_instance().New(); }
- case 4:
- if (request) { return ::bnet::protocol::channel::UpdateChannelStateRequest::default_instance().New(); }
- else { return ::bnet::protocol::NoData::default_instance().New(); }
- case 5:
- if (request) { return ::bnet::protocol::channel::UpdateMemberStateRequest::default_instance().New(); }
- else { return ::bnet::protocol::NoData::default_instance().New(); }
- case 6:
- if (request) { return ::bnet::protocol::channel::DissolveRequest::default_instance().New(); }
- else { return ::bnet::protocol::NoData::default_instance().New(); }
- case 7:
- if (request) { return ::bnet::protocol::channel::SetRolesRequest::default_instance().New(); }
- else { return ::bnet::protocol::NoData::default_instance().New(); }
- default:
- cerr << "error: method not implemented" << endl;
- return NULL;
- }
- }
- //This function was autogenerated:
- bool CServiceChannel::DispatchMethod(int MethodID, bool request, TCPSocket *sock, apacket* packet) {
- switch (MethodID) {
- case 1:
- if (request) { return handle_AddMember_Request(sock, packet); }
- else { return handle_NoData_AddMember(sock, packet); }
- case 2:
- if (request) { return handle_RemoveMember_Request(sock, packet); }
- else { return handle_NoData_RemoveMember(sock, packet); }
- case 3:
- if (request) { return handle_SendMessage_Request(sock, packet); }
- else { return handle_NoData_SendMessage(sock, packet); }
- case 4:
- if (request) { return handle_UpdateChannelState_Request(sock, packet); }
- else { return handle_NoData_UpdateChannelState(sock, packet); }
- case 5:
- if (request) { return handle_UpdateMemberState_Request(sock, packet); }
- else { return handle_NoData_UpdateMemberState(sock, packet); }
- case 6:
- if (request) { return handle_Dissolve_Request(sock, packet); }
- else { return handle_NoData_Dissolve(sock, packet); }
- case 7:
- if (request) { return handle_SetRoles_Request(sock, packet); }
- else { return handle_NoData_SetRoles(sock, packet); }
- default:
- cerr << "error: method not implemented" << endl;
- return false;
- }
- }
- bool CServiceChannel::handle_AddMember_Request(TCPSocket *sock, apacket* packet)
- {
- ::bnet::protocol::channel::AddMemberRequest* request;
- ::bnet::protocol::NoData response;
- request = (::bnet::protocol::channel::AddMemberRequest*) packet;
-
- // add some info to the packet?
- sendheader(sock, 0xFE, 0, packet->hdr->reqid, 0, response.ByteSize());
- sendmsgdata(sock, &response);
- // do something...
-
- return true;
- }
- bool CServiceChannel::handle_NoData_AddMember(TCPSocket *sock, apacket* packet)
- {
- ::bnet::protocol::NoData* response;
- response = (::bnet::protocol::NoData*) packet->msg;
- //do something...
-
- return true;
- }
- bool CServiceChannel::handle_RemoveMember_Request(TCPSocket *sock, apacket* packet)
- {
- ::bnet::protocol::channel::RemoveMemberRequest* request;
- ::bnet::protocol::NoData response;
- request = (::bnet::protocol::channel::RemoveMemberRequest*) packet;
-
- // add some info to the packet?
- sendheader(sock, 0xFE, 0, packet->hdr->reqid, 0, response.ByteSize());
- sendmsgdata(sock, &response);
- // do something...
-
- return true;
- }
- bool CServiceChannel::handle_NoData_RemoveMember(TCPSocket *sock, apacket* packet)
- {
- ::bnet::protocol::NoData* response;
- response = (::bnet::protocol::NoData*) packet->msg;
- //do something...
-
- return true;
- }
- bool CServiceChannel::handle_SendMessage_Request(TCPSocket *sock, apacket* packet)
- {
- ::bnet::protocol::channel::SendMessageRequest* request;
- ::bnet::protocol::NoData response;
- request = (::bnet::protocol::channel::SendMessageRequest*) packet;
-
- // add some info to the packet?
- sendheader(sock, 0xFE, 0, packet->hdr->reqid, 0, response.ByteSize());
- sendmsgdata(sock, &response);
- // do something...
-
- return true;
- }
- bool CServiceChannel::handle_NoData_SendMessage(TCPSocket *sock, apacket* packet)
- {
- ::bnet::protocol::NoData* response;
- response = (::bnet::protocol::NoData*) packet->msg;
- //do something...
-
- return true;
- }
- bool CServiceChannel::handle_UpdateChannelState_Request(TCPSocket *sock, apacket* packet)
- {
- ::bnet::protocol::channel::UpdateChannelStateRequest* request;
- ::bnet::protocol::NoData response;
- request = (::bnet::protocol::channel::UpdateChannelStateRequest*) packet;
-
- // add some info to the packet?
- sendheader(sock, 0xFE, 0, packet->hdr->reqid, 0, response.ByteSize());
- sendmsgdata(sock, &response);
- // do something...
-
- return true;
- }
- bool CServiceChannel::handle_NoData_UpdateChannelState(TCPSocket *sock, apacket* packet)
- {
- ::bnet::protocol::NoData* response;
- response = (::bnet::protocol::NoData*) packet->msg;
- //do something...
-
- return true;
- }
- bool CServiceChannel::handle_UpdateMemberState_Request(TCPSocket *sock, apacket* packet)
- {
- ::bnet::protocol::channel::UpdateMemberStateRequest* request;
- ::bnet::protocol::NoData response;
- request = (::bnet::protocol::channel::UpdateMemberStateRequest*) packet;
-
- // add some info to the packet?
- sendheader(sock, 0xFE, 0, packet->hdr->reqid, 0, response.ByteSize());
- sendmsgdata(sock, &response);
- // do something...
-
- return true;
- }
- bool CServiceChannel::handle_NoData_UpdateMemberState(TCPSocket *sock, apacket* packet)
- {
- ::bnet::protocol::NoData* response;
- response = (::bnet::protocol::NoData*) packet->msg;
- //do something...
-
- return true;
- }
- bool CServiceChannel::handle_Dissolve_Request(TCPSocket *sock, apacket* packet)
- {
- ::bnet::protocol::channel::DissolveRequest* request;
- ::bnet::protocol::NoData response;
- request = (::bnet::protocol::channel::DissolveRequest*) packet;
-
- // add some info to the packet?
- sendheader(sock, 0xFE, 0, packet->hdr->reqid, 0, response.ByteSize());
- sendmsgdata(sock, &response);
- // do something...
-
- return true;
- }
- bool CServiceChannel::handle_NoData_Dissolve(TCPSocket *sock, apacket* packet)
- {
- ::bnet::protocol::NoData* response;
- response = (::bnet::protocol::NoData*) packet->msg;
- //do something...
-
- return true;
- }
- bool CServiceChannel::handle_SetRoles_Request(TCPSocket *sock, apacket* packet)
- {
- ::bnet::protocol::channel::SetRolesRequest* request;
- ::bnet::protocol::NoData response;
- request = (::bnet::protocol::channel::SetRolesRequest*) packet;
-
- // add some info to the packet?
- sendheader(sock, 0xFE, 0, packet->hdr->reqid, 0, response.ByteSize());
- sendmsgdata(sock, &response);
- // do something...
-
- return true;
- }
- bool CServiceChannel::handle_NoData_SetRoles(TCPSocket *sock, apacket* packet)
- {
- ::bnet::protocol::NoData* response;
- response = (::bnet::protocol::NoData*) packet->msg;
- //do something...
-
- return true;
- }
- CServiceChannel::~CServiceChannel(void)
- {
- std::cout << "Bye from authserv.";
- }