![]() |
Stellarium
0.16.1
|
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. More... | |
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 QDebug | debugOutput (QDebug dbg) const |
Subclasses can override this to provide proper debug output. More... | |
Static Protected Member Functions | |
static void | writeString (QDataStream &stream, const QString &str) |
static QString | readString (QDataStream &stream) |
Friends | |
QDebug | operator<< (QDebug dbg, const SyncMessage &msg) |
Base interface for the messages themselves, allowing to serialize/deserialize them.
Definition at line 124 of file SyncProtocol.hpp.
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.
|
inlinevirtual |
Subclasses can override this to provide proper debug output.
The default just prints the message type.
Reimplemented in SyncProtocol::StelPropertyUpdate, and SyncProtocol::Selection.
Definition at line 145 of file SyncProtocol.hpp.
|
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::Fov, SyncProtocol::View, SyncProtocol::StelPropertyUpdate, SyncProtocol::Selection, SyncProtocol::Location, SyncProtocol::Time, SyncProtocol::ClientChallengeResponse, SyncProtocol::ServerChallenge, and SyncProtocol::ErrorMessage.
|
pure virtual |
Subclasses must return the message type this message represents.
Implemented in SyncProtocol::Fov, SyncProtocol::View, SyncProtocol::StelPropertyUpdate, SyncProtocol::Alive, SyncProtocol::Selection, SyncProtocol::Location, SyncProtocol::Time, SyncProtocol::ServerChallengeResponseValid, 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::Fov, SyncProtocol::View, SyncProtocol::StelPropertyUpdate, SyncProtocol::Selection, SyncProtocol::Location, SyncProtocol::Time, SyncProtocol::ClientChallengeResponse, SyncProtocol::ServerChallenge, and SyncProtocol::ErrorMessage.