]> git.mxchange.org Git - flightgear.git/blobdiff - src/Navaids/navdb.hxx
Implement a persistent cache for navigation data.
[flightgear.git] / src / Navaids / navdb.hxx
index fc249f3df01d2c878777b066dad53454739bae3e..c2231423c30da46e621b19f42ef5767836406c9a 100644 (file)
@@ -16,7 +16,7 @@
 //
 // You should have received a copy of the GNU General Public License
 // along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 //
 // $Id$
 
 
 
 #include <simgear/compiler.h>
-#include <simgear/misc/sg_path.hxx>
-
-// #include <map>
-// #include <vector>
-// #include STL_STRING
-
-#include "navlist.hxx"
-#include "fixlist.hxx"
-
-// SG_USING_STD(map);
-// SG_USING_STD(vector);
-// SG_USING_STD(string);
+#include <string>
 
+// forward decls
+class FGTACANList;
+class SGPath;
+class SGPropertyNode;
+class FGRunway;
 
+namespace flightgear
+{
+  
 // load and initialize the navigational databases
-bool fgNavDBInit( FGAirportList *airports,
-                  FGNavList *navlist, FGNavList *loclist, FGNavList *gslist,
-                  FGNavList *dmelist, FGNavList *mkrbeacons );
-
-
-// This routines traverses the localizer list and attempts to match
-// each entry with it's corresponding runway.  When it is successful,
-// it then "moves" the localizer and updates it's heading so it
-// *perfectly* aligns with the runway, but is still the same distance
-// from the runway threshold.
-void fgNavDBAlignLOCwithRunway( FGRunwayList *runways, FGNavList *loclist,
-                                double threshold );
-
-
+bool navDBInit(const SGPath& path);
+  
+bool loadCarrierNav(const SGPath& path);
+  
+bool loadTacan(const SGPath& path, FGTACANList *channellist);
+
+/**
+ * Return the property node corresponding to the runway ILS installation,
+ * from the Airports/I/C/A/ICAO.ils.xml file (loading it if necessary)
+ * returns NULL is no ILS data is defined for the runway.
+ */
+SGPropertyNode* ilsDataForRunwayAndNavaid(FGRunway* aRunway, const std::string& aNavIdent);
+
+} // of namespace flightgear
+  
 #endif // _FG_NAVDB_HXX