|
IBR-DTNSuite 0.6
|
00001 /* 00002 * MetaBundle.h 00003 * 00004 * Created on: 16.02.2010 00005 * Author: morgenro 00006 */ 00007 00008 #ifndef METABUNDLE_H_ 00009 #define METABUNDLE_H_ 00010 00011 #include "ibrdtn/data/BundleID.h" 00012 #include "ibrdtn/data/Bundle.h" 00013 #include "ibrdtn/data/DTNTime.h" 00014 #include "ibrdtn/data/EID.h" 00015 00016 namespace dtn 00017 { 00018 namespace data 00019 { 00020 class MetaBundle : public dtn::data::BundleID 00021 { 00022 public: 00023 MetaBundle(); 00024 00025 MetaBundle(const dtn::data::BundleID &id, const size_t lifetime, const dtn::data::DTNTime received = dtn::data::DTNTime(), 00026 const dtn::data::EID destination = dtn::data::EID(), const dtn::data::EID reportto = dtn::data::EID(), 00027 const dtn::data::EID custodian = dtn::data::EID(), const size_t appdatalength = 0, const size_t procflags = 0); 00028 00029 MetaBundle(const dtn::data::Bundle &b); 00030 virtual ~MetaBundle(); 00031 00032 int getPriority() const; 00033 bool get(dtn::data::PrimaryBlock::FLAGS flag) const; 00034 00035 dtn::data::DTNTime received; 00036 size_t lifetime; 00037 dtn::data::EID destination; 00038 dtn::data::EID reportto; 00039 dtn::data::EID custodian; 00040 size_t appdatalength; 00041 size_t procflags; 00042 size_t expiretime; 00043 }; 00044 } 00045 } 00046 00047 #endif /* METABUNDLE_H_ */