Stellarium
23.4
|
Base interface for the messages themselves, allowing to serialize/deserialize them. More...
#include <SyncProtocol.hpp>
Public Member Functions | |
virtual SyncProtocol::SyncMessageType | getMessageType () const =0 |
Subclasses must return the message type this message represents. | |
qint64 | createFullMessage (QByteArray &target) const |
Writes a full message (with header) to the specified byte array. More... | |
virtual void | serialize (QDataStream &stream) const |
Subclasses should override this to serialize their contents to the data stream. More... | |
virtual bool | deserialize (QDataStream &stream, SyncProtocol::tPayloadSize dataSize) |
Subclasses should override this to load their contents from the data stream. More... | |
virtual QString | toString () const |
Subclasses can override this to provide proper debug output. More... | |
Static Public Member Functions | |
static QString | toString (SyncMessageType type) |
Print enum name for SyncMessageType type. | |
Static Protected Member Functions | |
static void | writeString (QDataStream &stream, const QString &str) |
static QString | readString (QDataStream &stream) |
Base interface for the messages themselves, allowing to serialize/deserialize them.
qint64 SyncProtocol::SyncMessage::createFullMessage | ( | QByteArray & | target | ) | const |
Writes a full message (with header) to the specified byte array.
Returns the total message size. If zero, the payload is too large for a SyncMessage.
|
virtual |
Subclasses should override this to load their contents from the data stream.
The default implementation expects a zero dataSize, and reads nothing.
Reimplemented in SyncProtocol::View, SyncProtocol::StelPropertyUpdate, SyncProtocol::Selection, SyncProtocol::Location, SyncProtocol::Time, SyncProtocol::ClientChallengeResponse, SyncProtocol::ServerChallenge, and SyncProtocol::ErrorMessage.
|
virtual |
Subclasses should override this to serialize their contents to the data stream.
The default implementation writes nothing.
Reimplemented in SyncProtocol::View, SyncProtocol::StelPropertyUpdate, SyncProtocol::Selection, SyncProtocol::Location, SyncProtocol::Time, SyncProtocol::ClientChallengeResponse, SyncProtocol::ServerChallenge, and SyncProtocol::ErrorMessage.
|
virtual |
Subclasses can override this to provide proper debug output.
The default just prints the message type.
Reimplemented in SyncProtocol::StelPropertyUpdate, and SyncProtocol::Selection.