KademliaMessage_m.h

Go to the documentation of this file.
00001 //
00002 // Generated file, do not edit! Created by opp_msgc 4.1 from overlay/kademlia/KademliaMessage.msg.
00003 //
00004 
00005 #ifndef _KADEMLIAMESSAGE_M_H_
00006 #define _KADEMLIAMESSAGE_M_H_
00007 
00008 #include <omnetpp.h>
00009 
00010 // opp_msgc version check
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 // cplusplus {{
00017 #include <KademliaNodeHandle.h>
00018 #include <OverlayKey.h>
00019 #include <CommonMessages_m.h>
00020 
00021 static const int ALIVEFLAG_L = 8;
00022 #define MARKEDNODEHANDLE_L (NODEHANDLE_L + ALIVEFLAG_L)
00023 
00024 #define KADEMLIAROUTINGINFO_L(msg) (BASEOVERLAY_L(msg) + NODEHANDLE_L + \
00025                                     KEY_L + \
00026                                     msg->getNextHopsArraySize() * \
00027                                     MARKEDNODEHANDLE_L)
00028 // }}
00029 
00030 
00031 
00043 class KademliaRoutingInfoMessage : public ::BaseOverlayMessage
00044 {
00045   protected:
00046     ::NodeHandle srcNode_var;
00047     ::OverlayKey destKey_var;
00048     ::MarkedNodeHandle *nextHops_var; // array ptr
00049     unsigned int nextHops_arraysize;
00050 
00051     // protected and unimplemented operator==(), to prevent accidental usage
00052     bool operator==(const KademliaRoutingInfoMessage&);
00053 
00054   public:
00055     KademliaRoutingInfoMessage(const char *name=NULL, int kind=0);
00056     KademliaRoutingInfoMessage(const KademliaRoutingInfoMessage& other);
00057     virtual ~KademliaRoutingInfoMessage();
00058     KademliaRoutingInfoMessage& operator=(const KademliaRoutingInfoMessage& other);
00059     virtual KademliaRoutingInfoMessage *dup() const {return new KademliaRoutingInfoMessage(*this);}
00060     virtual void parsimPack(cCommBuffer *b);
00061     virtual void parsimUnpack(cCommBuffer *b);
00062 
00063     // field getter/setter methods
00064     virtual NodeHandle& getSrcNode();
00065     virtual const NodeHandle& getSrcNode() const {return const_cast<KademliaRoutingInfoMessage*>(this)->getSrcNode();}
00066     virtual void setSrcNode(const NodeHandle& srcNode_var);
00067     virtual OverlayKey& getDestKey();
00068     virtual const OverlayKey& getDestKey() const {return const_cast<KademliaRoutingInfoMessage*>(this)->getDestKey();}
00069     virtual void setDestKey(const OverlayKey& destKey_var);
00070     virtual void setNextHopsArraySize(unsigned int size);
00071     virtual unsigned int getNextHopsArraySize() const;
00072     virtual MarkedNodeHandle& getNextHops(unsigned int k);
00073     virtual const MarkedNodeHandle& getNextHops(unsigned int k) const {return const_cast<KademliaRoutingInfoMessage*>(this)->getNextHops(k);}
00074     virtual void setNextHops(unsigned int k, const MarkedNodeHandle& nextHops_var);
00075 };
00076 
00077 inline void doPacking(cCommBuffer *b, KademliaRoutingInfoMessage& obj) {obj.parsimPack(b);}
00078 inline void doUnpacking(cCommBuffer *b, KademliaRoutingInfoMessage& obj) {obj.parsimUnpack(b);}
00079 
00080 
00081 #endif // _KADEMLIAMESSAGE_M_H_