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
00027 #ifndef ARLOGFILECONNECTION_H
00028 #define ARLOGFILECONNECTION_H
00029
00030 #include "ArDeviceConnection.h"
00031 #include <string>
00032 #include <stdio.h>
00033
00034 #include "ariaTypedefs.h"
00035
00037 class ArLogFileConnection: public ArDeviceConnection
00038 {
00039 public:
00041 ArLogFileConnection();
00043 virtual ~ArLogFileConnection();
00044
00046 int open(const char * fname = NULL);
00047
00048 void setLogFile(const char *fname = NULL);
00049 virtual bool openSimple(void);
00050 virtual int getStatus(void);
00051 virtual bool close(void);
00052 virtual int read(const char *data, unsigned int size,
00053 unsigned int msWait = 0);
00054 virtual int write(const char *data, unsigned int size);
00055 virtual const char * getOpenMessage(int messageNumber);
00056 virtual ArTime getTimeRead(int index);
00057 virtual bool isTimeStamping(void);
00058
00060 const char *getLogFile(void);
00061
00062
00064
00065
00066
00068 int internalOpen(void);
00069
00070 enum Open {
00071 OPEN_FILE_NOT_FOUND = 1,
00072 OPEN_NOT_A_LOG_FILE
00073 };
00074
00075
00076 ArPose myPose;
00077 bool havePose;
00078 char myName[100];
00079 char myType[20];
00080 char mySubtype[20];
00081
00082 protected:
00083 void buildStrMap(void);
00084 ArStrMap myStrMap;
00085
00086 int myStatus;
00087 int stopAfter;
00088
00089 const char *myLogFile;
00090 FILE *myFD;
00091
00092 };
00093
00094 #endif //ARLOGFILECONNECTION_H