// util.hxx - general-purpose utility functions.
-// Copyright (C) 2002 Curtis L. Olson - curt@me.umn.edu
+// Copyright (C) 2002 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$
-
#ifndef __UTIL_HXX
#define __UTIL_HXX 1
-#ifndef __cplusplus
-# error This library requires C++
-#endif
-
-
-/**
- * Initialize a single value through all existing weather levels.
- *
- * This function is useful mainly from the command-line.
- *
- * @param propname The name of the subproperty to initialized.
- * @param value The initial value.
- */
-extern void fgDefaultWeatherValue (const char * propname, double value);
-
-
-/**
- * Clean up and exit FlightGear.
- *
- * This function makes sure that network connections and I/O streams
- * are cleaned up.
- *
- * @param status The exit status to pass to the operating system.
- */
-extern void fgExit (int status = 0);
-
+#include <string>
/**
* Move a value towards a target.
* (elapsed time/smoothing time)
* @return The new value.
*/
-extern double fgGetLowPass (double current, double target, double timeratio);
+double fgGetLowPass (double current, double target, double timeratio);
+/**
+ * Validation listener interface for io.nas, used by fgcommands.
+ * @param path Path to be validated
+ * @param write True for write operations and false for read operations.
+ * @return The validated path on success or 0 if access denied.
+ */
+const char *fgValidatePath (const char *path, bool write);
+std::string fgValidatePath(const std::string& path, bool write);
#endif // __UTIL_HXX