//
// Generated file, do not edit! Created by opp_msgc 4.1 from overlay/myoverlay/MyOverlay.msg.
//

#ifndef _MYOVERLAY_M_H_
#define _MYOVERLAY_M_H_

#include <omnetpp.h>

// opp_msgc version check
#define MSGC_VERSION 0x0401
#if (MSGC_VERSION!=OMNETPP_VERSION)
#    error Version mismatch! Probably this file was generated by an earlier version of opp_msgc: 'make clean' should help.
#endif

// cplusplus {{
#include <NodeHandle.h>
#include <OverlayKey.h>
#include <CommonMessages_m.h>
// }}



/**
 * Class generated from <tt>overlay/myoverlay/MyOverlay.msg</tt> by opp_msgc.
 * <pre>
 * packet MyNeighborCall extends BaseCallMessage
 * {
 *     OverlayKey destinationKey;
 * };
 * </pre>
 */
class MyNeighborCall : public ::BaseCallMessage
{
  protected:
    ::OverlayKey destinationKey_var;

    // protected and unimplemented operator==(), to prevent accidental usage
    bool operator==(const MyNeighborCall&);

  public:
    MyNeighborCall(const char *name=NULL, int kind=0);
    MyNeighborCall(const MyNeighborCall& other);
    virtual ~MyNeighborCall();
    MyNeighborCall& operator=(const MyNeighborCall& other);
    virtual MyNeighborCall *dup() const {return new MyNeighborCall(*this);}
    virtual void parsimPack(cCommBuffer *b);
    virtual void parsimUnpack(cCommBuffer *b);

    // field getter/setter methods
    virtual OverlayKey& getDestinationKey();
    virtual const OverlayKey& getDestinationKey() const {return const_cast<MyNeighborCall*>(this)->getDestinationKey();}
    virtual void setDestinationKey(const OverlayKey& destinationKey_var);
};

inline void doPacking(cCommBuffer *b, MyNeighborCall& obj) {obj.parsimPack(b);}
inline void doUnpacking(cCommBuffer *b, MyNeighborCall& obj) {obj.parsimUnpack(b);}

/**
 * Class generated from <tt>overlay/myoverlay/MyOverlay.msg</tt> by opp_msgc.
 * <pre>
 * packet MyNeighborResponse extends BaseResponseMessage
 * {
 *     NodeHandle respondingNode;
 *     NodeHandle prevNeighbor;
 *     NodeHandle nextNeighbor;
 * };
 * </pre>
 */
class MyNeighborResponse : public ::BaseResponseMessage
{
  protected:
    ::NodeHandle respondingNode_var;
    ::NodeHandle prevNeighbor_var;
    ::NodeHandle nextNeighbor_var;

    // protected and unimplemented operator==(), to prevent accidental usage
    bool operator==(const MyNeighborResponse&);

  public:
    MyNeighborResponse(const char *name=NULL, int kind=0);
    MyNeighborResponse(const MyNeighborResponse& other);
    virtual ~MyNeighborResponse();
    MyNeighborResponse& operator=(const MyNeighborResponse& other);
    virtual MyNeighborResponse *dup() const {return new MyNeighborResponse(*this);}
    virtual void parsimPack(cCommBuffer *b);
    virtual void parsimUnpack(cCommBuffer *b);

    // field getter/setter methods
    virtual NodeHandle& getRespondingNode();
    virtual const NodeHandle& getRespondingNode() const {return const_cast<MyNeighborResponse*>(this)->getRespondingNode();}
    virtual void setRespondingNode(const NodeHandle& respondingNode_var);
    virtual NodeHandle& getPrevNeighbor();
    virtual const NodeHandle& getPrevNeighbor() const {return const_cast<MyNeighborResponse*>(this)->getPrevNeighbor();}
    virtual void setPrevNeighbor(const NodeHandle& prevNeighbor_var);
    virtual NodeHandle& getNextNeighbor();
    virtual const NodeHandle& getNextNeighbor() const {return const_cast<MyNeighborResponse*>(this)->getNextNeighbor();}
    virtual void setNextNeighbor(const NodeHandle& nextNeighbor_var);
};

inline void doPacking(cCommBuffer *b, MyNeighborResponse& obj) {obj.parsimPack(b);}
inline void doUnpacking(cCommBuffer *b, MyNeighborResponse& obj) {obj.parsimUnpack(b);}


#endif // _MYOVERLAY_M_H_
