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 ARGPSCONNECTOR_H
00028 #define ARGPSCONNECTOR_H
00029
00030 #include <string>
00031 #include <vector>
00032
00033 #include "ariaTypedefs.h"
00034 #include "ariaUtil.h"
00035 #include "ArFunctor.h"
00036 #include "ArGPS.h"
00037
00038 class ArDeviceConnection;
00039
00069 class ArGPSConnector {
00070 public:
00071 AREXPORT ArGPSConnector(ArArgumentParser* argParser);
00072 AREXPORT ~ArGPSConnector();
00073
00075 AREXPORT bool parseArgs();
00076
00078 AREXPORT void logArgs();
00079
00088 AREXPORT ArGPS* createGPS();
00089
00092 AREXPORT bool connectGPS(ArGPS *gps);
00093
00094 protected:
00095
00097 typedef enum {
00099 Standard,
00101 Novatel
00102 } GPSType;
00103
00104 ArDeviceConnection *myDeviceCon;
00105 ArArgumentParser *myArgParser;
00106 ArRetFunctorC<bool, ArGPSConnector> myParseArgsCallback;
00107 ArFunctorC<ArGPSConnector> myLogArgsCallback;
00108 int myBaud;
00109 const char *myPort;
00110 const char *myTCPHost;
00111 int myTCPPort;
00112 GPSType myDeviceType;
00113 };
00114
00115
00116 #endif // ifdef ARGPSCONNECTOR_H
00117
00118