//
// Generated file, do not edit! Created by opp_msgc 4.1 from common/cbr/CoordMessages.msg.
//

#ifndef _COORDMESSAGES_M_H_
#define _COORDMESSAGES_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 <TransportAddress.h>
#include <CommonMessages_m.h>

static const int LAYER_L = 8;

#define COORDSOFNODECALL_L(msg) BASECALL_L(msg)
#define COORDSOFNODERESPONSE_L(msg) (BASERESPONSE_L(msg) + LAYER_L)
// }}



/**
 * Class generated from <tt>common/cbr/CoordMessages.msg</tt> by opp_msgc.
 * <pre>
 * packet CoordsOfNodeCall extends BaseCallMessage
 * {
 * }
 * </pre>
 */
class CoordsOfNodeCall : public ::BaseCallMessage
{
  protected:

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

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

    // field getter/setter methods
};

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

/**
 * Class generated from <tt>common/cbr/CoordMessages.msg</tt> by opp_msgc.
 * <pre>
 * packet RttToNodeCall extends BaseCallMessage
 * {
 *     TransportAddress nodeToPing;
 * }
 * </pre>
 */
class RttToNodeCall : public ::BaseCallMessage
{
  protected:
    ::TransportAddress nodeToPing_var;

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

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

    // field getter/setter methods
    virtual TransportAddress& getNodeToPing();
    virtual const TransportAddress& getNodeToPing() const {return const_cast<RttToNodeCall*>(this)->getNodeToPing();}
    virtual void setNodeToPing(const TransportAddress& nodeToPing_var);
};

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

/**
 * Class generated from <tt>common/cbr/CoordMessages.msg</tt> by opp_msgc.
 * <pre>
 * packet CoordsOfNodeResponse extends BaseResponseMessage
 * {
 *     
 *     char layer;
 * }
 * </pre>
 */
class CoordsOfNodeResponse : public ::BaseResponseMessage
{
  protected:
    char layer_var;

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

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

    // field getter/setter methods
    virtual char getLayer() const;
    virtual void setLayer(char layer_var);
};

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

/**
 * Class generated from <tt>common/cbr/CoordMessages.msg</tt> by opp_msgc.
 * <pre>
 * packet RttToNodeResponse extends BaseResponseMessage
 * {
 *     TransportAddress pingedNode;
 *     double ownCoordinates[];
 *     simtime_t rttToNode;
 * }
 * </pre>
 */
class RttToNodeResponse : public ::BaseResponseMessage
{
  protected:
    ::TransportAddress pingedNode_var;
    double *ownCoordinates_var; // array ptr
    unsigned int ownCoordinates_arraysize;
    simtime_t rttToNode_var;

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

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

    // field getter/setter methods
    virtual TransportAddress& getPingedNode();
    virtual const TransportAddress& getPingedNode() const {return const_cast<RttToNodeResponse*>(this)->getPingedNode();}
    virtual void setPingedNode(const TransportAddress& pingedNode_var);
    virtual void setOwnCoordinatesArraySize(unsigned int size);
    virtual unsigned int getOwnCoordinatesArraySize() const;
    virtual double getOwnCoordinates(unsigned int k) const;
    virtual void setOwnCoordinates(unsigned int k, double ownCoordinates_var);
    virtual simtime_t getRttToNode() const;
    virtual void setRttToNode(simtime_t rttToNode_var);
};

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


#endif // _COORDMESSAGES_M_H_
