代码拉取完成,页面将自动刷新
同步操作将从 DEV5/libx-msg-im-xsc 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
/*
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 "XmsgImMsgMgr.h"
XmsgImMsgMgr::XmsgImMsgMgr() :
XscMsgMgr()
{
this->itcpCb = nullptr;
}
bool XmsgImMsgMgr::reg(const Descriptor* begin, const Descriptor* end, const Descriptor* uni, void* cb, bool auth, ForeignAccessPermission foreign)
{
shared_ptr<XmsgImMsgStub> stub(new XmsgImMsgStub(begin, end, uni, cb, auth, foreign));
if (this->msgs.find(stub->msg) != this->msgs.end())
{
LOG_ERROR("duplicate message: %s", stub->msg.c_str())
return false;
}
this->msgs[stub->msg] = stub;
return true;
}
void XmsgImMsgMgr::setItcp(function<XscMsgItcpRetType(XscWorker* wk, XscChannel* channel, shared_ptr<XscProtoPdu> pdu)> cb)
{
this->itcpCb.reset(new function<XscMsgItcpRetType(XscWorker* wk, XscChannel* channel, shared_ptr<XscProtoPdu> pdu)>());
*(this->itcpCb) = cb;
}
XscMsgItcpRetType XmsgImMsgMgr::itcp(XscWorker* wk, XscChannel* channel, shared_ptr<void> pdu)
{
return this->itcpCb == nullptr ? XscMsgItcpRetType::DISABLE : ((*(this->itcpCb))(wk, channel, static_pointer_cast<XscProtoPdu>(pdu)));
}
shared_ptr<XmsgImMsgStub> XmsgImMsgMgr::getMsgStub(const string& msg)
{
auto it = this->msgs.find(msg);
return it == this->msgs.end() ? nullptr : it->second;
}
XmsgImMsgMgr::~XmsgImMsgMgr()
{
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。