2019-10-22 21:51:21 +03:00
|
|
|
#include "package.h"
|
|
|
|
#include "streambase.h"
|
|
|
|
|
|
|
|
#include <QDataStream>
|
|
|
|
|
2019-11-09 13:49:14 +03:00
|
|
|
namespace NetworkProtocol {
|
2019-10-22 21:51:21 +03:00
|
|
|
|
|
|
|
|
2019-10-28 21:55:48 +03:00
|
|
|
StreamBase::StreamBase() = default;
|
|
|
|
|
|
|
|
StreamBase::~StreamBase() = default;
|
2019-10-22 21:51:21 +03:00
|
|
|
|
|
|
|
bool StreamBase::fromBytes(const QByteArray &data) {
|
|
|
|
if (data.isEmpty())
|
|
|
|
return false;
|
|
|
|
|
|
|
|
QDataStream stream(data);
|
|
|
|
fromStream(stream);
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
QByteArray StreamBase::toBytes() const {
|
|
|
|
QByteArray res;
|
|
|
|
QDataStream stream(&res, QIODevice::WriteOnly);
|
|
|
|
toStream(stream);
|
|
|
|
return res;
|
|
|
|
}
|
2019-10-30 17:58:38 +03:00
|
|
|
|
2019-11-10 21:45:24 +03:00
|
|
|
QDataStream &operator<<(QDataStream &stream, const StreamBase &obj) {
|
|
|
|
return (&obj)->toStream(stream);
|
2019-11-10 14:08:41 +03:00
|
|
|
}
|
|
|
|
|
2019-11-10 21:45:24 +03:00
|
|
|
QDataStream &operator>>(QDataStream &stream, StreamBase &obj) {
|
|
|
|
return (&obj)->fromStream(stream);
|
2019-11-10 14:08:41 +03:00
|
|
|
}
|
|
|
|
|
2019-10-22 21:51:21 +03:00
|
|
|
}
|