#include #include #include #include "thriftclient.h" using namespace apache::thrift; using namespace apache::thrift::protocol; using namespace apache::thrift::transport; using namespace com::gpssolutions::rtnet; using namespace std; using namespace boost; // // Program // ////////////////////////////////////////////////////////////////////////////// // int main(int argc, char **argv) { // // // Parse Input Options // // ------------------- // map OPT; // parseCmdLine(argc, argv, OPT); // if (OPT.find("port") == OPT.end()) { // cerr << "usage: rtnetThriftClient [--host ] --port " << endl; // return 1; // } // string host = OPT.find("host") == OPT.end() ? "localhost" : OPT["host"]; // int port; istringstream(OPT["port"]) >> port; // // shared_ptr socket(new TSocket(host, port)); // shared_ptr transport(new TBufferedTransport(socket)); // shared_ptr protocol(new TBinaryProtocol(transport)); // shared_ptr dataHandler(new t_thriftClient()); // shared_ptr processor(new RtnetDataProcessor(dataHandler)); // // try { // transport->open(); // // while (processor->process(protocol,protocol,0)) {} // // transport->close(); // } // catch (TException& e) { // cerr << "Caught an exception generated by Thrift: " << e.what() << endl; // return 1; // } // catch (...) { // cerr << "Unknown exception" << endl; // return 1; // } // // return 0; // } // Handle Satellite Positions ////////////////////////////////////////////////////////////////////////////// void t_thriftClient:: handleSatelliteXYZ(const vector& svXYZList) { cout.setf(ios::fixed); for (unsigned ii = 0; ii < svXYZList.size(); ii++) { // const SatelliteXYZ& sat = svXYZList[ii]; // cout << unsigned(sat.ID) << ' ' // << setprecision(3) << sat.xyz.x << ' ' // << setprecision(3) << sat.xyz.y << ' ' // << setprecision(3) << sat.xyz.z << endl; } // cout << endl; } // Handle Station Info ////////////////////////////////////////////////////////////////////////////// void t_thriftClient:: handleStationInfo(const vector& stationList) { for (unsigned ii = 0; ii < stationList.size(); ii++) { const StationInfo& staInfo = stationList[ii]; _stationCrd[staInfo.ID]._x = staInfo.xyz.x; _stationCrd[staInfo.ID]._y = staInfo.xyz.y; _stationCrd[staInfo.ID]._z = staInfo.xyz.z; } } // Handle Eoch Results ////////////////////////////////////////////////////////////////////////////// void t_thriftClient:: handleEpochResults(const RtnetEpoch& epoch) { for (unsigned ii = 0; ii < epoch.stationResultList.size(); ii++) { const StationResults& staRes = epoch.stationResultList[ii]; cout << staRes.stationName << ' ' << (int) staRes.nsv_gps_used << ' ' << (int) staRes.nsv_glonass_used << ' '; if (_stationCrd.find(staRes.stationName) != _stationCrd.end()) { cout << _stationCrd[staRes.stationName]._x << ' ' << _stationCrd[staRes.stationName]._y << ' ' << _stationCrd[staRes.stationName]._z; } cout << endl; } }