diff options
Diffstat (limited to 'saprotocol.cc')
-rw-r--r-- | saprotocol.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/saprotocol.cc b/saprotocol.cc index 00c083f..b27c01e 100644 --- a/saprotocol.cc +++ b/saprotocol.cc @@ -229,14 +229,17 @@ QByteArray SAProtocol::packFrame(quint16 sessionId, const QByteArray &data, Fram return packFrame(frame); } -SAProtocol::DataFrame SAProtocol::unpackDataFrame(const QByteArray &data, bool withSeqNum) +SAProtocol::DataFrame SAProtocol::unpackDataFrame(const QByteArray &data, bool withSeqNum, bool withFragStatus) { DataFrame frame; int offset = 0; frame.withSeqNum = withSeqNum; + frame.withFragStatus = withFragStatus; if (withSeqNum) { frame.seqNum = read<quint16>(data, offset); - frame.unk_1 = read<quint8>(data, offset); + } + if (withFragStatus) { + frame.fragStatus = static_cast<SAProtocol::FragmentStatus>(read<quint8>(data, offset)); } frame.data = data.mid(offset); return frame; @@ -247,7 +250,9 @@ QByteArray SAProtocol::packDataFrame(const DataFrame &frame) QByteArray data; if (frame.withSeqNum) { append<quint16>(data, frame.seqNum); - append<quint8>(data, frame.unk_1); + } + if (frame.withFragStatus) { + append<quint8>(data, frame.fragStatus); } data.append(frame.data); return data; |