Go to the documentation of this file.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 CUBETCPBUFFER_H
00027 #define CUBETCPBUFFER_H
00028
00029 #include <GpCoreTools.h>
00030
00031 class CubeDevice;
00032 class CubeTcpServer;
00033
00034 class CubeTcpBuffer : public DynamicBuffer
00035 {
00036 public:
00037 CubeTcpBuffer(int fileDescriptor, CubeDevice * device, CubeTcpServer * server);
00038 ~CubeTcpBuffer();
00039 protected:
00040 virtual int bytesAvailable(char * buffer, int bytesCount);
00041 private:
00042 enum Action {Start, Stop, Reset,
00043 RequestFrequency, SetFrequency,
00044 RequestGains, SetGains,
00045 RequestTimeMode, SetTimeMode,
00046 RequestHardVersion,
00047 RequestSoftVersion,
00048 RequestBattery,
00049 RequestTemperature};
00050 enum Match {Full, Partial, No};
00051
00052 static int readValue(const char * buffer, int& readBytes, int bytesCount, bool& ok);
00053
00054 void start();
00055 void stop();
00056 void reset();
00057 void requestFrequency();
00058 void setFrequency(char * buffer, int bytesRead, int bytesCount);
00059 void requestGains();
00060 void setGains(char * buffer, int bytesRead, int bytesCount);
00061 void requestTimeMode();
00062 void setTimeMode(char * buffer, int bytesRead, int bytesCount);
00063 void requestHardVersion();
00064 void requestSoftVersion();
00065 void requestBattery();
00066 void requestTemperature();
00067
00068 CubeDevice * _device;
00069 CubeTcpServer * _server;
00070 };
00071
00072 #endif // CUBETCPBUFFER_H