GPS Library  0.1
GPS driver and NMEA parser
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Macros
I_NMEAMessage.h
Go to the documentation of this file.
1 #ifndef __I_NMEAMESSAGE_H__
2 #define __I_NMEAMESSAGE_H__
3 
4 #include <Base/Linked.h>
5 #include <Debug/Debug.h>
6 
7 class I_GPSData;
8 class I_GPSDriver;
9 
10 namespace GPS
11 {
12  class GPSData;
13 }
14 
16 {
17  public:
18  inline I_NMEAMessage(const char * key):
19  identifier(key)
20  {
21  AllNMEAMessages.insert(this);
22  }
23 
24  virtual ~I_NMEAMessage() { }
25 
26  static void GotMessage(const char * const * message, int params, I_GPSData & parent, I_GPSDriver * driver = nullptr);
27 
28  private:
29  SYS_DEFINE_CLASS_NAME("I_NMEAMessage");
30 
32 
33  friend class Linked<I_NMEAMessage>;
34 
36 
38 
39  virtual void Interpret(const char * const * message, int params, GPS::GPSData & parent, I_GPSDriver * driver = nullptr) =0;
40 
41  const char * identifier;
42 };
43 
44 #endif /* __I_NMEAMESSAGE_H__ */
45 
46 /* * * * * * * * * * * * * End - of - File * * * * * * * * * * * * * * */