]> git.mxchange.org Git - flightgear.git/blobdiff - src/Navaids/NavDataCache.hxx
NavData: can refresh some in-place.
[flightgear.git] / src / Navaids / NavDataCache.hxx
index 93ef318c7d1ca599dffd61dcafcfec78d17a5f58..4975b0954fa89d5f96c0ce7ce0689e3989e7ad8b 100644 (file)
@@ -90,7 +90,7 @@ public:
    * This may be trivial if the object is previously loaded, or require actual
    * disk IO.
    */
-  FGPositioned* loadById(PositionedID guid);
+  FGPositionedRef loadById(PositionedID guid);
   
   PositionedID insertAirport(FGPositioned::Type ty, const std::string& ident,
                              const std::string& name);
@@ -110,6 +110,10 @@ public:
                             const std::string& name, const SGGeod& pos, int freq, int range, double multiuse,
                             PositionedID apt, PositionedID runway);
   void updateILS(PositionedID ils, const SGGeod& newPos, double aHdg);
+
+
+  // Assign colocated DME to a navaid
+  void setNavaidColocated(PositionedID navaid, PositionedID colocatedDME);
   
   PositionedID insertCommStation(FGPositioned::Type ty,
                                  const std::string& name, const SGGeod& pos, int freq, int range,
@@ -118,7 +122,7 @@ public:
   
   PositionedID createPOI(FGPositioned::Type ty, const std::string& ident, const SGGeod& aPos);
   
-  void removePOI(FGPositioned::Type ty, const std::string& aIdent);
+  bool removePOI(FGPositioned::Type ty, const std::string& aIdent);
     
   void dropGroundnetFor(PositionedID aAirport);
   
@@ -141,13 +145,16 @@ public:
    */
   void updatePosition(PositionedID item, const SGGeod &pos);
   
-  FGPositioned::List findAllWithIdent(const std::string& ident,
-                                      FGPositioned::Filter* filter, bool exact);
-  FGPositioned::List findAllWithName(const std::string& ident,
-                                      FGPositioned::Filter* filter, bool exact);
+  FGPositionedList findAllWithIdent( const std::string& ident,
+                                     FGPositioned::Filter* filter,
+                                     bool exact );
+  FGPositionedList findAllWithName( const std::string& ident,
+                                    FGPositioned::Filter* filter,
+                                    bool exact );
   
-  FGPositionedRef findClosestWithIdent(const std::string& aIdent,
-                                      const SGGeod& aPos, FGPositioned::Filter* aFilter);
+  FGPositionedRef findClosestWithIdent( const std::string& aIdent,
+                                        const SGGeod& aPos,
+                                        FGPositioned::Filter* aFilter );
   
 
   /**
@@ -189,7 +196,7 @@ public:
    * 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.
@@ -260,6 +267,8 @@ public:
         NavDataCache* _instance;
         bool _committed;
     };
+    
+    bool isReadOnly() const;
 private:
   NavDataCache();