//=========================================================================
// Summary  :
// Filename : MMActiveBehavior.h
// Author   : Gil Jones
// Project  :
// Revision : 1
// Created  : 2001/11/05
// Modified : 2001/11/05
//=========================================================================
// Description :  Change data messages
//=========================================================================

#include <stdio.h>
#include "MMActiveBehavior.h"

MMActiveBehavior::MMActiveBehavior(const ModemMessage *pMM)
{

    Assert(pMM);
    Assert(pMM->getType()==tGetMessageType());
    const char* pcEnd = pcRead(pMM->getBuffer());
    Assert(pcEnd==pMM->getBuffer()+pMM->getBufferSize());
}

MMActiveBehavior::MMActiveBehavior(short stateNum, short curBehavior, short mr)
{

    setStateNum(stateNum);
    setBehavior(curBehavior);
    setMissionRunning(mr);
}

const char* MMActiveBehavior::pcRead(const char* sourceBuffer)
{
    const char *pcEnd = ::pcRead(sourceBuffer, &_stateIndex);
    pcEnd = ::pcRead(pcEnd, &_curBehavior);
    pcEnd = ::pcRead(pcEnd, &_missionRunning);
    return(pcEnd);					     
}

char* MMActiveBehavior::pcWrite(char* destBuffer) const
{
    char *pcEnd = ::pcWrite(destBuffer, _stateIndex);
    pcEnd = ::pcWrite(pcEnd, _curBehavior);
    pcEnd = ::pcWrite(pcEnd, _missionRunning);
    return pcEnd;
}
    
