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
00020
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
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