]> git.mxchange.org Git - flightgear.git/blobdiff - src/Environment/environment_ctrl.hxx
Fix line endings
[flightgear.git] / src / Environment / environment_ctrl.hxx
index 69e5b79ea645708a548d524ce2c1e124cb1e4679..879c902bb48669d0c47490a25aea84a579183801 100644 (file)
@@ -27,7 +27,7 @@
 #include <simgear/structure/subsystem_mgr.hxx>
 #include <simgear/environment/metar.hxx>
 
-#if defined(ENABLE_THREADS) && ENABLE_THREADS
+#if defined(ENABLE_THREADS)
 # include <simgear/threads/SGThread.hxx>
 # include <simgear/threads/SGQueue.hxx>
 #endif
@@ -47,6 +47,7 @@ SG_USING_STD(vector);
 class SGPropertyNode;
 
 #include "environment.hxx"
+#include "fgmetar.hxx"
 
 
 \f
@@ -63,7 +64,7 @@ public:
 
   virtual void setEnvironment (FGEnvironment * environment);
 
-  virtual FGEnvironment * getEnvironment () const { return _environment; }
+  virtual const FGEnvironment * getEnvironment () const { return _environment; }
 
   virtual void setLongitudeDeg (double lon_deg);
   virtual void setLatitudeDeg (double lat_deg);
@@ -141,16 +142,16 @@ private:
 };
 
 
-// A convenience wrapper around SGMetar
+// A convenience wrapper around FGMetar
 struct FGMetarResult {
     string icao;
-    SGMetar *m;
+    FGMetar *m;
 };
 
 
 \f
 /**
- * Interplation controller using the SGMetar class
+ * Interplation controller using the FGMetar class
  */
 class FGMetarEnvironmentCtrl : public FGEnvironmentCtrl
 {
@@ -172,18 +173,19 @@ private:
     float same_station_interval_sec;
     float search_elapsed;
     float fetch_elapsed;
-    FGAirport last_apt;
+    const FGAirport *last_apt;
     SGPropertyNode *proxy_host;
     SGPropertyNode *proxy_port;
     SGPropertyNode *proxy_auth;
+    SGPropertyNode *metar_max_age;
 
     FGMetarResult fetch_data( const string &icao );
-    virtual void update_metar_properties( SGMetar *m );
+    virtual void update_metar_properties( const FGMetar *m );
     void update_env_config();
 
 private:
 
-#if defined(ENABLE_THREADS) && ENABLE_THREADS
+#if defined(ENABLE_THREADS)
     /**
      * FIFO queue which holds a pointer to the fetched metar data.
      */
@@ -205,7 +207,7 @@ private:
     queue < FGMetarResult > result_queue;
 #endif
 
-#if defined(ENABLE_THREADS) && ENABLE_THREADS
+#if defined(ENABLE_THREADS)
     /**
      * This class represents the thread of execution responsible for
      * fetching the metar data.
@@ -249,11 +251,12 @@ private:
      */
     friend void metar_cleanup_handler( void* );
 
+#endif // ENABLE_THREADS
 
     int _error_count;
+    int _stale_count;
     double _dt;
     double _error_dt;
-#endif // ENABLE_THREADS
 };
 
 #endif // _ENVIRONMENT_CTRL_HXX