1 Star 0 Fork 11

Ayrz / libx-msg-im-xsc

forked from DEV5 / libx-msg-im-xsc 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
XmsgImTrans.h 2.19 KB
AI 代码解读
一键复制 编辑 原始数据 按行查看 历史
xzwdev 提交于 2019-11-10 23:03 . 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/>.
*/
#ifndef XMSGIMTRANS_H_
#define XMSGIMTRANS_H_
#include <libxsc.h>
#include <libxsc-proto.h>
#include "XmsgImMsgStub.h"
enum XmsgImTransType
{
TRANS_TYPE_INIT,
TRANS_TYPE_PASS,
TRANS_TYPE_INIT_UNI,
TRANS_TYPE_PASS_UNI
};
class XmsgImTransInitiative;
class XmsgImTransPassive;
class XmsgImTransUnidirectionInit;
class XmsgImTransUnidirectionPass;
typedef shared_ptr<XmsgImTransInitiative> SptrXiti;
typedef shared_ptr<XmsgImTransPassive> SptrXitp;
typedef shared_ptr<XmsgImTransUnidirectionInit> SptrXitui;
typedef shared_ptr<XmsgImTransUnidirectionPass> SptrXitup;
typedef shared_ptr<list<pair<uchar, string>>> SptrOob;
typedef struct
{
string msg;
string dat;
} x_msg_im_trans_raw_msg;
class XmsgImTrans: public enable_shared_from_this<XmsgImTrans>
{
public:
XmsgImTransType xitt;
shared_ptr<XscChannel> channel;
shared_ptr<Message> beginMsg;
shared_ptr<Message> endMsg;
shared_ptr<Message> uniMsg;
shared_ptr<x_msg_im_trans_raw_msg> rawMsg;
uint stid;
uint dtid;
ullong gts;
ullong ets;
ushort ret;
string desc;
public:
xsc_transmission_header_oob* ooob;
xsc_transmission_header_oob* ioob;
public:
void addOob(uchar tag, const string& val);
bool getOob(uchar tag, string& val);
bool haveOob(uchar tag);
string toString();
XmsgImTrans(shared_ptr<XscChannel> channel, XmsgImTransType xitt);
virtual ~XmsgImTrans();
public:
static SptrOob newOob(vector<pair<uchar, string>>& oob);
static SptrOob newOob();
};
typedef shared_ptr<XmsgImTrans> SptrXit;
#endif
C++
1
https://gitee.com/ayrz2010/libx-msg-im-xsc.git
git@gitee.com:ayrz2010/libx-msg-im-xsc.git
ayrz2010
libx-msg-im-xsc
libx-msg-im-xsc
master

搜索帮助