Go to the documentation of this file.00001
00002
00003
00004
00005 #ifndef _I3MESSAGE_M_H_
00006 #define _I3MESSAGE_M_H_
00007
00008 #include <omnetpp.h>
00009
00010
00011 #define MSGC_VERSION 0x0401
00012 #if (MSGC_VERSION!=OMNETPP_VERSION)
00013 # error Version mismatch! Probably this file was generated by an earlier version of opp_msgc: 'make clean' should help.
00014 #endif
00015
00016
00017 #include "I3Trigger.h"
00018 #include "I3IdentifierStack.h"
00019 #include "I3Identifier.h"
00020 #include "I3IPAddress.h"
00021
00022 #define I3TYPE_L 2
00023 #define I3BOOL_L 1
00024 #define I3TIME_L 32
00025 #define INSERT_TRIGGER_L(msg) (I3TYPE_L + I3BOOL_L + msg->getTrigger().length() + msg->getSource().length())
00026 #define QUERY_REPLY_L(msg) (I3TYPE_L + msg->getSource().length() + msg->getIdentifier().length() + I3TIME_L)
00027 #define REMOVE_TRIGGER_L(msg) (I3TYPE_L + msg->getTrigger().length())
00028 #define SEND_PACKET_L(msg) (I3TYPE_L + msg->getIdentifierStack().length() + msg->getMatchedTrigger().length())
00029
00030
00031
00032
00046 enum I3MessageType {
00047 INSERT_TRIGGER = 0,
00048 QUERY_REPLY = 1,
00049 REMOVE_TRIGGER = 2,
00050 SEND_PACKET = 3
00051 };
00052
00062 class I3Message : public ::cPacket
00063 {
00064 protected:
00065 int type_var;
00066
00067
00068 bool operator==(const I3Message&);
00069
00070 public:
00071 I3Message(const char *name=NULL, int kind=0);
00072 I3Message(const I3Message& other);
00073 virtual ~I3Message();
00074 I3Message& operator=(const I3Message& other);
00075 virtual I3Message *dup() const {return new I3Message(*this);}
00076 virtual void parsimPack(cCommBuffer *b);
00077 virtual void parsimUnpack(cCommBuffer *b);
00078
00079
00080 virtual int getType() const;
00081 virtual void setType(int type_var);
00082 };
00083
00084 inline void doPacking(cCommBuffer *b, I3Message& obj) {obj.parsimPack(b);}
00085 inline void doUnpacking(cCommBuffer *b, I3Message& obj) {obj.parsimUnpack(b);}
00086
00120 class I3InsertTriggerMessage_Base : public ::I3Message
00121 {
00122 protected:
00123 bool sendReply_var;
00124 ::I3Trigger trigger_var;
00125 ::I3IPAddress source_var;
00126
00127
00128 bool operator==(const I3InsertTriggerMessage_Base&);
00129
00130 I3InsertTriggerMessage_Base(const char *name=NULL, int kind=0);
00131 I3InsertTriggerMessage_Base(const I3InsertTriggerMessage_Base& other);
00132
00133 I3InsertTriggerMessage_Base& operator=(const I3InsertTriggerMessage_Base& other);
00134
00135 public:
00136 virtual ~I3InsertTriggerMessage_Base();
00137 virtual I3InsertTriggerMessage_Base *dup() const {throw cRuntimeError("You forgot to manually add a dup() function to class I3InsertTriggerMessage");}
00138 virtual void parsimPack(cCommBuffer *b);
00139 virtual void parsimUnpack(cCommBuffer *b);
00140
00141
00142 virtual bool getSendReply() const;
00143 virtual void setSendReply(bool sendReply_var);
00144 virtual I3Trigger& getTrigger();
00145 virtual const I3Trigger& getTrigger() const {return const_cast<I3InsertTriggerMessage_Base*>(this)->getTrigger();}
00146 virtual void setTrigger(const I3Trigger& trigger_var);
00147 virtual I3IPAddress& getSource();
00148 virtual const I3IPAddress& getSource() const {return const_cast<I3InsertTriggerMessage_Base*>(this)->getSource();}
00149 virtual void setSource(const I3IPAddress& source_var);
00150 };
00151
00185 class I3QueryReplyMessage_Base : public ::I3Message
00186 {
00187 protected:
00188 ::I3IPAddress source_var;
00189 ::I3Identifier identifier_var;
00190 simtime_t sendingTime_var;
00191
00192
00193 bool operator==(const I3QueryReplyMessage_Base&);
00194
00195 I3QueryReplyMessage_Base(const char *name=NULL, int kind=0);
00196 I3QueryReplyMessage_Base(const I3QueryReplyMessage_Base& other);
00197
00198 I3QueryReplyMessage_Base& operator=(const I3QueryReplyMessage_Base& other);
00199
00200 public:
00201 virtual ~I3QueryReplyMessage_Base();
00202 virtual I3QueryReplyMessage_Base *dup() const {throw cRuntimeError("You forgot to manually add a dup() function to class I3QueryReplyMessage");}
00203 virtual void parsimPack(cCommBuffer *b);
00204 virtual void parsimUnpack(cCommBuffer *b);
00205
00206
00207 virtual I3IPAddress& getSource();
00208 virtual const I3IPAddress& getSource() const {return const_cast<I3QueryReplyMessage_Base*>(this)->getSource();}
00209 virtual void setSource(const I3IPAddress& source_var);
00210 virtual I3Identifier& getIdentifier();
00211 virtual const I3Identifier& getIdentifier() const {return const_cast<I3QueryReplyMessage_Base*>(this)->getIdentifier();}
00212 virtual void setIdentifier(const I3Identifier& identifier_var);
00213 virtual simtime_t getSendingTime() const;
00214 virtual void setSendingTime(simtime_t sendingTime_var);
00215 };
00216
00248 class I3RemoveTriggerMessage_Base : public ::I3Message
00249 {
00250 protected:
00251 ::I3Trigger trigger_var;
00252
00253
00254 bool operator==(const I3RemoveTriggerMessage_Base&);
00255
00256 I3RemoveTriggerMessage_Base(const char *name=NULL, int kind=0);
00257 I3RemoveTriggerMessage_Base(const I3RemoveTriggerMessage_Base& other);
00258
00259 I3RemoveTriggerMessage_Base& operator=(const I3RemoveTriggerMessage_Base& other);
00260
00261 public:
00262 virtual ~I3RemoveTriggerMessage_Base();
00263 virtual I3RemoveTriggerMessage_Base *dup() const {throw cRuntimeError("You forgot to manually add a dup() function to class I3RemoveTriggerMessage");}
00264 virtual void parsimPack(cCommBuffer *b);
00265 virtual void parsimUnpack(cCommBuffer *b);
00266
00267
00268 virtual I3Trigger& getTrigger();
00269 virtual const I3Trigger& getTrigger() const {return const_cast<I3RemoveTriggerMessage_Base*>(this)->getTrigger();}
00270 virtual void setTrigger(const I3Trigger& trigger_var);
00271 };
00272
00307 class I3SendPacketMessage_Base : public ::I3Message
00308 {
00309 protected:
00310 ::I3IdentifierStack identifierStack_var;
00311 ::I3Trigger matchedTrigger_var;
00312 bool sendReply_var;
00313 ::I3IPAddress source_var;
00314
00315
00316 bool operator==(const I3SendPacketMessage_Base&);
00317
00318 I3SendPacketMessage_Base(const char *name=NULL, int kind=0);
00319 I3SendPacketMessage_Base(const I3SendPacketMessage_Base& other);
00320
00321 I3SendPacketMessage_Base& operator=(const I3SendPacketMessage_Base& other);
00322
00323 public:
00324 virtual ~I3SendPacketMessage_Base();
00325 virtual I3SendPacketMessage_Base *dup() const {throw cRuntimeError("You forgot to manually add a dup() function to class I3SendPacketMessage");}
00326 virtual void parsimPack(cCommBuffer *b);
00327 virtual void parsimUnpack(cCommBuffer *b);
00328
00329
00330 virtual I3IdentifierStack& getIdentifierStack();
00331 virtual const I3IdentifierStack& getIdentifierStack() const {return const_cast<I3SendPacketMessage_Base*>(this)->getIdentifierStack();}
00332 virtual void setIdentifierStack(const I3IdentifierStack& identifierStack_var);
00333 virtual I3Trigger& getMatchedTrigger();
00334 virtual const I3Trigger& getMatchedTrigger() const {return const_cast<I3SendPacketMessage_Base*>(this)->getMatchedTrigger();}
00335 virtual void setMatchedTrigger(const I3Trigger& matchedTrigger_var);
00336 virtual bool getSendReply() const;
00337 virtual void setSendReply(bool sendReply_var);
00338 virtual I3IPAddress& getSource();
00339 virtual const I3IPAddress& getSource() const {return const_cast<I3SendPacketMessage_Base*>(this)->getSource();}
00340 virtual void setSource(const I3IPAddress& source_var);
00341 };
00342
00343
00344 #endif // _I3MESSAGE_M_H_