namespace flightgear
{
+ /**
+ * return the default platform dependant download directory.
+ * This must be a user-writeable location, the question is if it should
+ * be a user visible location. On Windows we default to a subdir of
+ * Documents (FlightGear), on Unixes we default to FG_HOME, which is
+ * typically invisible.
+ */
+ std::string defaultDownloadDir();
+
/// option processing can have various result values
/// depending on what the user requested. Note processOptions only
/// returns a subset of these.
int parseOption(const std::string& s);
void processArgResult(int result);
-
- void setupRoot();
+
+ /**
+ * Setup the root base, and check it's valid. Bails out with exit(-1) if
+ * the root package was not found or is the incorrect version. Argv/argv
+ * are passed since we might potentially show a GUI dialog at this point
+ * to help the user our (finding a base package), and hence need to init Qt.
+ */
+ void setupRoot(int argc, char **argv);
std::string platformDefaultRoot() const;