I3Message_m.h
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 0x0400
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
00018 #include "I3Trigger.h"
00019 #include "I3IdentifierStack.h"
00020 #include "I3Identifier.h"
00021 #include "I3IPAddress.h"
00022
00023 #define I3TYPE_L 2
00024 #define I3BOOL_L 1
00025 #define I3TIME_L 32
00026 #define INSERT_TRIGGER_L(msg) (I3TYPE_L + I3BOOL_L + msg->getTrigger().length() + msg->getSource().length())
00027 #define QUERY_REPLY_L(msg) (I3TYPE_L + msg->getSource().length() + msg->getIdentifier().length() + I3TIME_L)
00028 #define REMOVE_TRIGGER_L(msg) (I3TYPE_L + msg->getTrigger().length())
00029 #define SEND_PACKET_L(msg) (I3TYPE_L + msg->getIdentifierStack().length() + msg->getMatchedTrigger().length())
00030
00031
00032
00033
00034
00048 enum I3MessageType {
00049 INSERT_TRIGGER = 0,
00050 QUERY_REPLY = 1,
00051 REMOVE_TRIGGER = 2,
00052 SEND_PACKET = 3
00053 };
00054
00064 class I3Message : public cPacket
00065 {
00066 protected:
00067 int type_var;
00068
00069
00070 bool operator==(const I3Message&);
00071
00072 public:
00073 I3Message(const char *name=NULL, int kind=0);
00074 I3Message(const I3Message& other);
00075 virtual ~I3Message();
00076 I3Message& operator=(const I3Message& other);
00077 virtual I3Message *dup() const {return new I3Message(*this);}
00078 virtual void parsimPack(cCommBuffer *b);
00079 virtual void parsimUnpack(cCommBuffer *b);
00080
00081
00082 virtual int getType() const;
00083 virtual void setType(int type_var);
00084 };
00085
00086 inline void doPacking(cCommBuffer *b, I3Message& obj) {obj.parsimPack(b);}
00087 inline void doUnpacking(cCommBuffer *b, I3Message& obj) {obj.parsimUnpack(b);}
00088
00122 class I3InsertTriggerMessage_Base : public I3Message
00123 {
00124 protected:
00125 bool sendReply_var;
00126 I3Trigger trigger_var;
00127 I3IPAddress source_var;
00128
00129
00130 bool operator==(const I3InsertTriggerMessage_Base&);
00131
00132 I3InsertTriggerMessage_Base(const char *name=NULL, int kind=0);
00133 I3InsertTriggerMessage_Base(const I3InsertTriggerMessage_Base& other);
00134
00135 I3InsertTriggerMessage_Base& operator=(const I3InsertTriggerMessage_Base& other);
00136
00137 public:
00138 virtual ~I3InsertTriggerMessage_Base();
00139 virtual I3InsertTriggerMessage_Base *dup() const {throw cRuntimeError("You forgot to manually add a dup() function to class I3InsertTriggerMessage");}
00140 virtual void parsimPack(cCommBuffer *b);
00141 virtual void parsimUnpack(cCommBuffer *b);
00142
00143
00144 virtual bool getSendReply() const;
00145 virtual void setSendReply(bool sendReply_var);
00146 virtual I3Trigger& getTrigger();
00147 virtual const I3Trigger& getTrigger() const {return const_cast<I3InsertTriggerMessage_Base*>(this)->getTrigger();}
00148 virtual void setTrigger(const I3Trigger& trigger_var);
00149 virtual I3IPAddress& getSource();
00150 virtual const I3IPAddress& getSource() const {return const_cast<I3InsertTriggerMessage_Base*>(this)->getSource();}
00151 virtual void setSource(const I3IPAddress& source_var);
00152 };
00153
00187 class I3QueryReplyMessage_Base : public I3Message
00188 {
00189 protected:
00190 I3IPAddress source_var;
00191 I3Identifier identifier_var;
00192 simtime_t sendingTime_var;
00193
00194
00195 bool operator==(const I3QueryReplyMessage_Base&);
00196
00197 I3QueryReplyMessage_Base(const char *name=NULL, int kind=0);
00198 I3QueryReplyMessage_Base(const I3QueryReplyMessage_Base& other);
00199
00200 I3QueryReplyMessage_Base& operator=(const I3QueryReplyMessage_Base& other);
00201
00202 public:
00203 virtual ~I3QueryReplyMessage_Base();
00204 virtual I3QueryReplyMessage_Base *dup() const {throw cRuntimeError("You forgot to manually add a dup() function to class I3QueryReplyMessage");}
00205 virtual void parsimPack(cCommBuffer *b);
00206 virtual void parsimUnpack(cCommBuffer *b);
00207
00208
00209 virtual I3IPAddress& getSource();
00210 virtual const I3IPAddress& getSource() const {return const_cast<I3QueryReplyMessage_Base*>(this)->getSource();}
00211 virtual void setSource(const I3IPAddress& source_var);
00212 virtual I3Identifier& getIdentifier();
00213 virtual const I3Identifier& getIdentifier() const {return const_cast<I3QueryReplyMessage_Base*>(this)->getIdentifier();}
00214 virtual void setIdentifier(const I3Identifier& identifier_var);
00215 virtual simtime_t getSendingTime() const;
00216 virtual void setSendingTime(simtime_t sendingTime_var);
00217 };
00218
00250 class I3RemoveTriggerMessage_Base : public I3Message
00251 {
00252 protected:
00253 I3Trigger trigger_var;
00254
00255
00256 bool operator==(const I3RemoveTriggerMessage_Base&);
00257
00258 I3RemoveTriggerMessage_Base(const char *name=NULL, int kind=0);
00259 I3RemoveTriggerMessage_Base(const I3RemoveTriggerMessage_Base& other);
00260
00261 I3RemoveTriggerMessage_Base& operator=(const I3RemoveTriggerMessage_Base& other);
00262
00263 public:
00264 virtual ~I3RemoveTriggerMessage_Base();
00265 virtual I3RemoveTriggerMessage_Base *dup() const {throw cRuntimeError("You forgot to manually add a dup() function to class I3RemoveTriggerMessage");}
00266 virtual void parsimPack(cCommBuffer *b);
00267 virtual void parsimUnpack(cCommBuffer *b);
00268
00269
00270 virtual I3Trigger& getTrigger();
00271 virtual const I3Trigger& getTrigger() const {return const_cast<I3RemoveTriggerMessage_Base*>(this)->getTrigger();}
00272 virtual void setTrigger(const I3Trigger& trigger_var);
00273 };
00274
00309 class I3SendPacketMessage_Base : public I3Message
00310 {
00311 protected:
00312 I3IdentifierStack identifierStack_var;
00313 I3Trigger matchedTrigger_var;
00314 bool sendReply_var;
00315 I3IPAddress source_var;
00316
00317
00318 bool operator==(const I3SendPacketMessage_Base&);
00319
00320 I3SendPacketMessage_Base(const char *name=NULL, int kind=0);
00321 I3SendPacketMessage_Base(const I3SendPacketMessage_Base& other);
00322
00323 I3SendPacketMessage_Base& operator=(const I3SendPacketMessage_Base& other);
00324
00325 public:
00326 virtual ~I3SendPacketMessage_Base();
00327 virtual I3SendPacketMessage_Base *dup() const {throw cRuntimeError("You forgot to manually add a dup() function to class I3SendPacketMessage");}
00328 virtual void parsimPack(cCommBuffer *b);
00329 virtual void parsimUnpack(cCommBuffer *b);
00330
00331
00332 virtual I3IdentifierStack& getIdentifierStack();
00333 virtual const I3IdentifierStack& getIdentifierStack() const {return const_cast<I3SendPacketMessage_Base*>(this)->getIdentifierStack();}
00334 virtual void setIdentifierStack(const I3IdentifierStack& identifierStack_var);
00335 virtual I3Trigger& getMatchedTrigger();
00336 virtual const I3Trigger& getMatchedTrigger() const {return const_cast<I3SendPacketMessage_Base*>(this)->getMatchedTrigger();}
00337 virtual void setMatchedTrigger(const I3Trigger& matchedTrigger_var);
00338 virtual bool getSendReply() const;
00339 virtual void setSendReply(bool sendReply_var);
00340 virtual I3IPAddress& getSource();
00341 virtual const I3IPAddress& getSource() const {return const_cast<I3SendPacketMessage_Base*>(this)->getSource();}
00342 virtual void setSource(const I3IPAddress& source_var);
00343 };
00344
00345
00346 #endif // _I3MESSAGE_M_H_