source: ntrip/trunk/GnssCenter/monitor/thriftclient.h@ 5492

Last change on this file since 5492 was 5483, checked in by mervart, 11 years ago
File size: 2.1 KB
RevLine 
[5407]1#ifndef THRIFTCLIENT_H
2#define THRIFTCLIENT_H
3
4#include <string>
5#include <map>
[5452]6#include <QString>
[5409]7#include <QThread>
[5425]8#include <QMutex>
[5407]9
10#include <transport/TSocket.h>
11#include <transport/TBufferTransports.h>
12#include <protocol/TBinaryProtocol.h>
13
14#include "gen-cpp/RtnetData.h"
15
16using namespace com::gpssolutions::rtnet;
17
[5416]18namespace GnssCenter {
[5446]19 class t_monitor;
[5416]20}
21
[5447]22namespace GnssCenter {
23
[5415]24class t_thriftResult {
[5407]25 public:
[5415]26 t_thriftResult() {
27 _nGPS = 0;
28 _nGLO = 0;
29 _x = 0.0;
30 _y = 0.0;
31 _z = 0.0;
32 }
33 ~t_thriftResult() {}
34 std::string _name;
35 int _nGPS;
36 int _nGLO;
37 double _x;
38 double _y;
39 double _z;
40};
41
[5483]42class t_thriftSatellite {
43 public:
44 std::string _prn;
45 double _x;
46 double _y;
47 double _z;
48};
49
[5424]50class t_thriftHandler : public RtnetDataIf {
[5415]51 public:
[5447]52 t_thriftHandler(t_monitor* parent);
[5424]53 ~t_thriftHandler();
[5407]54 void startDataStream() {}
[5416]55 void registerRtnet(const RtnetInformation&) {}
56 void handleZDAmb(const std::vector<ZDAmb>&) {}
57 void handleDDAmbresBaselines(const std::vector<DDAmbresBaseline>&) {}
[5407]58 void handleSatelliteXYZ(const std::vector<SatelliteXYZ>& svXYZList);
59 void handleStationInfo(const std::vector<StationInfo>& stationList);
[5416]60 void handleStationAuxInfo(const std::vector<StationAuxInfo>&) {}
61 void handleDGPSCorr(const std::vector<DGPSCorr>&) {}
62 void handleSatelliteClock(const std::vector<SatelliteClock>&) {}
[5407]63 void handleEpochResults(const RtnetEpoch& epoch);
64 private:
65 class t_stationCrd {
66 public:
67 double _x;
68 double _y;
69 double _z;
70 };
[5447]71 t_monitor* _parent;
[5407]72 std::map<std::string, t_stationCrd> _stationCrd;
73};
74
[5424]75class t_thriftClient : public QThread {
[5479]76 Q_OBJECT
[5424]77 public:
[5452]78 t_thriftClient(t_monitor* parent, const QString& host, int port);
[5424]79 ~t_thriftClient();
80 virtual void run();
[5431]81 void stop() {
[5425]82 QMutexLocker locker(&_mutex);
83 _stop = true;
84 }
[5479]85 signals:
86 void message(QByteArray msg);
[5424]87 private:
[5452]88 QMutex _mutex;
89 std::string _host;
90 int _port;
91 t_monitor* _parent;
92 bool _stop;
[5424]93};
94
[5447]95} // namespace GnssCenter
96
[5407]97#endif
Note: See TracBrowser for help on using the repository browser.