29 : _metabundle(NULL), _bundle(NULL), _primaryblock(NULL), _block(NULL),
30 _block_length(0), _peer(NULL), _protocol(dtn::core::
Node::CONN_UNDEFINED), _routing(NULL)
47 if (_metabundle == NULL)
throw FilterException(
"attribute not present in this context");
54 _primaryblock = &data;
59 if (_bundle == NULL)
throw FilterException(
"attribute not present in this context");
65 if (_metabundle != NULL)
return *_metabundle;
66 if (_primaryblock != NULL)
return *_primaryblock;
67 throw FilterException(
"attribute not present in this context");
72 _primaryblock = &data;
77 if (_primaryblock == NULL)
throw FilterException(
"attribute not present in this context");
78 return *_primaryblock;
89 if (_block == NULL)
throw FilterException(
"attribute not present in this context");
95 if (_block == NULL)
throw FilterException(
"attribute not present in this context");
106 if (_peer == NULL)
throw FilterException(
"attribute not present in this context");
112 _protocol = protocol;
128 if (_routing == NULL)
throw FilterException(
"attribute not present in this context");
129 return _routing->
getTag();
139 if (_next != NULL)
delete _next;
const dtn::data::Bundle & getBundle() const
virtual const std::string getTag() const
void setBundle(const dtn::data::Bundle &data)
dtn::core::Node::Protocol getProtocol() const
virtual ACTION evaluate(const FilterContext &context) const
virtual ACTION filter(const FilterContext &context, dtn::data::Bundle &bundle) const
const dtn::data::BundleID & getBundleID() const
void setProtocol(const dtn::core::Node::Protocol &protocol)
const dtn::data::PrimaryBlock & getPrimaryBlock() const
BundleFilter * append(BundleFilter *filter)
const dtn::data::MetaBundle & getMetaBundle() const
dtn::data::Number getBlockLength() const
void setMetaBundle(const dtn::data::MetaBundle &data)
const dtn::data::Block & getBlock() const
void setBlock(const dtn::data::Block &block, const dtn::data::Number &size)
const std::string getRoutingTag() const
void setRouting(const dtn::routing::RoutingExtension &routing)
const dtn::data::EID & setPeer() const
void setPrimaryBlock(const dtn::data::PrimaryBlock &data)