//---------------------------------------------------------------------------

#ifndef ComPortH
#define ComPortH
//---------------------------------------------------------------------------
#if defined( _BORLAND )
	#include <vcl.h>
#endif

//#include <WinNt.h>
#include <string>
//---------------------------------------------------------------------------
typedef void *HANDLE;
//---------------------------------------------------------------------------
std::string getComName(int num);
//---------------------------------------------------------------------------
class ComPort
{	private:
		HANDLE hCom;
		void CheckBaudRate();
	protected:
		int m_time; //Время задержки в милисекундах по умолчанию
	public:
		bool bOpen; //Состояние порта
		int ComNumber; //Номер ком порта
		int BaudRate; //Скорость ком порта DWORD

		ComPort();
		virtual ~ComPort();
		bool Open(int ComNumber);
		//bool setBaudRate();
		bool SetTimeout(unsigned long time); //Сколько ждать данных (Для чтения и запииси)

		bool Close(); //Разорвать связь
		bool Setup(int num = -1); //Настройка параметров ком порта
		unsigned long Write(const void* lpBuffer,unsigned long nNumberOfBytesToWrite);
		unsigned long WriteString(std::string str);
		char WriteChar(char ch);
		unsigned long Read(void* lpBuffer,unsigned long nNumberOfBytesToRead);
};
//---------------------------------------------------------------------------
#endif
