]> git.mxchange.org Git - flightgear.git/blobdiff - src/Navaids/NavDataCache.hxx
Traffic improvements.
[flightgear.git] / src / Navaids / NavDataCache.hxx
index 19edb91d7d4c7e0381598df88ed5d2ff996d35bb..4080a608e6f1835dfc6dee68302d473b531ba5ad 100644 (file)
@@ -65,9 +65,10 @@ public:
   bool isRebuildRequired();
   
   /**
-   * run the cache rebuild
+   * run the cache rebuild - returns true if rebuild is complete,
+   * otherwise keep going.
    */
-  void rebuild();
+  bool rebuild();
   
   bool isCachedFileModified(const SGPath& path) const;
   void stampCacheFile(const SGPath& path);
@@ -139,6 +140,11 @@ public:
   /// returning results. Only used by TACAN carrier search
   PositionedIDVec findNavaidsByFreq(int freqKhz, FGPositioned::Filter* filt);
   
+  /**
+   * Given a runway and type, find the corresponding navaid (ILS / GS / OM)
+   */
+  PositionedID findNavaidForRunway(PositionedID runway, FGPositioned::Type ty);
+  
   /**
    * given a navaid name (or similar) from apt.dat / nav.dat, find the
    * corresponding airport and runway IDs.
@@ -180,7 +186,10 @@ public:
   AirwayEdgeVec airwayEdgesFrom(int network, PositionedID pos);
 private:
   NavDataCache();
-    
+  
+  friend class RebuildThread;
+  void doRebuild();
+  
   class NavDataCachePrivate;
   std::auto_ptr<NavDataCachePrivate> d;      
 };