Ceylan::Middleware::ProtocolEndpoint Class Reference

Designates a protocol endpoint, which is an abstraction for both the client and the server side. More...

#include <CeylanProtocolEndpoint.h>

Inheritance diagram for Ceylan::Middleware::ProtocolEndpoint:

Inheritance graph
[legend]
Collaboration diagram for Ceylan::Middleware::ProtocolEndpoint:

Collaboration graph
[legend]

List of all members.

Public Types

enum  TextOutputFormat { rawText, html }
 Defines what text output formats for TextDisplayable instances are available. More...

Public Member Functions

 ProtocolEndpoint (Marshaller &marshaller)
 Constructs a new protocol endpoint.
virtual ~ProtocolEndpoint () throw ()
 Virtual destructor.
virtual const std::string toString (Ceylan::VerbosityLevels level=Ceylan::high) const
 Returns a user-friendly description of the state of this object.

Static Public Member Functions

static const std::string ToString (std::list< TextDisplayable * > displayables, Ceylan::VerbosityLevels level=Ceylan::high)
 Returns a user-friendly description of this list of pointers to text displayable instances.
static TextOutputFormat GetOutputFormat ()
 Returns the current overall text format to be used by TextDisplayable instances.
static void SetOutputFormat (TextOutputFormat newOutputFormat)
 Sets the current overall text format to be used by TextDisplayable instances.

Protected Attributes

Marshaller_marshaller
 The marshaller that will be used to (de)serialize informations of this endpoint.

Static Protected Attributes

static TextOutputFormat _OutputFormat = rawText
 The text format to be used currently by TextDisplayable instances.

Private Member Functions

 ProtocolEndpoint (const ProtocolEndpoint &source)
 Copy constructor made private to ensure that it will be never called.
ProtocolEndpointoperator= (const ProtocolEndpoint &source)
 Assignment operator made private to ensure that it will be never called.


Detailed Description

Designates a protocol endpoint, which is an abstraction for both the client and the server side.

A protocol endpoint is built on top of an InputOutputStream, this stream being most often a network one, or a pipe one.

A protocol needs a Marshaller object to read and write informations from and to the stream.

Definition at line 90 of file CeylanProtocolEndpoint.h.


Member Enumeration Documentation

Defines what text output formats for TextDisplayable instances are available.

Enumerator:
rawText 
html 

Definition at line 124 of file CeylanTextDisplayable.h.


Constructor & Destructor Documentation

ProtocolEndpoint::ProtocolEndpoint ( Marshaller marshaller  ) 

Constructs a new protocol endpoint.

Parameters:
marshaller a marshaller that will encode and/or decode data to/from the stream it encapsulates, on the behalf of this protocol endpoint so that the actual protocol-driven informations are properly serialized.
As marshallers are per-connection objects, a protocol endpoint takes ownership of its marshaller and will delete it when itself deleted.

Definition at line 60 of file CeylanProtocolEndpoint.cc.

ProtocolEndpoint::~ProtocolEndpoint (  )  throw () [virtual]

Virtual destructor.

Definition at line 69 of file CeylanProtocolEndpoint.cc.

References _marshaller.

Ceylan::Middleware::ProtocolEndpoint::ProtocolEndpoint ( const ProtocolEndpoint source  )  [private]

Copy constructor made private to ensure that it will be never called.

The compiler should complain whenever this undefined constructor is called, implicitly or not.


Member Function Documentation

TextDisplayable::TextOutputFormat TextDisplayable::GetOutputFormat (  )  [static, inherited]

ProtocolEndpoint& Ceylan::Middleware::ProtocolEndpoint::operator= ( const ProtocolEndpoint source  )  [private]

Assignment operator made private to ensure that it will be never called.

The compiler should complain whenever this undefined operator is called, implicitly or not.

void TextDisplayable::SetOutputFormat ( TextOutputFormat  newOutputFormat  )  [static, inherited]

Sets the current overall text format to be used by TextDisplayable instances.

Parameters:
newOutputFormat the new output format.

Definition at line 72 of file CeylanTextDisplayable.cc.

References Ceylan::TextDisplayable::_OutputFormat.

Referenced by Ceylan::Log::LogHolder::LogHolder().

const std::string TextDisplayable::ToString ( std::list< TextDisplayable * >  displayables,
Ceylan::VerbosityLevels  level = Ceylan::high 
) [static, inherited]

Returns a user-friendly description of this list of pointers to text displayable instances.

Parameters:
displayables a list of pointers to TextDisplayable instances/
level the requested verbosity level.
Note:
Text output format is determined from overall settings.
See also:
toString, Ceylan::VerbosityLevels

Definition at line 45 of file CeylanTextDisplayable.cc.

References Ceylan::formatStringList().

const string ProtocolEndpoint::toString ( Ceylan::VerbosityLevels  level = Ceylan::high  )  const [virtual]

Returns a user-friendly description of the state of this object.

Parameters:
level the requested verbosity level.
Note:
Text output format is determined from overall settings.
See also:
TextDisplayable

Implements Ceylan::TextDisplayable.

Reimplemented in Ceylan::Middleware::ProtocolServer.

Definition at line 78 of file CeylanProtocolEndpoint.cc.

References _marshaller, Ceylan::low, and Ceylan::Middleware::Marshaller::toString().


Member Data Documentation

The marshaller that will be used to (de)serialize informations of this endpoint.

Definition at line 146 of file CeylanProtocolEndpoint.h.

Referenced by toString(), and ~ProtocolEndpoint().

TextDisplayable::TextOutputFormat TextDisplayable::_OutputFormat = rawText [static, protected, inherited]

The text format to be used currently by TextDisplayable instances.

Note:
Defaults to raw text.

Definition at line 158 of file CeylanTextDisplayable.h.

Referenced by Ceylan::TextDisplayable::GetOutputFormat(), and Ceylan::TextDisplayable::SetOutputFormat().


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

Generated on Thu Jun 4 20:40:37 2009 for Ceylan by  doxygen 1.5.8