Protocols::Http::ConcreteProtocol Class Reference

#include <ConcreteProtocol.h> [code]

Inherits Protocols::Http::Protocol.

Inheritance diagram for Protocols::Http::ConcreteProtocol:

Inheritance graph
[legend]
Collaboration diagram for Protocols::Http::ConcreteProtocol:

Collaboration graph
[legend]
List of all members.

Detailed Description

Concrete implementation for the HTTP Protocol.

Definition at line 37 of file ConcreteProtocol.h.

Public Member Functions

 ConcreteProtocol ()
 Constructor.
 ~ConcreteProtocol ()
 Destructor.
Header createHeader (const QByteArray &rawBytes)
 Header object factory method.
BodyReadercreateBodyReader (const Header &header)
 BodyReader object factory.
BodyWritercreateBodyWriter (const Header &header)
 BodyReader object factory.
void destroyBodyReader (BodyReader *)
 Destroys the reader object previously created with createBodyReader().
void destroyBodyWriter (BodyWriter *)
 Destroys the writer object previously created with createBodyWriter().

Private Types

typedef auto_ptr< BodyReaderReaderPointer
typedef auto_ptr< BodyWriterWriterPointer

Private Member Functions

 ConcreteProtocol (const ConcreteProtocol &)
ConcreteProtocoloperator= (const ConcreteProtocol &)
ReaderPointer doCreateBodyReader (const HeaderBase &header)
 Helper to create a BodyReader object corresponding to header.
WriterPointer doCreateBodyWriter (const HeaderBase &header)
 Helper to create a BodyWriter object corresponding to header.
BodyReaderaddBodyReader (ReaderPointer reader)
 Helper called to track of a newly created reader.
BodyWriteraddBodyWriter (WriterPointer writer)
 Helper called to keep track of a newly created writer.

Private Attributes

QSet< BodyReader * > bodyReaders
QSet< BodyWriter * > bodyWriters


Member Typedef Documentation

typedef auto_ptr<BodyReader> Protocols::Http::ConcreteProtocol::ReaderPointer [private]
 

Definition at line 51 of file ConcreteProtocol.h.

typedef auto_ptr<BodyWriter> Protocols::Http::ConcreteProtocol::WriterPointer [private]
 

Definition at line 52 of file ConcreteProtocol.h.


Constructor & Destructor Documentation

Protocols::Http::ConcreteProtocol::ConcreteProtocol const ConcreteProtocol  )  [private]
 

ConcreteProtocol::ConcreteProtocol  ) 
 

Constructor.

Definition at line 33 of file ConcreteProtocol.cpp.

ConcreteProtocol::~ConcreteProtocol  ) 
 

Destructor.

Definition at line 38 of file ConcreteProtocol.cpp.


Member Function Documentation

BodyReader * ConcreteProtocol::addBodyReader ReaderPointer  reader  )  [private]
 

Helper called to track of a newly created reader.

Definition at line 163 of file ConcreteProtocol.cpp.

BodyWriter * ConcreteProtocol::addBodyWriter WriterPointer  writer  )  [private]
 

Helper called to keep track of a newly created writer.

Definition at line 172 of file ConcreteProtocol.cpp.

BodyReader * ConcreteProtocol::createBodyReader const Header header  )  [virtual]
 

BodyReader object factory.

Parameters:
header is the header from which to figure out the transfer encoding applied to the HTTP message body.
Returns:
A pointer to a newly created BodyReader object.
Note:
The ConcreteProtocol object retains ownership of the returned BodyReader object. Make sure you fee it by calling destroyBodyReader().
See also:
destroyBodyReader()

Implements Protocols::Http::Protocol.

Definition at line 75 of file ConcreteProtocol.cpp.

BodyWriter * ConcreteProtocol::createBodyWriter const Header header  )  [virtual]
 

BodyReader object factory.

Parameters:
header is the header from which to figure out the transfer encoding to apply to the HTTP message body.
Returns:
A pointer to a newly created BodyWriter object.
Note:
The ConcreteProtocol object retains ownership of the returned BodyWriter object. Make sure you fee it by calling destroyBodyWriter().
See also:
destroyBodyWriter()

Implements Protocols::Http::Protocol.

Definition at line 112 of file ConcreteProtocol.cpp.

Header ConcreteProtocol::createHeader const QByteArray &  rawBytes  )  [virtual]
 

Header object factory method.

Parameters:
rawBytes are the bytes which the method tries to parse.
Returns:
A RequestHeader object wrapped in a Header object if rawBytes parse as an HTTP request header.

A ResponseHeader object wrapped in a Header object if rawBytes paese as an HTTP response header.

Header() if rawBytes cannot be parsed.

Implements Protocols::Http::Protocol.

Definition at line 52 of file ConcreteProtocol.cpp.

void ConcreteProtocol::destroyBodyReader BodyReader reader  )  [virtual]
 

Destroys the reader object previously created with createBodyReader().

Precondition:
reader must have be created by a call to createBodyReader().

reader must not have been already destroyed by destroyBodyReader().

Implements Protocols::Http::Protocol.

Definition at line 143 of file ConcreteProtocol.cpp.

void ConcreteProtocol::destroyBodyWriter BodyWriter writer  )  [virtual]
 

Destroys the writer object previously created with createBodyWriter().

Precondition:
reader must have be created by a call to createBodyWriter().

reader must not have been already destroyed by destroyBodyWriter().

Implements Protocols::Http::Protocol.

Definition at line 155 of file ConcreteProtocol.cpp.

ConcreteProtocol::ReaderPointer ConcreteProtocol::doCreateBodyReader const HeaderBase header  )  [private]
 

Helper to create a BodyReader object corresponding to header.

Definition at line 83 of file ConcreteProtocol.cpp.

ConcreteProtocol::WriterPointer ConcreteProtocol::doCreateBodyWriter const HeaderBase header  )  [private]
 

Helper to create a BodyWriter object corresponding to header.

Definition at line 120 of file ConcreteProtocol.cpp.

ConcreteProtocol& Protocols::Http::ConcreteProtocol::operator= const ConcreteProtocol  )  [private]
 


Member Data Documentation

QSet<BodyReader *> Protocols::Http::ConcreteProtocol::bodyReaders [private]
 

Definition at line 59 of file ConcreteProtocol.h.

QSet<BodyWriter *> Protocols::Http::ConcreteProtocol::bodyWriters [private]
 

Definition at line 60 of file ConcreteProtocol.h.


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