//
// Generated file, do not edit! Created by opp_msgc 4.1 from applications/kbrtestapp/KBRTestMessage.msg.
//

#ifndef _KBRTESTMESSAGE_M_H_
#define _KBRTESTMESSAGE_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 <OverlayKey.h>
#include <IPvXAddress.h>
#include <CommonMessages_m.h>
// }}



/**
 * Class generated from <tt>applications/kbrtestapp/KBRTestMessage.msg</tt> by opp_msgc.
 * <pre>
 * packet KBRTestMessage
 * {
 *     int id;                 
 *     int seqNum;             
 *     bool measurementPhase;  
 *     IPvXAddress visitedNodes[];
 * }
 * </pre>
 */
class KBRTestMessage : public ::cPacket
{
  protected:
    int id_var;
    int seqNum_var;
    bool measurementPhase_var;
    ::IPvXAddress *visitedNodes_var; // array ptr
    unsigned int visitedNodes_arraysize;

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

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

    // field getter/setter methods
    virtual int getId() const;
    virtual void setId(int id_var);
    virtual int getSeqNum() const;
    virtual void setSeqNum(int seqNum_var);
    virtual bool getMeasurementPhase() const;
    virtual void setMeasurementPhase(bool measurementPhase_var);
    virtual void setVisitedNodesArraySize(unsigned int size);
    virtual unsigned int getVisitedNodesArraySize() const;
    virtual IPvXAddress& getVisitedNodes(unsigned int k);
    virtual const IPvXAddress& getVisitedNodes(unsigned int k) const {return const_cast<KBRTestMessage*>(this)->getVisitedNodes(k);}
    virtual void setVisitedNodes(unsigned int k, const IPvXAddress& visitedNodes_var);
};

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

/**
 * Class generated from <tt>applications/kbrtestapp/KBRTestMessage.msg</tt> by opp_msgc.
 * <pre>
 * packet KbrTestCall extends BaseCallMessage
 * {
 * }
 * </pre>
 */
class KbrTestCall : public ::BaseCallMessage
{
  protected:

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

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

    // field getter/setter methods
};

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

/**
 * Class generated from <tt>applications/kbrtestapp/KBRTestMessage.msg</tt> by opp_msgc.
 * <pre>
 * packet KbrTestResponse extends BaseResponseMessage
 * {
 * }
 * </pre>
 */
class KbrTestResponse : public ::BaseResponseMessage
{
  protected:

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

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

    // field getter/setter methods
};

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

/**
 * Class generated from <tt>applications/kbrtestapp/KBRTestMessage.msg</tt> by opp_msgc.
 * <pre>
 * class KbrRpcContext
 * {
 *     OverlayKey destKey;     
 *     TransportAddress destAddr; 
 *     bool measurementPhase;  
 * }
 * </pre>
 */
class KbrRpcContext : public ::cObject
{
  protected:
    ::OverlayKey destKey_var;
    ::TransportAddress destAddr_var;
    bool measurementPhase_var;

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

  public:
    KbrRpcContext();
    KbrRpcContext(const KbrRpcContext& other);
    virtual ~KbrRpcContext();
    KbrRpcContext& operator=(const KbrRpcContext& other);
    virtual KbrRpcContext *dup() const {return new KbrRpcContext(*this);}
    virtual void parsimPack(cCommBuffer *b);
    virtual void parsimUnpack(cCommBuffer *b);

    // field getter/setter methods
    virtual OverlayKey& getDestKey();
    virtual const OverlayKey& getDestKey() const {return const_cast<KbrRpcContext*>(this)->getDestKey();}
    virtual void setDestKey(const OverlayKey& destKey_var);
    virtual TransportAddress& getDestAddr();
    virtual const TransportAddress& getDestAddr() const {return const_cast<KbrRpcContext*>(this)->getDestAddr();}
    virtual void setDestAddr(const TransportAddress& destAddr_var);
    virtual bool getMeasurementPhase() const;
    virtual void setMeasurementPhase(bool measurementPhase_var);
};

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


#endif // _KBRTESTMESSAGE_M_H_
