//=========================================================================
// Summary  :
// Filename : MMString.h
// Author   : fairfield
// Project  :
// Revision : 1
// Created  : 2001/07/11
// Modified : 2001/07/11
//=========================================================================
// Description :  Generic String message
//=========================================================================
#ifndef _MMSTRING_H
#define _MMSTRING_H

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

#define StringMessageTimeOut 30
#define MAXSTRINGLENGTH 256


//////////////////////////////////////////////
class MMString : public MMConvertible
{

public:
	MMString();
	MMString(const ModemMessage *pMM);
	MMString(char* str);

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

	void setString(char* str)
		{ strncpy(m_string,str,MAXSTRINGLENGTH); };

	void getString(char* str)
		{ strncpy(str,m_string,MAXSTRINGLENGTH); };

	void toString(char* str);
	virtual int size() { return strlen(m_string); };

protected:

	char m_string[MAXSTRINGLENGTH];

};

#endif
