]> git.mxchange.org Git - flightgear.git/blobdiff - src/Network/HTTPClient.cxx
Interim windows build fix
[flightgear.git] / src / Network / HTTPClient.cxx
index 19c963797c8b2a56227e31ed7a0c061d4369f5d7..57b6626dd3b6932547512fa9a072867667d5e0db 100644 (file)
@@ -147,18 +147,6 @@ void FGHTTPClient::init()
     
     _packageDelegate.reset(new FGDelegate);
     packageRoot->addDelegate(_packageDelegate.get());
-
-    const char * defaultCatalogId = fgGetString("/sim/package-system/default-catalog/id", "org.flightgear.official" );
-    const char * defaultCatalogUrl = fgGetString("/sim/package-system/default-catalog/url",
-            "http://fgfs.goneabitbursar.com/pkg/" FLIGHTGEAR_VERSION "/catalog.xml");
-    // setup default catalog if not present
-    pkg::Catalog* defaultCatalog = packageRoot->getCatalogById( defaultCatalogId );
-    if (!defaultCatalog) {
-      // always show this message
-      SG_LOG(SG_GENERAL, SG_ALERT, "default catalog not found, installing '"
-        << defaultCatalogId << "' from '" << defaultCatalogUrl << "'.");
-      pkg::Catalog::createFromUrl(packageRoot,defaultCatalogUrl);
-    }
     
     // start a refresh now
     packageRoot->refresh();
@@ -167,6 +155,47 @@ void FGHTTPClient::init()
     _inited = true;
 }
 
+namespace {
+
+std::string _getDefaultCatalogId()
+{
+    return fgGetString("/sim/package-system/default-catalog/id", "org.flightgear.official" );
+}
+
+pkg::CatalogRef getDefaultCatalog()
+{
+    if (!globals->packageRoot())
+        return pkg::CatalogRef();
+
+    return globals->packageRoot()->getCatalogById(_getDefaultCatalogId());
+}
+
+} // of anonymous namespace
+
+bool FGHTTPClient::isDefaultCatalogInstalled() const
+{
+    return getDefaultCatalog().valid();
+}
+
+void FGHTTPClient::addDefaultCatalog()
+{
+    pkg::CatalogRef defaultCatalog = getDefaultCatalog();
+    if (!defaultCatalog.valid()) {
+      pkg::Catalog::createFromUrl(globals->packageRoot(), getDefaultCatalogUrl());
+    }
+}
+
+std::string FGHTTPClient::getDefaultCatalogId() const
+{
+    return _getDefaultCatalogId();
+}
+
+std::string FGHTTPClient::getDefaultCatalogUrl() const
+{
+    return fgGetString("/sim/package-system/default-catalog/url",
+                       "http://fgfs.goneabitbursar.com/pkg/" FLIGHTGEAR_VERSION "/catalog.xml");;
+}
+
 static naRef f_package_existingInstall( pkg::Package& pkg,
                                         const nasal::CallContext& ctx )
 {