IBR-DTNSuite 0.6

ibrdtn/ibrdtn/data/MetaBundle.h

Go to the documentation of this file.
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_ */