diff --git a/libs/main/console/pikbdlistener.h b/libs/main/console/pikbdlistener.h index 3dc32283..e544b539 100644 --- a/libs/main/console/pikbdlistener.h +++ b/libs/main/console/pikbdlistener.h @@ -247,12 +247,28 @@ private: }; +//! \relatesalso PIBinaryStream +//! \~english Store operator +//! \~russian Оператор сохранения BINARY_STREAM_WRITE(PIKbdListener::MouseEvent) {s << v.x << v.y << v.action << v.buttons << v.modifiers; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Restore operator +//! \~russian Оператор извлечения BINARY_STREAM_READ (PIKbdListener::MouseEvent) {s >> v.x >> v.y >> v.action >> v.buttons >> v.modifiers; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Store operator +//! \~russian Оператор сохранения BINARY_STREAM_WRITE(PIKbdListener::WheelEvent) {s << (*(PIKbdListener::MouseEvent*)&v) << v.direction; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Restore operator +//! \~russian Оператор извлечения BINARY_STREAM_READ (PIKbdListener::WheelEvent) {s >> (*(PIKbdListener::MouseEvent*)&v) >> v.direction; return s;} + REGISTER_PIVARIANTSIMPLE(PIKbdListener::KeyEvent) REGISTER_PIVARIANTSIMPLE(PIKbdListener::MouseEvent) REGISTER_PIVARIANTSIMPLE(PIKbdListener::WheelEvent) diff --git a/libs/main/console/piscreentypes.h b/libs/main/console/piscreentypes.h index 328ea87f..e4c9146c 100644 --- a/libs/main/console/piscreentypes.h +++ b/libs/main/console/piscreentypes.h @@ -146,12 +146,28 @@ namespace PIScreenTypes { //inline PIByteArray & operator <<(PIByteArray & s, const PIScreenTypes::Cell & v) {s << v.format.raw_format << v.symbol; return s;} //inline PIByteArray & operator >>(PIByteArray & s, PIScreenTypes::Cell & v) {s >> v.format.raw_format >> v.symbol; return s;} +//! \relatesalso PIBinaryStream +//! \~english Store operator +//! \~russian Оператор сохранения BINARY_STREAM_WRITE(PIScreenTypes::Cell) {s << v.format.raw_format << v.symbol; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Restore operator +//! \~russian Оператор извлечения BINARY_STREAM_READ (PIScreenTypes::Cell) {s >> v.format.raw_format >> v.symbol; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Store operator +//! \~russian Оператор сохранения BINARY_STREAM_WRITE(PIScreenTypes::TileEvent) {s << v.type << v.data; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Restore operator +//! \~russian Оператор извлечения BINARY_STREAM_READ (PIScreenTypes::TileEvent) {s >> v.type >> v.data; return s;} + REGISTER_PIVARIANTSIMPLE(PIScreenTypes::TileEvent) #endif // PISCREENTYPES_H diff --git a/libs/main/core/pibytearray.cpp b/libs/main/core/pibytearray.cpp index 0f950aea..7786f0e9 100644 --- a/libs/main/core/pibytearray.cpp +++ b/libs/main/core/pibytearray.cpp @@ -65,7 +65,7 @@ //! а не просто добавляет его содержимое в конец. Этот оператор полезен для управляемой //! упаковки произвольных данных в виде %PIByteArray. //! Для добавления содержимого одного байтового массива к другому используется -//! метов \a append(). +//! метод \a append(). //! \~\snippet pibytearray.cpp 3 //! diff --git a/libs/main/core/pibytearray.h b/libs/main/core/pibytearray.h index b1262ca8..34e82093 100644 --- a/libs/main/core/pibytearray.h +++ b/libs/main/core/pibytearray.h @@ -1205,11 +1205,18 @@ inline std::ostream & operator <<(std::ostream & s, const PIByteArray & ba); PIP_EXPORT PICout operator <<(PICout s, const PIByteArray & ba); +//! \relatesalso PIBinaryStream +//! \~english Store operator. +//! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PIByteArray) { s.binaryStreamAppend((int)v.size_s()); s.binaryStreamAppend(v.data(), v.size()); return s; } + +//! \relatesalso PIBinaryStream +//! \~english Restore operator. +//! \~russian Оператор извлечения. BINARY_STREAM_READ(PIByteArray) { v.resize(s.binaryStreamTakeInt()); s.binaryStreamTake(v.data(), v.size()); diff --git a/libs/main/core/pipropertystorage.h b/libs/main/core/pipropertystorage.h index fefb3fa3..6649ec3f 100644 --- a/libs/main/core/pipropertystorage.h +++ b/libs/main/core/pipropertystorage.h @@ -271,10 +271,25 @@ protected: }; +//! \relatesalso PIBinaryStream +//! \~english Store operator. +//! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PIPropertyStorage::Property) {s << v.name << v.value << v.comment << v.flags; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Restore operator. +//! \~russian Оператор извлечения. BINARY_STREAM_READ (PIPropertyStorage::Property) {s >> v.name >> v.value >> v.comment >> v.flags; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Store operator. +//! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PIPropertyStorage) {s << v.properties(); return s;} + +//! \relatesalso PIBinaryStream +//! \~english Restore operator. +//! \~russian Оператор извлечения. BINARY_STREAM_READ (PIPropertyStorage) {s >> v.properties(); return s;} diff --git a/libs/main/core/pistring.h b/libs/main/core/pistring.h index 9266de92..47625b9f 100644 --- a/libs/main/core/pistring.h +++ b/libs/main/core/pistring.h @@ -1523,12 +1523,12 @@ private: //! \~russian Оператор вывода в \a PICout. PIP_EXPORT PICout operator <<(PICout s, const PIString & v); -//! \relatesalso PIByteArray +//! \relatesalso PIBinaryStream //! \~english Store operator. //! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PIString) {s << v.d; return s;} -//! \relatesalso PIByteArray +//! \relatesalso PIBinaryStream //! \~english Restore operator. //! \~russian Оператор извлечения. BINARY_STREAM_READ(PIString) {s >> v.d; return s;} diff --git a/libs/main/core/pistringlist.h b/libs/main/core/pistringlist.h index 53b3a1b7..61c65fb8 100644 --- a/libs/main/core/pistringlist.h +++ b/libs/main/core/pistringlist.h @@ -126,10 +126,17 @@ public: }; +//! \relatesalso PIBinaryStream +//! \~english Store operator. +//! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PIStringList) { s << static_cast &>(v); return s; } + +//! \relatesalso PIBinaryStream +//! \~english Restore operator. +//! \~russian Оператор извлечения. BINARY_STREAM_READ(PIStringList) { s >> static_cast &>(v); return s; diff --git a/libs/main/core/pivariant.h b/libs/main/core/pivariant.h index 5a33a0c1..f9e5c68c 100644 --- a/libs/main/core/pivariant.h +++ b/libs/main/core/pivariant.h @@ -773,6 +773,9 @@ REGISTER_VARIANT(PIMathVectord) REGISTER_VARIANT(PIMathMatrixd) +//! \relatesalso PIBinaryStream +//! \~english Store operator. +//! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PIVariant) { s << v._content << v._type; if (v._type == PIVariant::pivCustom) { @@ -788,6 +791,10 @@ BINARY_STREAM_WRITE(PIVariant) { } return s; } + +//! \relatesalso PIBinaryStream +//! \~english Restore operator. +//! \~russian Оператор извлечения. BINARY_STREAM_READ(PIVariant) { s >> v._content >> v._type; if (v._type == PIVariant::pivCustom) { diff --git a/libs/main/core/pivarianttypes.h b/libs/main/core/pivarianttypes.h index 17b0546b..dc23bf8a 100644 --- a/libs/main/core/pivarianttypes.h +++ b/libs/main/core/pivarianttypes.h @@ -176,22 +176,71 @@ inline PICout operator <<(PICout s, const PIVariantTypes::Color & v) {s.saveCont inline PICout operator <<(PICout s, const PIVariantTypes::IODevice & v) {s << v.toPICout(); return s;} + +//! \relatesalso PIBinaryStream +//! \~english Store operator. +//! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PIVariantTypes::Enumerator) {s << v.value << v.name; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Restore operator. +//! \~russian Оператор извлечения. BINARY_STREAM_READ (PIVariantTypes::Enumerator) {s >> v.value >> v.name; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Store operator. +//! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PIVariantTypes::Enum) {s << v.enum_name << v.selected << v.enum_list; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Restore operator. +//! \~russian Оператор извлечения. BINARY_STREAM_READ (PIVariantTypes::Enum) {s >> v.enum_name >> v.selected >> v.enum_list; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Store operator. +//! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PIVariantTypes::File) {s << v.file << v.filter << uchar((v.is_abs ? 1 : 0) + (v.is_save ? 2 : 0)); return s;} + +//! \relatesalso PIBinaryStream +//! \~english Restore operator. +//! \~russian Оператор извлечения. BINARY_STREAM_READ (PIVariantTypes::File) {uchar f(0); s >> v.file >> v.filter >> f; v.is_abs = ((f & 1) == 1); v.is_save = ((f & 2) == 2); return s;} + +//! \relatesalso PIBinaryStream +//! \~english Store operator. +//! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PIVariantTypes::Dir) {s << v.dir << v.is_abs; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Restore operator. +//! \~russian Оператор извлечения. BINARY_STREAM_READ (PIVariantTypes::Dir) {s >> v.dir >> v.is_abs; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Store operator. +//! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PIVariantTypes::Color) {s << v.rgba; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Restore operator. +//! \~russian Оператор извлечения. BINARY_STREAM_READ (PIVariantTypes::Color) {s >> v.rgba; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Store operator. +//! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PIVariantTypes::IODevice) {s << v.prefix << v.mode << v.options << v.props; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Restore operator. +//! \~russian Оператор извлечения. BINARY_STREAM_READ (PIVariantTypes::IODevice) {s >> v.prefix >> v.mode >> v.options >> v.props; return s;} + #endif // PIVARIANTYPES_H diff --git a/libs/main/io_devices/pifile.h b/libs/main/io_devices/pifile.h index 55b70534..f0c3c05d 100644 --- a/libs/main/io_devices/pifile.h +++ b/libs/main/io_devices/pifile.h @@ -344,18 +344,18 @@ inline PICout operator <<(PICout s, const PIFile::FileInfo & v) { } -//! \relatesalso PIByteArray -//! \~english Store operator -//! \~russian Оператор сохранения +//! \relatesalso PIBinaryStream +//! \~english Store operator. +//! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PIFile::FileInfo) { s << v.path << v.size << v.time_access << v.time_modification << v.flags << v.id_user << v.id_group << v.perm_user.raw << v.perm_group.raw << v.perm_other.raw; return s; } -//! \relatesalso PIByteArray -//! \~english Restore operator -//! \~russian Оператор извлечения +//! \relatesalso PIBinaryStream +//! \~english Restore operator. +//! \~russian Оператор извлечения. BINARY_STREAM_READ(PIFile::FileInfo) { s >> v.path >> v.size >> v.time_access >> v.time_modification >> v.flags >> v.id_user >> v.id_group >> v.perm_user.raw >> v.perm_group.raw >> v.perm_other.raw; diff --git a/libs/main/io_devices/pipeer.h b/libs/main/io_devices/pipeer.h index 47c7172b..38f88fd5 100644 --- a/libs/main/io_devices/pipeer.h +++ b/libs/main/io_devices/pipeer.h @@ -209,10 +209,27 @@ private: inline PICout operator <<(PICout c, const PIPeer::PeerInfo::PeerAddress & v) {c.space(); c << "PeerAddress(" << v.address << ", " << v.netmask << ", " << v.ping << ")"; return c;} inline PICout operator <<(PICout c, const PIPeer::PeerInfo & v) {c.space(); c << "PeerInfo(" << v.name << ", " << v.dist << ", " << v.addresses << ")"; return c;} + +//! \relatesalso PIBinaryStream +//! \~english Store operator. +//! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PIPeer::PeerInfo::PeerAddress) {s << v.address << v.netmask << v.ping; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Restore operator. +//! \~russian Оператор извлечения. BINARY_STREAM_READ (PIPeer::PeerInfo::PeerAddress) {s >> v.address >> v.netmask >> v.ping; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Store operator. +//! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PIPeer::PeerInfo) {s << v.name << v.addresses << v.dist << v.neighbours << v.cnt << v.time; return s;} + +//! \relatesalso PIBinaryStream +//! \~english Restore operator. +//! \~russian Оператор извлечения. BINARY_STREAM_READ (PIPeer::PeerInfo) {s >> v.name >> v.addresses >> v.dist >> v.neighbours >> v.cnt >> v.time; return s;} + #endif // PIPEER_H diff --git a/libs/main/io_devices/piserial.h b/libs/main/io_devices/piserial.h index 84b0bca7..54277eb4 100644 --- a/libs/main/io_devices/piserial.h +++ b/libs/main/io_devices/piserial.h @@ -333,14 +333,15 @@ inline bool operator ==(const PISerial::DeviceInfo & v0, const PISerial::DeviceI //! \~russian Оператор сравнения inline bool operator !=(const PISerial::DeviceInfo & v0, const PISerial::DeviceInfo & v1) {return v0.path != v1.path;} -//! \relatesalso PIByteArray -//! \~english Store operator -//! \~russian Оператор сохранения + +//! \relatesalso PIBinaryStream +//! \~english Store operator. +//! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PISerial::DeviceInfo) {s << v.vID << v.pID << v.path << v.description << v.manufacturer; return s;} -//! \relatesalso PIByteArray -//! \~english Restore operator -//! \~russian Оператор извлечения +//! \relatesalso PIBinaryStream +//! \~english Restore operator. +//! \~russian Оператор извлечения. BINARY_STREAM_READ (PISerial::DeviceInfo) {s >> v.vID >> v.pID >> v.path >> v.description >> v.manufacturer; return s;} diff --git a/libs/main/io_utils/pibasetransfer.h b/libs/main/io_utils/pibasetransfer.h index 7e2e7438..8c632ba2 100644 --- a/libs/main/io_utils/pibasetransfer.h +++ b/libs/main/io_utils/pibasetransfer.h @@ -144,6 +144,7 @@ private: PIString pm_string; }; + BINARY_STREAM_WRITE(PIBaseTransfer::PacketHeader) {s << v.sig << v.type << v.session_id << v.id << v.crc; return s;} BINARY_STREAM_READ (PIBaseTransfer::PacketHeader) {s >> v.sig >> v.type >> v.session_id >> v.id >> v.crc; return s;} diff --git a/libs/main/system/pisystemmonitor.h b/libs/main/system/pisystemmonitor.h index 4a323616..3d1f3630 100644 --- a/libs/main/system/pisystemmonitor.h +++ b/libs/main/system/pisystemmonitor.h @@ -291,16 +291,18 @@ inline PICout operator <<(PICout s, const PISystemMonitor::ThreadStats & v) { } -//! \~english Store operator -//! \~russian Оператор сохранения +//! \relatesalso PIBinaryStream +//! \~english Store operator. +//! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PISystemMonitor::ProcessStats) { s << PIMemoryBlock(&v, sizeof(PISystemMonitor::ProcessStatsFixed)) << v.exec_name << v.state; return s; } -//! \~english Restore operator -//! \~russian Оператор извлечения +//! \relatesalso PIBinaryStream +//! \~english Restore operator. +//! \~russian Оператор извлечения. BINARY_STREAM_READ (PISystemMonitor::ProcessStats) { s >> PIMemoryBlock(&v, sizeof(PISystemMonitor::ProcessStatsFixed)) >> v.exec_name >> v.state; @@ -308,16 +310,18 @@ BINARY_STREAM_READ (PISystemMonitor::ProcessStats) { return s; } -//! \~english Store operator -//! \~russian Оператор сохранения +//! \relatesalso PIBinaryStream +//! \~english Store operator. +//! \~russian Оператор сохранения. BINARY_STREAM_WRITE(PISystemMonitor::ThreadStats) { s << PIMemoryBlock(&v, sizeof(PISystemMonitor::ThreadStatsFixed)) << v.name; return s; } -//! \~english Restore operator -//! \~russian Оператор извлечения +//! \relatesalso PIBinaryStream +//! \~english Restore operator. +//! \~russian Оператор извлечения. BINARY_STREAM_READ (PISystemMonitor::ThreadStats) { s >> PIMemoryBlock(&v, sizeof(PISystemMonitor::ThreadStatsFixed)) >> v.name;