#include <VendorMessage.h> [code]
Inherits Gnutella::Packets::Packet.
Inherited by Gnutella::Packets::VendorMessages::QueryStatusRequest, Gnutella::Packets::VendorMessages::QueryStatusResponse, and Gnutella::Packets::VendorMessages::SupportedMessages.
Inheritance diagram for Gnutella::Packets::VendorMessages::VendorMessage:


This class is used for both vendor messages (payloadDescriptior = 0x31) and for standardized vendor messages (payloadDesctiptor = 0x32).
The table below presents the data fields required for all kinds of vendor messages. The concrete derived classes can define additional fileds.
| Byte Offset | Field Name | getFunction | setFunction |
| 0..3 | Vendor Code | vendorCode | N/A |
| 4..5 | Message Type | messageType | N/A |
| 6..7 | Version Number | messageType | N/A |
Definition at line 48 of file VendorMessage.h.
Public Member Functions | |
| VendorMessage (PayloadDescriptor, VendorCode, quint16 messageType, quint16 verionNumber) | |
| VendorMessage (const QByteArray &rawHeader, const QByteArray &rawPayload) | |
| ~VendorMessage () | |
| VendorCode | vendorCode () const |
| quint16 | messageType () const |
| quint16 | versionNumber () const |
Static Public Member Functions | |
| static VendorMessage & | castFrom (Packet &packet) |
| static const VendorMessage & | castFrom (const Packet &packet) |
| static Packet * | fromRawData (const QByteArray &rawHeader, const QByteArray &rawPayload) |
Protected Member Functions | |
| virtual bool | prepareReadPayload (const QByteArray &rawPayload)=0 |
| Checks the lenght of the payload. | |
| virtual void | readPayload (QDataStream &stream)=0 |
| Reads the 8 bytes of VendorMessage header. | |
| virtual int | prepareWritePayload () const =0 |
| Returns the number of bytes in the VendorMessage header. | |
| virtual void | writePayload (QDataStream &stream) const =0 |
| Writes the VendorMessage header. | |
Protected Attributes | |
| Gnutella::Packets::VendorMessages::VendorMessage::Data | p |
Classes | |
| struct | Data |
|
||||||||||||||||||||
|
Creates a default VectorMessage object without extensions. Definition at line 30 of file VendorMessage.cpp. |
|
||||||||||||
|
Creates a VectorMessage object from the raw bytes in rawHeader and rawPayload. Definition at line 46 of file VendorMessage.cpp. |
|
|
Destroys a VendorMessage object. Definition at line 55 of file VendorMessage.cpp. |
|
|
Reimplemented in Gnutella::Packets::VendorMessages::QueryStatusRequest, Gnutella::Packets::VendorMessages::QueryStatusResponse, and Gnutella::Packets::VendorMessages::SupportedMessages. Definition at line 52 of file VendorMessage.h. |
|
|
Reimplemented in Gnutella::Packets::VendorMessages::QueryStatusRequest, Gnutella::Packets::VendorMessages::QueryStatusResponse, and Gnutella::Packets::VendorMessages::SupportedMessages. Definition at line 51 of file VendorMessage.h. |
|
||||||||||||
|
This function plays the role of a virtual constructor. Once you have read the complete raw data for a packet (yes, you should be aware of the format in order to do this, see PacketReader), call this function, which will create an object calling new and return it. Make sure you delete the object when done with it.
Reimplemented from Gnutella::Packets::Packet. Definition at line 106 of file VendorMessage.cpp. |
|
|
Definition at line 85 of file VendorMessage.h. |
|
|
Checks the lenght of the payload. Overrides might call this function before doing their own check afterwards. Implements Gnutella::Packets::Packet. Implemented in Gnutella::Packets::VendorMessages::QueryStatusRequest, Gnutella::Packets::VendorMessages::QueryStatusResponse, and Gnutella::Packets::VendorMessages::SupportedMessages. Definition at line 63 of file VendorMessage.cpp. |
|
|
Returns the number of bytes in the VendorMessage header. Call this function to get the size of the VendorMessage header. Implements Gnutella::Packets::Packet. Implemented in Gnutella::Packets::VendorMessages::QueryStatusRequest, Gnutella::Packets::VendorMessages::QueryStatusResponse, and Gnutella::Packets::VendorMessages::SupportedMessages. Definition at line 83 of file VendorMessage.cpp. |
|
|
Reads the 8 bytes of VendorMessage header. Overrides should call this function before reading any data th. Implements Gnutella::Packets::Packet. Implemented in Gnutella::Packets::VendorMessages::QueryStatusRequest, Gnutella::Packets::VendorMessages::QueryStatusResponse, and Gnutella::Packets::VendorMessages::SupportedMessages. Definition at line 72 of file VendorMessage.cpp. |
|
|
Definition at line 82 of file VendorMessage.h. |
|
|
Definition at line 88 of file VendorMessage.h. |
|
|
Writes the VendorMessage header. Overrides should call this function before writing any data themselves. Implements Gnutella::Packets::Packet. Implemented in Gnutella::Packets::VendorMessages::QueryStatusRequest, Gnutella::Packets::VendorMessages::QueryStatusResponse, and Gnutella::Packets::VendorMessages::SupportedMessages. Definition at line 92 of file VendorMessage.cpp. |
|
|
Reimplemented in Gnutella::Packets::VendorMessages::QueryStatusResponse, and Gnutella::Packets::VendorMessages::SupportedMessages. |