//=========================================================================
// Summary  :
// Filename : MMDeviceInfo.h
// Author   : paley
// Project  :
// Revision : 1
// Created  : 2001/06/11
// Modified : 2001/06/11
//=========================================================================
// Description :  Device info message, not bandwidth friendly!
//=========================================================================
#ifndef _MMDEVICEINFO_H
#define _MMDEVICEINFO_H

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

//////////////////////////////////////////////
class MMDeviceInfo : public MMConvertible
{

public:
	MMDeviceInfo(const ModemMessage *pMM);
	MMDeviceInfo(const char *name,const char *port,const char *driver,const char *interfaceName,
		short priority,short pid,short powerCircuit,short debug,Boolean autoStart);

	virtual const char* pcRead(const char* sourceBuffer);
	virtual char* pcWrite(char* destBuffer) const;
	virtual ModemMessage::Type tGetMessageType() const
		{ return ModemMessage::tMMDeviceInfo; };

	const char *getName() { return m_name.c_str(); };
	const char *getPort() { return m_port.c_str(); };
	const char *getDriver() { return m_driver.c_str(); };
	const char *getInterfaceName() { return m_interfaceName.c_str(); };
	short getPriority() { return m_priority; };
	short getPID() { return m_pid; };
	short getPowerCircuit() { return m_powerCircuit; };
	short getDebug() { return m_debug; };
	Boolean getAutoStart() { return m_autoStart; };
	void toString(char* str);

protected:

	string m_name;
	string m_port;
	string m_driver;
	string m_interfaceName;
	short m_priority;
	short m_pid;
	short m_powerCircuit;
	short m_debug;
	Boolean m_autoStart;

};

#endif
