X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fwrt-installer%2Fwrt_installer_api.cpp;h=671ab9814e1954962e1f940755c13f1d17806e8b;hb=6c643b796dc60f4f3e2870146ddb222246bba734;hp=f6bb4fb4b571df0590c3f09da44a5188368116dd;hpb=42655b8f6796ff8d3354042ec7bfe6e26808418f;p=framework%2Fweb%2Fwrt-installer.git diff --git a/src/wrt-installer/wrt_installer_api.cpp b/src/wrt-installer/wrt_installer_api.cpp index f6bb4fb..671ab98 100644 --- a/src/wrt-installer/wrt_installer_api.cpp +++ b/src/wrt-installer/wrt_installer_api.cpp @@ -48,54 +48,23 @@ 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 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