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

#ifndef _CHURN_M_H_
#define _CHURN_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>
// }}



/**
 * Class generated from <tt>common/Churn.msg</tt> by opp_msgc.
 * <pre>
 * packet ChurnMessage
 * {
 * 	bool createNode;
 * 	double lifetime;
 * 	int contextPos;
 *     TransportAddress addr;  
 * }
 * </pre>
 */
class ChurnMessage : public ::cPacket
{
  protected:
    bool createNode_var;
    double lifetime_var;
    int contextPos_var;
    ::TransportAddress addr_var;

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

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

    // field getter/setter methods
    virtual bool getCreateNode() const;
    virtual void setCreateNode(bool createNode_var);
    virtual double getLifetime() const;
    virtual void setLifetime(double lifetime_var);
    virtual int getContextPos() const;
    virtual void setContextPos(int contextPos_var);
    virtual TransportAddress& getAddr();
    virtual const TransportAddress& getAddr() const {return const_cast<ChurnMessage*>(this)->getAddr();}
    virtual void setAddr(const TransportAddress& addr_var);
};

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

/**
 * Class generated from <tt>common/Churn.msg</tt> by opp_msgc.
 * <pre>
 * packet ParetoChurnMessage extends ChurnMessage
 * {
 *         double meanLifetime;
 *         double meanDeadtime;
 * }
 * </pre>
 */
class ParetoChurnMessage : public ::ChurnMessage
{
  protected:
    double meanLifetime_var;
    double meanDeadtime_var;

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

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

    // field getter/setter methods
    virtual double getMeanLifetime() const;
    virtual void setMeanLifetime(double meanLifetime_var);
    virtual double getMeanDeadtime() const;
    virtual void setMeanDeadtime(double meanDeadtime_var);
};

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


#endif // _CHURN_M_H_
