]> git.mxchange.org Git - flightgear.git/blobdiff - src/Instrumentation/navradio.hxx
Pull Sound-manager out of FGGlobals
[flightgear.git] / src / Instrumentation / navradio.hxx
index 54c2e531edd175f222a6325e4e65f3fd657a9dda..c731f1d2b7a3c896c2efce7c7035a1831d92931e 100644 (file)
 #ifndef _FG_NAVRADIO_HXX
 #define _FG_NAVRADIO_HXX
 
-
+#include <Navaids/navaids_fwd.hxx>
 #include <Main/fg_props.hxx>
 
 #include <simgear/compiler.h>
 #include <simgear/structure/subsystem_mgr.hxx>
 #include <simgear/timing/timestamp.hxx>
 
-// forward decls
-class SGInterpTable;
-
 class SGSampleGroup;
-class FGNavRecord;
-typedef SGSharedPtr<FGNavRecord> FGNavRecordPtr;
 
 class FGNavRadio : public SGSubsystem, public SGPropertyChangeListener
 {
-    SGInterpTable *term_tbl;
-    SGInterpTable *low_tbl;
-    SGInterpTable *high_tbl;
-
     SGPropertyNode_ptr _radio_node;
     SGPropertyNode_ptr bus_power_node;
 
@@ -53,6 +44,7 @@ class FGNavRadio : public SGSubsystem, public SGPropertyChangeListener
     SGPropertyNode_ptr power_btn_node;
     SGPropertyNode_ptr freq_node;       // primary freq
     SGPropertyNode_ptr alt_freq_node;   // standby freq
+    SGPropertyNode_ptr is_loc_freq_node;// is the primary freq a loc/gs (paired) freq?
     SGPropertyNode_ptr sel_radial_node; // selected radial
     SGPropertyNode_ptr vol_btn_node;
     SGPropertyNode_ptr ident_btn_node;
@@ -123,9 +115,10 @@ class FGNavRadio : public SGSubsystem, public SGPropertyChangeListener
 
     bool _operable; ///< is the unit serviceable, on, powered, etc
     int play_count;
-    time_t last_time;
-    FGNavRecordPtr _navaid;
-    FGNavRecordPtr _gs;
+    bool _nav_search;
+    double _last_freq;
+    FGNavRecordRef _navaid;
+    FGNavRecordRef _gs;
     
     double target_radial;
     double effective_range;
@@ -188,12 +181,14 @@ public:
     ~FGNavRadio();
 
     void init ();
+    void reinit ();
     void bind ();
     void unbind ();
     void update (double dt);
 
     // Update nav/adf radios based on current postition
     void search ();
+    void updateNav();
 };