Gnutella::Packets::Extensions::Extension Class Reference

#include <Extension.h> [code]

Inherited by Gnutella::Packets::Extensions::GgepBlock, Gnutella::Packets::Extensions::UnknownExtension, Gnutella::Packets::Extensions::Urn, and Gnutella::Packets::Extensions::Xml.

Inheritance diagram for Gnutella::Packets::Extensions::Extension:

Inheritance graph
[legend]
List of all members.

Detailed Description

Optional extension to any type of Packet.

Todo:
Add support for the possible packet extensions: GGEP, HUGE, EQHD, what else?

An unknown extension will have data and dataSize fields.

Definition at line 37 of file Extension.h.

Public Member Functions

virtual ~Extension ()
virtual Extensioncopy () const =0
bool isValid () const
virtual int prepareRead (const QByteArray &rawData)=0
virtual void read (QDataStream &stream)=0
virtual int prepareWrite () const =0
virtual void write (QDataStream &stream) const =0

Protected Member Functions

 Extension ()
void setIsValid (bool isValid)

Private Attributes

bool isValid_


Constructor & Destructor Documentation

virtual Gnutella::Packets::Extensions::Extension::~Extension  )  [inline, virtual]
 

Definition at line 40 of file Extension.h.

Gnutella::Packets::Extensions::Extension::Extension  )  [inline, protected]
 

Definition at line 51 of file Extension.h.


Member Function Documentation

virtual Extension* Gnutella::Packets::Extensions::Extension::copy  )  const [pure virtual]
 

Implemented in Gnutella::Packets::Extensions::GgepBlock, Gnutella::Packets::Extensions::UnknownExtension, Gnutella::Packets::Extensions::Urn, and Gnutella::Packets::Extensions::Xml.

bool Gnutella::Packets::Extensions::Extension::isValid  )  const [inline]
 

Definition at line 43 of file Extension.h.

virtual int Gnutella::Packets::Extensions::Extension::prepareRead const QByteArray &  rawData  )  [pure virtual]
 

Implemented in Gnutella::Packets::Extensions::GgepBlock, Gnutella::Packets::Extensions::UnknownExtension, Gnutella::Packets::Extensions::Urn, and Gnutella::Packets::Extensions::Xml.

virtual int Gnutella::Packets::Extensions::Extension::prepareWrite  )  const [pure virtual]
 

Implemented in Gnutella::Packets::Extensions::GgepBlock, Gnutella::Packets::Extensions::UnknownExtension, Gnutella::Packets::Extensions::Urn, and Gnutella::Packets::Extensions::Xml.

virtual void Gnutella::Packets::Extensions::Extension::read QDataStream &  stream  )  [pure virtual]
 

Implemented in Gnutella::Packets::Extensions::GgepBlock, Gnutella::Packets::Extensions::UnknownExtension, Gnutella::Packets::Extensions::Urn, and Gnutella::Packets::Extensions::Xml.

void Gnutella::Packets::Extensions::Extension::setIsValid bool  isValid  )  [inline, protected]
 

Definition at line 52 of file Extension.h.

virtual void Gnutella::Packets::Extensions::Extension::write QDataStream &  stream  )  const [pure virtual]
 

Implemented in Gnutella::Packets::Extensions::GgepBlock, Gnutella::Packets::Extensions::UnknownExtension, Gnutella::Packets::Extensions::Urn, and Gnutella::Packets::Extensions::Xml.


Member Data Documentation

bool Gnutella::Packets::Extensions::Extension::isValid_ [private]
 

Definition at line 55 of file Extension.h.


The documentation for this class was generated from the following file: