//=========================================================================
// Summary  :
// Filename : MMActiveBehavior.cc
// Author   : Gil Jones
// Project  :
// Revision : 1
// Created  : 2001/11/05
// Modified : 2001/11/05
//=========================================================================
// Description :  Active Behavior message
//=========================================================================

#ifndef _MMACTIVEBEHAVIOR_H
#define _MMACTIVEBEHAVIOR_H


#include "MMUtils.h"
#include "ModemMessage.h"

#define ActiveBehaviorMessageTimeOut 30

///////////////////////////////////////
class MMActiveBehavior : public MMConvertible
{

 public:
    MMActiveBehavior(const ModemMessage *pMM);
    MMActiveBehavior(short stateNum, short curBehavior, short missionRunning);
    
    virtual const char* pcRead(const char* sourceBuffer);
    virtual char* pcWrite(char* destBuffer) const;
    virtual ModemMessage::Type tGetMessageType() const
	{ return ModemMessage::tMMActiveBehavior; };
    virtual int iGetDefaultTimeout() const
	{ return ActiveBehaviorMessageTimeOut; };
    
    void setStateNum(short ind) {
	_stateIndex = ind;
    }
    
    void setBehavior(short cur){
	_curBehavior = cur;
    }

    void setMissionRunning(short b){
	_missionRunning = b;
    }
    
    short getStateNum() {
	return _stateIndex;
    }
    
    short getBehavior(void) {
	return _curBehavior;
    }

    short getMissionRunning(void) {
	return _missionRunning;
    }

 protected:
    
    short _stateIndex;
    short _curBehavior;
    short _missionRunning;
};

#endif
