AggrPkt.h

00001 
00002 #ifndef AGGR_PKT_
00003 #define AGGR_PKT_
00004 
00005 #include "AggrPkt_m.h"
00006 
00007 #include <list>
00008 
00009 using namespace std;
00010 
00011 class AggrPkt : public AggrPkt_Base
00012 {
00013   public:
00014     AggrPkt(const char *name=NULL, int kind=0) : AggrPkt_Base(name,kind) {}
00015     AggrPkt(const AggrPkt& other) : AggrPkt_Base(other.getName()) {operator=(other);}
00016     AggrPkt& operator=(const AggrPkt& other) {AggrPkt_Base::operator=(other); return *this;}
00017     virtual AggrPkt *dup() const {return new AggrPkt(*this);}
00018 
00019     // array methods
00020     // do not use these
00021     virtual void setStoredPacketsArraySize(unsigned int size);
00022     virtual unsigned int getStoredPacketsArraySize() const;
00023     virtual pApplPkt& getStoredPackets(unsigned int k);
00024     virtual void setStoredPackets(unsigned int k, const pApplPkt& storedPackets_var);
00025     // instead, use those:
00026     virtual void storePacket(pApplPkt& storedPackets_var);
00027     virtual bool isEmpty();
00028     virtual pApplPkt& popFrontPacket();
00029   protected:
00030     list<pApplPkt> storedPackets;
00031 
00032 };
00033 
00034 #endif
00035