source: ntrip/trunk/BNC/src/t_prn.h@ 10792

Last change on this file since 10792 was 10791, checked in by mervart, 2 days ago

BNC Multifrequency and PPPAR Client (initial version)

File size: 1.9 KB
Line 
1#ifndef PRN_H
2#define PRN_H
3
4#include <string>
5
6class t_prn {
7public:
8 static const unsigned MAXPRN_GPS = 32;
9 static const unsigned MAXPRN_GLONASS = 26;
10 static const unsigned MAXPRN_GALILEO = 36;
11 static const unsigned MAXPRN_QZSS = 10;
12 static const unsigned MAXPRN_SBAS = 38;
13 static const unsigned MAXPRN_BDS = 65;
14 static const unsigned MAXPRN_NavIC = 20;
15 static const unsigned MAXPRN = MAXPRN_GPS + MAXPRN_GLONASS + MAXPRN_GALILEO
16 + MAXPRN_QZSS + MAXPRN_SBAS + MAXPRN_BDS + MAXPRN_NavIC;
17
18 t_prn() : _system('G'), _number(0), _flag(0) {}
19 t_prn(char system, int number) : _system(system), _number(number), _flag(0) {}
20 t_prn(char system, int number, int flag) : _system(system), _number(number), _flag(flag) {}
21 ~t_prn() {}
22
23 bool valid() const {
24 return _number != 0;
25 }
26
27 void set(char system, int number) {
28 _system = system;
29 _number = number;
30 _flag = 0;
31 }
32
33 void set(char system, int number, int flag) {
34 _system = system;
35 _number = number;
36 _flag = flag;
37 }
38
39 void set(unsigned nn);
40
41 void setFlag(int flag) {
42 _flag = flag;
43 }
44
45 void set(const std::string& str);
46
47 char system() const {
48 return _system;
49 }
50 int number() const {
51 return _number;
52 }
53 int flag() const {
54 return _flag;
55 }
56 int toInt() const;
57 std::string toString() const;
58 std::string toInternalString() const;
59
60 bool operator==(const t_prn& prn2) const {
61 if (_system == prn2._system &&
62 _number == prn2._number &&
63 _flag == prn2._flag) {
64 return true;
65 }
66 else {
67 return false;
68 }
69 }
70
71 /**
72 * Cleanup function resets all elements to initial state.
73 */
74 inline void clear(void) {
75 _system = 'G';
76 _number = 0;
77 _flag = 0;
78 }
79
80 operator unsigned() const;
81
82 friend std::istream& operator >>(std::istream& in, t_prn& prn);
83
84private:
85 char _system;
86 int _number;
87 int _flag;
88};
89
90std::istream& operator >>(std::istream& in, t_prn& prn);
91
92#endif
Note: See TracBrowser for help on using the repository browser.