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";
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:
", Description : " << description);
}
-EXPORT_API int wrt_installer_init(void *userdata,
+EXPORT_API void wrt_installer_init(void *userdata,
WrtInstallerInitCallback callback)
{
// Set DPL/LOG MID
// 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
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();
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()
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
)
InstallerCallbacksTranslate::installProgressCallback,
new InstallerCallbacksTranslate::StatusCallbackStruct(
userdata, status_cb, progress_cb),
- translateWidgetUpdateMode(update_mode),
+ translateInstallMode(installMode),
quiet,
- preload,
pkgmgrInterface)));
}
UNHANDLED_EXCEPTION_HANDLER_END
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