#include <PayloadBlockFactory.h>

Public Member Functions | |
| PayloadBlockFactory () | |
| virtual Block * | parse (const unsigned char *data, unsigned int size) |
| virtual Block * | copy (const Block &block) |
| virtual char | getBlockType () const |
Static Public Member Functions | |
| static PayloadBlock * | newPayloadBlock (const unsigned char *data, unsigned int size) |
| static StatusReportBlock * | newStatusReportBlock () |
| static CustodySignalBlock * | newCustodySignalBlock (bool accepted) |
| static PayloadBlock * | merge (PayloadBlock *p1, PayloadBlock *p2, unsigned int p2offset) |
| static AdministrativeBlock * | castAdministrativeBlock (PayloadBlock *block) |
| dtn::data::PayloadBlockFactory::PayloadBlockFactory | ( | ) |
| Block * dtn::data::PayloadBlockFactory::parse | ( | const unsigned char * | data, | |
| unsigned int | size | |||
| ) | [virtual] |
Parse existing data for fields of this block.
| [in] | data | Data-array to parse. |
| [in] | size | The length of the data-array. |
Reimplemented from dtn::data::BlockFactory.
References dtn::data::BlockFactory::BlockFactory().
Copy a existing block to a new block
| [in] | block | The block to copy. |
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] |
Create a new PayloadBlock with the given data as payload.
| [in] | data | The payload data for the PayloadBlock. |
| [in] | size | The length of the data-array. |
References dtn::data::NetworkFrame::append(), dtn::data::PayloadBlock::BLOCK_TYPE, dtn::data::Block::getFrame(), dtn::data::BlockFactory::newBlock(), dtn::data::NetworkFrame::set(), and dtn::data::PayloadBlock::setPayload().
Referenced by dtn::data::BundleFactory::cut(), merge(), and dtn::data::BundleFactory::slice().
| StatusReportBlock * dtn::data::PayloadBlockFactory::newStatusReportBlock | ( | ) | [static] |
| CustodySignalBlock * dtn::data::PayloadBlockFactory::newCustodySignalBlock | ( | bool | accepted | ) | [static] |
References dtn::data::NetworkFrame::append(), dtn::data::PayloadBlock::BLOCK_TYPE, dtn::data::CUSTODY_SIGNAL, dtn::data::BundleFactory::getDTNTime(), dtn::data::Block::getFrame(), dtn::data::ProcessingFlags::getValue(), dtn::data::BlockFactory::newBlock(), dtn::data::NetworkFrame::set(), dtn::data::ProcessingFlags::setFlag(), and dtn::data::Block::updateBlockSize().
| PayloadBlock * dtn::data::PayloadBlockFactory::merge | ( | PayloadBlock * | p1, | |
| PayloadBlock * | p2, | |||
| unsigned int | p2offset | |||
| ) | [static] |
Merge two payloads to one.
| [in] | p1 | The first payload. |
| [in] | p2 | The second payload. |
| [in] | p2offset | The relative offset of p2 to p1. |
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.
| [in] | block | A payload block which contains administrative data. |
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] |
1.5.6