00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef ARDEVICECONNECTION_H
00027 #define ARDEVICECONNECTION_H
00028
00029 #include <string>
00030 #include "ariaTypedefs.h"
00031 #include "ariaUtil.h"
00032 #include "ArBasePacket.h"
00033
00035
00047 class ArDeviceConnection
00048 {
00049 public:
00051 AREXPORT ArDeviceConnection();
00053 AREXPORT virtual ~ArDeviceConnection();
00055
00063 AREXPORT virtual int read(const char *data, unsigned int size,
00064 unsigned int msWait = 0) = 0;
00066
00072 AREXPORT virtual int writePacket(ArBasePacket *packet)
00073 { if (packet == NULL || packet->getLength() == 0) return 0;
00074 return write(packet->getBuf(), packet->getLength()); }
00076
00083 AREXPORT virtual int write(const char *data, unsigned int size) = 0;
00085
00092 AREXPORT virtual int getStatus(void) = 0;
00094
00099 AREXPORT const char *getStatusMessage(int messageNumber) const;
00100
00102
00103 virtual bool openSimple(void) = 0;
00104
00106
00109 virtual bool close(void) { return false; }
00111
00118 AREXPORT virtual const char * getOpenMessage(int messageNumber) = 0;
00119 enum Status {
00120 STATUS_NEVER_OPENED = 1,
00121 STATUS_OPEN,
00122 STATUS_OPEN_FAILED,
00123 STATUS_CLOSED_NORMALLY,
00124 STATUS_CLOSED_ERROR
00125 };
00127
00132 AREXPORT virtual ArTime getTimeRead(int index) = 0;
00134
00135 AREXPORT virtual bool isTimeStamping(void) = 0;
00136 protected:
00137 void buildStrMap(void);
00138 static bool ourStrMapInited;
00139 static ArStrMap ourStrMap;
00140 };
00141
00142 #endif
00143
00144