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 ARTCPCONNECTION_H
00027 #define ARTCPCONNECTION_H
00028
00029 #include "ArDeviceConnection.h"
00030 #include <string>
00031
00032 #include "ariaTypedefs.h"
00033 #include "ArSocket.h"
00034
00036 class ArTcpConnection: public ArDeviceConnection
00037 {
00038 public:
00040 AREXPORT ArTcpConnection();
00042 AREXPORT virtual ~ArTcpConnection();
00043
00045 AREXPORT int open(const char * host = NULL, int port = 8101);
00046
00047 AREXPORT void setPort(const char *host = NULL, int port = 8101);
00048 AREXPORT virtual bool openSimple(void);
00049 AREXPORT virtual int getStatus(void);
00050 AREXPORT virtual bool close(void);
00051 AREXPORT virtual int read(const char *data, unsigned int size,
00052 unsigned int msWait = 0);
00053 AREXPORT virtual int write(const char *data, unsigned int size);
00054 AREXPORT virtual const char * getOpenMessage(int messageNumber);
00055 AREXPORT virtual ArTime getTimeRead(int index);
00056 AREXPORT virtual bool isTimeStamping(void);
00057
00059 AREXPORT std::string getHost(void);
00061 AREXPORT int getPort(void);
00062
00064 AREXPORT int internalOpen(void);
00065
00067 AREXPORT void setSocket(ArSocket *socket);
00069 AREXPORT ArSocket *getSocket(void);
00072 AREXPORT void setStatus(int status);
00073
00074 enum Open {
00075 OPEN_NET_FAIL = 1,
00076 OPEN_BAD_HOST,
00077 OPEN_NO_ROUTE,
00078 OPEN_CON_REFUSED
00079 };
00080
00081
00082
00083 protected:
00084 void buildStrMap(void);
00085
00086 ArStrMap myStrMap;
00087 bool myOwnSocket;
00088 ArSocket *mySocket;
00089 int myStatus;
00090
00091 std::string myHostName;
00092 int myPortNum;
00093 };
00094
00095 #endif //ARTCPCONNECTION_H