Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _SCTPMESSAGE_H_
00020 #define _SCTPMESSAGE_H_
00021
00022 #include <list>
00023 #include "INETDefs.h"
00024 #include "SCTPMessage_m.h"
00025
00030 class INET_API SCTPMessage : public SCTPMessage_Base
00031 {
00032 protected:
00033 std::list<cPacket*> chunkList;
00034
00035 public:
00036 SCTPMessage(const char *name=NULL, int32 kind=0) : SCTPMessage_Base(name,kind) {}
00037 SCTPMessage(const SCTPMessage& other) : SCTPMessage_Base(other.getName()) {operator=(other);}
00038 ~SCTPMessage();
00039 SCTPMessage& operator=(const SCTPMessage& other);
00040 virtual SCTPMessage *dup() const {return new SCTPMessage(*this);}
00042 virtual void setChunksArraySize(uint32 size);
00044 virtual void setChunks(uint32 k, const cPacketPtr& chunks_var);
00048 virtual uint32 getChunksArraySize() const;
00049
00053 virtual cPacketPtr& getChunks(uint32 k);
00057 virtual void addChunk(cPacket* msg);
00058
00062 virtual cPacket *removeChunk();
00063 virtual cPacket *removeLastChunk();
00064 virtual cPacket *peekFirstChunk();
00065 virtual cPacket *peekLastChunk();
00073 };
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098 class INET_API SCTPErrorChunk : public SCTPErrorChunk_Base
00099 {
00100 protected:
00101 std::list<cPacket*> parameterList;
00102
00103 public:
00104 SCTPErrorChunk(const char *name=NULL, int32 kind=0) : SCTPErrorChunk_Base(name, kind) {};
00105 SCTPErrorChunk(const SCTPErrorChunk& other) : SCTPErrorChunk_Base(other.getName()) {operator=(other);};
00106 SCTPErrorChunk& operator=(const SCTPErrorChunk& other);
00107
00108 virtual SCTPErrorChunk *dup() const {return new SCTPErrorChunk(*this);}
00109 virtual void setParametersArraySize(uint32 size);
00110 virtual uint32 getParametersArraySize() const;
00112 virtual void setParameters(uint32 k, const cPacketPtr& parameters_var);
00113
00117 virtual cPacketPtr& getParameters(uint32 k);
00121 virtual void addParameters(cPacket* msg);
00122
00126 virtual cPacket *removeParameter();
00127 };
00128 #endif
00129
00130