dtn::data::PayloadBlockFactory Class Reference

#include <PayloadBlockFactory.h>

Inheritance diagram for dtn::data::PayloadBlockFactory:

dtn::data::BlockFactory

List of all members.

Public Member Functions

 PayloadBlockFactory ()
virtual Blockparse (const unsigned char *data, unsigned int size)
virtual Blockcopy (const Block &block)
virtual char getBlockType () const

Static Public Member Functions

static PayloadBlocknewPayloadBlock (const unsigned char *data, unsigned int size)
static StatusReportBlocknewStatusReportBlock ()
static CustodySignalBlocknewCustodySignalBlock (bool accepted)
static PayloadBlockmerge (PayloadBlock *p1, PayloadBlock *p2, unsigned int p2offset)
static AdministrativeBlockcastAdministrativeBlock (PayloadBlock *block)


Constructor & Destructor Documentation

dtn::data::PayloadBlockFactory::PayloadBlockFactory (  ) 


Member Function Documentation

Block * dtn::data::PayloadBlockFactory::parse ( const unsigned char *  data,
unsigned int  size 
) [virtual]

Parse existing data for fields of this block.

Parameters:
[in] data Data-array to parse.
[in] size The length of the data-array.
Returns:
The consumed bytes of the data-array.

Reimplemented from dtn::data::BlockFactory.

References dtn::data::BlockFactory::BlockFactory().

Block * dtn::data::PayloadBlockFactory::copy ( const Block block  )  [virtual]

Copy a existing block to a new block

Parameters:
[in] block The block to copy.
Returns:
A copy of the given block.

Reimplemented from dtn::data::BlockFactory.

References castAdministrativeBlock(), dtn::data::CUSTODY_SIGNAL, dtn::data::Block::getFrame(), dtn::data::AdministrativeBlock::identify(), dtn::data::Block::isAdministrativeBlock(), and dtn::data::STATUS_REPORT.

PayloadBlock * dtn::data::PayloadBlockFactory::newPayloadBlock ( const unsigned char *  data,
unsigned int  size 
) [static]

StatusReportBlock * dtn::data::PayloadBlockFactory::newStatusReportBlock (  )  [static]

CustodySignalBlock * dtn::data::PayloadBlockFactory::newCustodySignalBlock ( bool  accepted  )  [static]

PayloadBlock * dtn::data::PayloadBlockFactory::merge ( PayloadBlock p1,
PayloadBlock p2,
unsigned int  p2offset 
) [static]

Merge two payloads to one.

Parameters:
[in] p1 The first payload.
[in] p2 The second payload.
[in] p2offset The relative offset of p2 to p1.
Returns:
A new payload with the merged data.

References dtn::data::PayloadBlock::getLength(), dtn::data::PayloadBlock::getPayload(), and newPayloadBlock().

Referenced by dtn::data::BundleFactory::merge().

AdministrativeBlock * dtn::data::PayloadBlockFactory::castAdministrativeBlock ( PayloadBlock block  )  [static]

Casts a PayloadBlock into a AdministrativeBlock. The PayloadBlock will be deleted within the execution.

Parameters:
[in] block A payload block which contains administrative data.
Returns:
a AdministrativeBlock object.

References dtn::data::CUSTODY_SIGNAL, dtn::data::Block::dissociateNetworkFrame(), dtn::data::AdministrativeBlock::identify(), and dtn::data::STATUS_REPORT.

Referenced by copy(), and dtn::data::BundleFactory::parse().

char dtn::data::PayloadBlockFactory::getBlockType (  )  const [virtual]


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

Generated on Wed Mar 25 12:41:43 2009 for IBR-DTN by  doxygen 1.5.6