2025-06-15 14:31:54 +08:00
|
|
|
#ifndef INFO_CLIENT_H
|
|
|
|
|
#define INFO_CLIENT_H
|
2025-06-14 09:27:50 +08:00
|
|
|
|
|
|
|
|
#include <QBuffer>
|
|
|
|
|
#include <QDataStream>
|
|
|
|
|
#include <QIODevice>
|
|
|
|
|
#include <QString>
|
|
|
|
|
#include <QVector>
|
|
|
|
|
|
|
|
|
|
struct InfoClient {
|
|
|
|
|
QString id;
|
|
|
|
|
QString name;
|
|
|
|
|
|
|
|
|
|
void serialize(QDataStream& data) const
|
|
|
|
|
{
|
|
|
|
|
data << id << name;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void deserialize(QDataStream& data)
|
|
|
|
|
{
|
|
|
|
|
data >> id >> name;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
QDataStream& operator<<(QDataStream& data, const InfoClient& info);
|
|
|
|
|
QDataStream& operator>>(QDataStream& data, InfoClient& info);
|
|
|
|
|
|
|
|
|
|
struct InfoClientVec {
|
|
|
|
|
QVector<InfoClient> vec;
|
|
|
|
|
|
|
|
|
|
void serialize(QDataStream& data) const
|
|
|
|
|
{
|
2025-06-25 10:54:04 +08:00
|
|
|
uint32_t size = static_cast<uint32_t>(vec.size());
|
|
|
|
|
data << size;
|
2025-06-14 09:27:50 +08:00
|
|
|
for (const auto& info : vec) {
|
|
|
|
|
data << info;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void deserialize(QDataStream& data)
|
|
|
|
|
{
|
2025-06-25 10:54:04 +08:00
|
|
|
uint32_t size = 0;
|
2025-06-14 09:27:50 +08:00
|
|
|
data >> size;
|
|
|
|
|
vec.resize(size);
|
|
|
|
|
for (quint32 i = 0; i < size; ++i) {
|
|
|
|
|
data >> vec[i];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
2025-06-15 14:31:54 +08:00
|
|
|
#endif // INFO_CLIENT_H
|