Hauptseite | Klassenhierarchie | Alphabetische Liste | Auflistung der Klassen | Auflistung der Dateien | Klassen-Elemente

BernsteinMsg.h

00001 /* ***************************************************************************** 00002 ** 00003 ** Projekt : FPS 00004 ** File : BernsteinMsg.h 00005 ** Version : $Revision: 1.10 $ 00006 ** Copyright : (C) 2001 by Analytica GmbH 00007 ** 00008 **----------------------------------------------------------------------------- 00009 ** 00010 ** $Id: BernsteinMsg.h,v 1.10 2008/02/12 14:44:51 axelschmidt Exp $ 00011 ** 00012 ** $Log: BernsteinMsg.h,v $ 00013 ** Revision 1.10 2008/02/12 14:44:51 axelschmidt 00014 ** neue Funktionen für direkten Zugriff auf serielle Schnittstelle 00015 ** 00016 ** Revision 1.9 2001/09/05 07:23:42 AxelSchmidt 00017 ** Zugriff auf IO-Handle im Read-Thread gesichert 00018 ** 00019 ** Revision 1.8 2001/08/08 07:22:30 AxelSchmidt 00020 ** Verhalten der RS232-Verbindung geaendert, jetzt nur noch während eine stehenden TCPIP-Verbindung geoeffnet 00021 ** 00022 ** Revision 1.7 2001/07/13 06:54:23 AxelSchmidt 00023 ** AddTrace macht Ausgaben ins EventLog 00024 ** 00025 ** Revision 1.6 2001/07/12 14:36:00 AxelSchmidt 00026 ** virtuelle Basis-Klasse CTraceObject hinzugefügt 00027 ** 00028 ** Revision 1.5 2001/07/10 07:07:09 AxelSchmidt 00029 ** Some class enhancements implemented 00030 ** 00031 ** Revision 1.4 2001/07/06 15:35:51 SimonLinder 00032 ** Zwei Ports (5001, 5002) können geöffnet werden. Somit kann man nun z.B. 00033 ** von verschied. Rechnern aus über diesen Gateway kommunizieren (telnet). 00034 ** 00035 ** Revision 1.3 2001/07/06 05:40:43 AxelSchmidt 00036 ** File-Header geändert 00037 ** 00038 ** Revision 1.2 2001/07/03 06:55:37 AxelSchmidt 00039 ** Fehler beseitigt 00040 ** 00041 *******************************************************************************/ 00042 00043 #if !defined(AFX_BERNSTEINMSG_H__59CA0FD5_5A85_11D5_8643_0050BAC0C1BE__INCLUDED_) 00044 #define AFX_BERNSTEINMSG_H__59CA0FD5_5A85_11D5_8643_0050BAC0C1BE__INCLUDED_ 00045 00046 #if _MSC_VER > 1000 00047 #pragma once 00048 #endif // _MSC_VER > 1000 00049 00050 #include "TraceObject.h" 00051 00056 class CBernsteinMsg : virtual public CTraceObject 00057 { 00058 public: 00059 00068 CBernsteinMsg( const char *cCOMPort, 00069 const int nBaudRate, 00070 const int nByteSize, 00071 const int nParity, 00072 const int nStopBits, 00073 bool bAutoStart = true ); 00074 00075 00077 virtual ~CBernsteinMsg(); 00078 00083 void SendRS232( const char * pData, int nDataLen ); 00084 00089 static DWORD WINAPI ReceiveThread( LPVOID pArgs ); 00090 00091 00096 virtual void ReceiveRS232( const char *pData, 00097 long DataLen ); 00098 bool IsOpen( void ) const; 00099 const std::string & GetLastErrorMsg( void ) const { return m_sLastErrorMsg; } 00100 00101 const std::string & GetPort( void ) const { return m_sCOMPort; } 00102 void SetPort( const std::string & sCOMPort ) { m_sCOMPort = sCOMPort; } 00103 00107 bool IOStart( void ); 00108 00109 protected: 00112 CBernsteinMsg( void ); 00113 00115 void ReceiveCOM(); 00116 00120 bool IOStop( void ); 00121 00122 00131 bool InitRS232( const char *cCOMPort, 00132 const int nBaudRate, 00133 const int nByteSize, 00134 const int nParity, 00135 const int nStopBits); 00136 00137 private: 00138 00142 bool SetComParameter( void ); 00143 00147 bool OpenPort( void ); 00148 00150 void ClosePort( void ); 00151 00153 int m_nLastRS232Error; 00155 OVERLAPPED m_oOverlappedRead; 00157 OVERLAPPED m_oOverlappedWrite; 00158 00160 std::string m_sCOMPort; 00161 std::string m_sLastErrorMsg; 00162 00165 DCB m_oPortDCB; 00166 00168 HANDLE m_hCOMPort; 00170 HANDLE m_hReceiveThreadHandle; 00171 00173 DWORD m_dwBytesWritten; 00175 DWORD m_dwBytesRead; 00177 DWORD m_dwRecThreadID; 00178 00179 }; 00180 00181 #endif // !defined(AFX_BERNSTEINMSG_H__59CA0FD5_5A85_11D5_8643_0050BAC0C1BE__INCLUDED_)

Erzeugt am Tue Mar 11 14:25:08 2008 für SchunkFPS-TCPIPRS232Gateway von doxygen 1.3.7