//=========================================================================
// Summary  :
// Filename : MMSas21.h
// Author   : Gil Jones
// Project  :
// Revision : 1
// Created  : 2002/09/03
// Modified : 2002/09/03
//=========================================================================
// Description :  Sas21 messages
//=========================================================================

#ifndef _MMSAS21_H
#define _MMSAS21_H

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

#define Sas21MessageTimeOut 60

//////////////////////////////
class MMSas21 : public MMConvertible
{
 public:
    MMSas21(const ModemMessage *pMM);
    MMSas21(int leak, int temp, int du, int br,
	    int be, int we);

    virtual ModemMessage::Type tGetMessageType() const
	{ return ModemMessage::tMMSas21; };
    virtual int iGetDefaultTimeout() const
	{ return Sas21MessageTimeOut; };
    virtual const char* pcRead(const char* sourceBuffer);
    virtual char* pcWrite(char* destBuffer) const;

    void setLeak(int leak)
	{ m_leak = MMUtil::int2char(leak,0,255); };
    void setTemp(int temp)
	{ m_temp = temp; };
    void setDU(int du)
	{ m_du = du; };
    void setBR(int br)
	{ m_br = br; };
    void setBE(int be)
	{ m_be = be; };
    void setWE(int we)
	{ m_we = we; };

    int getLeak()
	{ return MMUtil::char2int(m_leak,0,255); };
    int getTemp()
	{ return m_temp; };
    int getDU()
	{ return m_du; };
    int getBR()
	{ return m_br; };
    int getBE()
	{ return m_be; };
    int getWE()
	{ return m_we; };

 protected:

    uchar m_leak;
    int m_temp;
    int m_du;
    int m_br;
    int m_be;
    int m_we;
};

#endif
