//
// Written by Curtis Olson, started May 2004.
//
-// Copyright (C) 2004 Curtis L. Olson - curt@flightgear.org
+// Copyright (C) 2004 Curtis L. Olson - http://www.flightgear.org/~curt
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
//
// 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