[Release] wrt-installer_0.0.90
[framework/web/wrt-installer.git] / src / wrt-installer / wrt_installer_api.cpp
old mode 100755 (executable)
new mode 100644 (file)
index 2a3d48c..e481f2f
@@ -62,8 +62,10 @@ extern "C"
     inline WidgetUpdateMode::Type translateWidgetUpdateMode(
             wrt_widget_update_mode_t updateMode)
     {
-        WidgetUpdateMode::Type result = WidgetUpdateMode::Zero;
+        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;
         }
@@ -136,17 +138,17 @@ extern "C"
                 "> does not exist.");
         }
 
-        if_ok &= (checkPath(GlobalConfig::GetFactoryInstalledWidgetPath()));
+        if_ok &= (checkPath(GlobalConfig::GetUserInstalledWidgetPath()));
         if (!if_ok) {
             LogError(
-                "Path <" << GlobalConfig::GetFactoryInstalledWidgetPath() <<
+                "Path <" << GlobalConfig::GetUserInstalledWidgetPath() <<
                 "> does not exist.");
         }
 
-        if_ok &= (checkPath(GlobalConfig::GetUserInstalledWidgetPath()));
+        if_ok &= (checkPath(GlobalConfig::GetUserPreloadedWidgetPath()));
         if (!if_ok) {
             LogError(
-                "Path <" << GlobalConfig::GetUserInstalledWidgetPath() <<
+                "Path <" << GlobalConfig::GetUserPreloadedWidgetPath() <<
                 "> does not exist.");
         }
         return if_ok;
@@ -321,7 +323,10 @@ extern "C"
                                        WrtInstallerStatusCallback status_cb,
                                        WrtProgressCallback progress_cb,
                                        wrt_widget_update_mode_t update_mode,
-                                       bool quiet)
+                                       bool quiet,
+                                       bool preload,
+                                       std::shared_ptr<PackageManager::IPkgmgrSignal> pkgmgrInterface
+                                       )
     {
         UNHANDLED_EXCEPTION_HANDLER_BEGIN
         {
@@ -336,29 +341,37 @@ extern "C"
                         new InstallerCallbacksTranslate::StatusCallbackStruct(
                             userdata, status_cb, progress_cb),
                         translateWidgetUpdateMode(update_mode),
-                        quiet)));
+                        quiet,
+                        preload,
+                        pkgmgrInterface)));
         }
         UNHANDLED_EXCEPTION_HANDLER_END
     }
 
-    EXPORT_API void wrt_uninstall_widget(int widget_handle,
+    EXPORT_API void wrt_uninstall_widget(const char * const pkg_name,
                                          void* userdata,
                                          WrtInstallerStatusCallback status_cb,
-                                         WrtProgressCallback progress_cb)
+                                         WrtProgressCallback progress_cb,
+                                         std::shared_ptr<PackageManager::IPkgmgrSignal> pkgmgrSignalInterface)
     {
         UNHANDLED_EXCEPTION_HANDLER_BEGIN
         {
-            LogInfo("[WRT-API] UNINSTALL WIDGET: " << widget_handle);
+            std::string widgetPkgName(pkg_name);
+            LogInfo("[WRT-API] UNINSTALL WIDGET: " << widgetPkgName);
             // Post uninstallation event
             CONTROLLER_POST_EVENT(
-                Logic::InstallerController,
-                InstallerControllerEvents::UninstallWidgetEvent(
-                    widget_handle,
-                    WidgetUninstallationStruct(
-                        InstallerCallbacksTranslate::uninstallFinishedCallback,
-                        InstallerCallbacksTranslate::installProgressCallback,
-                        new InstallerCallbacksTranslate::StatusCallbackStruct(
-                            userdata, status_cb, progress_cb))));
+                    Logic::InstallerController,
+                    InstallerControllerEvents::UninstallWidgetEvent(
+                            widgetPkgName,
+                            WidgetUninstallationStruct(
+                                    InstallerCallbacksTranslate::uninstallFinishedCallback,
+                                    InstallerCallbacksTranslate::installProgressCallback,
+                                    new InstallerCallbacksTranslate::StatusCallbackStruct(
+                                            userdata, status_cb, progress_cb),
+                                    pkgmgrSignalInterface
+                            )
+                    )
+            );
         }
         UNHANDLED_EXCEPTION_HANDLER_END
     }
@@ -576,43 +589,17 @@ extern "C"
         }
     }
 
-    EXPORT_API WrtErrStatus wrt_get_widget_by_pkgname(const std::string pkgname,
-            int *widget_handle)
-    {
-        try
-        {
-            LogInfo("[WRT-API] GETTING WIDGET HANDLE BY PKG NAME : "
-                    << pkgname);
-
-            WidgetHandle handle = WidgetDAOReadOnly::getHandle(
-                    DPL::FromASCIIString(pkgname));
-            *widget_handle = static_cast<int>(handle);
-            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;
-        }
-    }
-
-    EXPORT_API WrtErrStatus wrt_get_widget_by_guid(const std::string guid,
-            int *widget_handle)
+    EXPORT_API WrtErrStatus wrt_get_widget_by_guid(std::string & pkgname,
+                                                   const std::string guid)
     {
         try
         {
-            LogInfo("[WRT-API] GETTING WIDGET HANDLE BY WidgetID : "
+            LogInfo("[WRT-API] GETTING WIDGET PACKAGE NAME BY WidgetID : "
                     << guid);
 
             WidgetGUID widget_guid = DPL::FromUTF8String(guid);
-            WidgetHandle handle = WidgetDAOReadOnly::getHandle(widget_guid);
-            *widget_handle = static_cast<int>(handle);
+            WrtDB::WidgetDAOReadOnly dao(widget_guid);
+            pkgname = DPL::ToUTF8String(dao.getPkgName());
             return WRT_SUCCESS;
         }
         catch (WidgetDAOReadOnly::Exception::WidgetNotExist)