8 Star 20 Fork 11

DEV5 / libx-msg-im-xsc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
XmsgImLog.cpp 2.10 KB
一键复制 编辑 原始数据 按行查看 历史
xzwdev 提交于 2019-12-13 22:52 . dev5
/*
Copyright 2019 www.dev5.cn, Inc. dev5@qq.com
This file is part of X-MSG-IM.
X-MSG-IM 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.
X-MSG-IM 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 Affero General Public License
along with X-MSG-IM. If not, see <https://www.gnu.org/licenses/>.
*/
#include "XmsgImLog.h"
#include "http/XmsgImHttpLog.h"
#include "rudp/XmsgImRudpLog.h"
#include "tcp/XmsgImTcpLog.h"
#include "udp/XmsgImUdpLog.h"
#include "ws/XmsgImWebSocketLog.h"
XmsgImLog::XmsgImLog()
{
}
shared_ptr<XmsgImLog> XmsgImLog::getLog(XscChannel* channel)
{
if (channel->proType == XscProtocolType::XSC_PROTOCOL_TCP)
return static_pointer_cast<XmsgImLog>(static_pointer_cast<XmsgImTcpLog>(static_pointer_cast<XscTcpLog>(channel->worker->server->log)));
if (channel->proType == XscProtocolType::XSC_PROTOCOL_HTTP)
return static_pointer_cast<XmsgImLog>(static_pointer_cast<XmsgImHttpLog>(static_pointer_cast<XscHttpLog>(channel->worker->server->log)));
if (channel->proType == XscProtocolType::XSC_PROTOCOL_WEBSOCKET)
return static_pointer_cast<XmsgImLog>(static_pointer_cast<XmsgImWebSocketLog>(static_pointer_cast<XscWebSocketLog>(channel->worker->server->log)));
if (channel->proType == XscProtocolType::XSC_PROTOCOL_UDP)
return static_pointer_cast<XmsgImLog>(static_pointer_cast<XmsgImUdpLog>(static_pointer_cast<XscUdpLog>(channel->worker->server->log)));
if (channel->proType == XscProtocolType::XSC_PROTOCOL_RUDP)
return static_pointer_cast<XmsgImLog>(static_pointer_cast<XmsgImRudpLog>(static_pointer_cast<XmsgImRudpLog>(channel->worker->server->log)));
LOG_FAULT("it`s a bug, unexpected xsc protocol type, channel: %02X", channel->proType)
return nullptr;
}
XmsgImLog::~XmsgImLog()
{
}
C++
1
https://gitee.com/dev5/libx-msg-im-xsc.git
git@gitee.com:dev5/libx-msg-im-xsc.git
dev5
libx-msg-im-xsc
libx-msg-im-xsc
master

搜索帮助