[Release] wrt-installer_0.1.23
[framework/web/wrt-installer.git] / src / wrt-installer / wrt_installer_api.cpp
index f6bb4fb..671ab98 100644 (file)
 
 using namespace WrtDB;
 
-#undef TRUE
-#undef FALSE
-#define TRUE 0
-#define FALSE -1
-
 #ifdef __cplusplus
 
 #define EXPORT_API __attribute__((visibility("default")))
 extern "C"
 {
 #endif
-inline WidgetUpdateMode::Type translateWidgetUpdateMode(
-    wrt_widget_update_mode_t updateMode)
+inline InstallMode::Type translateInstallMode(
+    WrtInstallMode installMode)
 {
-    if (updateMode == WRT_WIM_POLICY_DIRECTORY_FORCE_INSTALL) {
-        return WidgetUpdateMode::PolicyDirectoryForceInstall;
-    }
-
-    WidgetUpdateMode::Type result = WidgetUpdateMode::Zero;
-    if (updateMode & WRT_WIM_NOT_INSTALLED) {
-        result = result | WidgetUpdateMode::NotInstalled;
-    }
-
-    if (updateMode & WRT_WIM_INCOMING_VERSION_NOT_STD) {
-        result = result | WidgetUpdateMode::IncomingVersionNotStd;
-    }
-
-    if (updateMode & WRT_WIM_EXISTING_VERSION_NOT_STD) {
-        result = result | WidgetUpdateMode::ExistingVersionNotStd;
-    }
-
-    if (updateMode & WRT_WIM_BOTH_VERSIONS_NOT_STD) {
-        result = result | WidgetUpdateMode::BothVersionsNotStd;
-    }
-
-    if (updateMode & WRT_WIM_EXISTING_VERSION_OLDER) {
-        result = result | WidgetUpdateMode::ExistingVersionOlder;
+    if (WRT_INSTALL_MODE_INSTALL_WGT == installMode) {
+        return InstallMode::INSTALL_MODE_WGT;
+    } else if (WRT_INSTALL_MODE_INSTALL_DIRECTORY == installMode) {
+        return InstallMode::INSTALL_MODE_DIRECTORY;
+    } else if (WRT_INSTALL_MODE_INSTALL_PRELOAD == installMode) {
+        return InstallMode::INSTALL_MODE_PRELOAD;
     }
-
-    if (updateMode & WRT_WIM_EXISTING_VERSION_EQUAL) {
-        result = result | WidgetUpdateMode::ExistingVersionEqual;
-    }
-
-    if (updateMode & WRT_WIM_EXISTING_VERSION_NEWER) {
-        result = result | WidgetUpdateMode::ExistingVersionNewer;
-    }
-
-    return result;
+    Assert(true && "wrong argument is inputed");
 }
 
 const char PLUGIN_INSTALL_SEMAPHORE[] = "/.wrt_plugin_install_lock";
@@ -179,25 +148,10 @@ void plugin_install_status_cb(WrtErrStatus status,
     LogError("Fail to install plugin : " << plugin_data->plugin_path);
 
     switch (status) {
-    case WRT_PLUGIN_INSTALLER_ERROR_WRONG_PATH:
+    case WRT_INSTALLER_ERROR_PLUGIN_INSTALLATION_FAILED:
         LogError("Failed : Plugin install path is wrong");
         break;
-    case WRT_PLUGIN_INSTALLER_ERROR_METAFILE:
-        LogError("Failed : Plugin Metafile Error");
-        break;
-    case WRT_PLUGIN_INSTALLER_ERROR_ALREADY_INSTALLED:
-        LogError("Failed : This Plugin is already installed");
-        break;
-    case WRT_PLUGIN_INSTALLER_ERROR_LIBRARY_ERROR:
-        LogError("Failed : Library Error. Missing symbol or structures");
-        break;
-    case WRT_PLUGIN_INSTALLER_ERROR_WAITING:
-        LogError("Failed : Waiting for plugin dependencies");
-        break;
-    case WRT_PLUGIN_INSTALLER_ERROR_LOCK:
-        LogError("Failed : Lock Error");
-        break;
-    case WRT_PLUGIN_INSTALLER_ERROR_UNKNOWN:
+    case WRT_INSTALLER_ERROR_UNKNOWN:
         LogError("Failed : Unkown Error");
         break;
     default:
@@ -216,7 +170,7 @@ void plugin_install_progress_cb(float percent,
             ", Description : " << description);
 }
 
-EXPORT_API int wrt_installer_init(void *userdata,
+EXPORT_API void wrt_installer_init(void *userdata,
                                   WrtInstallerInitCallback callback)
 {
     // Set DPL/LOG MID
@@ -232,9 +186,9 @@ EXPORT_API int wrt_installer_init(void *userdata,
         // Check paths
         if (!checkPaths()) {
             if (callback) {
-                callback(WRT_ERROR_NO_PATH, userdata);
+                callback(WRT_INSTALLER_ERROR_FATAL_ERROR, userdata);
             }
-            return TRUE;
+            return;
         }
 
         // Initialize ValidationCore - this must be done before AttachDatabases
@@ -245,15 +199,6 @@ EXPORT_API int wrt_installer_init(void *userdata,
 
         InstallerMainThreadSingleton::Instance().AttachDatabases();
 
-        //checking for correct DB version
-        //            if (!WrtDB::WrtDatabase::CheckTableExist(DB_CHECKSUM_STR))
-        // {
-        //                LogError("WRONG VERSION OF WRT DATABASE");
-        //                Assert(false && "WRONG VERSION OF WRT DATABASE");
-        //                return FALSE;
-        //            }
-        LogWarning("Database check not implemented!");
-
         LogInfo("Prepare libxml2 to work in multithreaded program.");
         xmlInitParser();
 
@@ -280,12 +225,11 @@ EXPORT_API int wrt_installer_init(void *userdata,
         LogError("Internal Error during Init:");
         DPL::Exception::DisplayKnownException(ex);
         if (callback) {
-            callback(WRT_ERROR_INTERNAL, userdata);
+            callback(WRT_INSTALLER_ERROR_FATAL_ERROR, userdata);
+            return;
         }
-        return FALSE;
     }
-    // OK
-    return TRUE;
+    return;
 }
 
 EXPORT_API void wrt_installer_shutdown()
@@ -318,9 +262,8 @@ EXPORT_API void wrt_install_widget(
     void* userdata,
     WrtInstallerStatusCallback status_cb,
     WrtProgressCallback progress_cb,
-    wrt_widget_update_mode_t update_mode,
+    WrtInstallMode installMode,
     bool quiet,
-    bool preload,
     std::shared_ptr<PackageManager::
                         IPkgmgrSignal> pkgmgrInterface
     )
@@ -337,9 +280,8 @@ EXPORT_API void wrt_install_widget(
                     InstallerCallbacksTranslate::installProgressCallback,
                     new InstallerCallbacksTranslate::StatusCallbackStruct(
                         userdata, status_cb, progress_cb),
-                    translateWidgetUpdateMode(update_mode),
+                    translateInstallMode(installMode),
                     quiet,
-                    preload,
                     pkgmgrInterface)));
     }
     UNHANDLED_EXCEPTION_HANDLER_END
@@ -528,90 +470,6 @@ EXPORT_API void wrt_install_all_plugins(
     UNHANDLED_EXCEPTION_HANDLER_END
 }
 
-EXPORT_API int wrt_installer_init_for_tests(void *userdata,
-                                            WrtInstallerInitCallback callback)
-{
-    // Set DPL/LOG MID
-    DPL::Log::LogSystemSingleton::Instance().SetTag("WRT");
-
-    try {
-        LogInfo("[WRT-API] INITIALIZING WRT INSTALLER...");
-        LogInfo("[WRT-API] BUILD: " << __TIMESTAMP__);
-
-        // Touch InstallerController Singleton
-        InstallerMainThreadSingleton::Instance().
-            TouchArchitectureOnlyInstaller();
-
-        // Check paths
-        if (!checkPaths()) {
-            if (callback) {
-                callback(WRT_ERROR_NO_PATH, userdata);
-            }
-            return TRUE;
-        }
-
-        CONTROLLER_POST_SYNC_EVENT(
-            Logic::InstallerController,
-            InstallerControllerEvents::
-                InitializeEvent());
-
-        if (callback) {
-            LogInfo("[WRT-API] WRT INSTALLER INITIALIZATION CALLBACK");
-            callback(WRT_SUCCESS, userdata);
-        }
-    } catch (const DPL::Exception& ex) {
-        LogError("Internal Error during Init:");
-        DPL::Exception::DisplayKnownException(ex);
-        if (callback) {
-            callback(WRT_ERROR_INTERNAL, userdata);
-        }
-        return FALSE;
-    }
-
-    // OK
-    return TRUE;
-}
-
-EXPORT_API void wrt_installer_shutdown_for_tests()
-{
-    try {
-        LogInfo("[WRT-API] DEINITIALIZING WRT INSTALLER...");
-
-        // Installer termination
-        CONTROLLER_POST_SYNC_EVENT(
-            Logic::InstallerController,
-            InstallerControllerEvents::
-                TerminateEvent());
-
-        // Global deinit check
-        LogInfo("Cleanup libxml2 global values.");
-        xmlCleanupParser();
-    } catch (const DPL::Exception& ex) {
-        LogError("Internal Error during Shutdown:");
-        DPL::Exception::DisplayKnownException(ex);
-    }
-}
-
-EXPORT_API WrtErrStatus wrt_get_widget_by_guid(std::string & tzAppid,
-                                               const std::string & guid)
-{
-    try {
-        LogInfo("[WRT-API] GETTING WIDGET PACKAGE NAME BY WidgetID : "
-                << guid);
-
-        WidgetGUID widget_guid = DPL::FromUTF8String(guid);
-        WrtDB::WidgetDAOReadOnly dao(widget_guid);
-        tzAppid = DPL::ToUTF8String(dao.getTzAppId());
-        return WRT_SUCCESS;
-    } catch (WidgetDAOReadOnly::Exception::WidgetNotExist&) {
-        LogError("Error package name is not found");
-        return WRT_ERROR_PKGNAME_NOT_FOUND;
-    } catch (const DPL::Exception& ex) {
-        LogError("Internal Error during get widget id by package name");
-        DPL::Exception::DisplayKnownException(ex);
-        return WRT_ERROR_INTERNAL;
-    }
-}
 #ifdef __cplusplus
 }
 #endif