WrtDB::TizenAppId appid;
- if ((regexec(®, pkg_name,
+ if (!(regexec(®, pkg_name,
static_cast<size_t>(0), NULL, 0) == 0))
{
- WrtDB::TizenPkgId pkgid(DPL::FromUTF8String(pkg_name));
- appid = WidgetDAOReadOnly::getTzAppId(pkgid);
- } else {
- appid = DPL::FromUTF8String(pkg_name);
+ LogError("Invalid argument : " << pkg_name);
+ return FALSE;
}
- bool result = WidgetDAOReadOnly::isWidgetInstalled(appid);
- WrtDB::WrtDatabase::detachFromThread();
-
- if (result) {
- return TRUE;
- } else {
+ Try {
+ WrtDB::TizenPkgId pkgid(DPL::FromUTF8String(pkg_name));
+ appid = WidgetDAOReadOnly::getTzAppId(pkgid);
+ LogDebug("appid : " << appid);
+ } Catch(WidgetDAOReadOnly::Exception::WidgetNotExist) {
+ WrtDB::WrtDatabase::detachFromThread();
return FALSE;
}
+ WrtDB::WrtDatabase::detachFromThread();
+ return TRUE;
}
static int pkg_plugin_get_installed_apps_list(const char * /*category*/,
LogDebug("pkg_plugin_get_app_detail_info() is called");
WrtDB::WrtDatabase::attachToThreadRO();
- int handle = WidgetDAOReadOnly::getHandle(
- DPL::FromUTF8String(pkg_name));
- WidgetDAOReadOnly widget(handle);
+
+ WrtDB::TizenAppId appid;
+ Try {
+ WrtDB::TizenPkgId pkgid(DPL::FromUTF8String(pkg_name));
+ appid = WidgetDAOReadOnly::getTzAppId(pkgid);
+ LogDebug("appid : " << appid);
+ } Catch(WidgetDAOReadOnly::Exception::WidgetNotExist) {
+ WrtDB::WrtDatabase::detachFromThread();
+ return FALSE;
+ }
+
+ WidgetDAOReadOnly widget(appid);
DPL::Optional<DPL::String> version = widget.getVersion();
DPL::Optional<DPL::String> id = widget.getGUID();
DPL::ToUTF8String(*version).c_str(),
PKG_VERSION_STRING_LEN_MAX - 1);
}
- snprintf(pkg_detail_info->optional_id, PKG_NAME_STRING_LEN_MAX, "%d",
- handle);
+ snprintf(pkg_detail_info->pkgid, PKG_NAME_STRING_LEN_MAX, "%s",
+ pkg_name);
+ snprintf(pkg_detail_info->optional_id, PKG_NAME_STRING_LEN_MAX, "%s",
+ DPL::ToUTF8String(appid).c_str());
WidgetLocalizedInfo localizedInfo;
if (locale.IsNull()) {
- LogError("is NULL");
+ LogDebug("locale is NULL");
DPL::String languageTag(L"");
localizedInfo = widget.getLocalizedInfo(languageTag);
} else {
strncpy(pkg_detail_info->pkg_type, "wgt", PKG_TYPE_STRING_LEN_MAX);
strncpy(pkg_detail_info->pkg_name, pkg_name, PKG_NAME_STRING_LEN_MAX - 1);
+ std::string min_version = DPL::ToUTF8String((*widget.getMinimumWacVersion()));
+
+ strncpy(pkg_detail_info->min_platform_version, min_version.c_str(),
+ PKG_VERSION_STRING_LEN_MAX - 1);
+
/* set installed time */
pkg_detail_info->installed_time = widget.getInstallTime();
strncpy(pkg_detail_info->pkgid,
DPL::ToUTF8String(*configInfo.tizenPkgId).c_str(), PKG_TYPE_STRING_LEN_MAX - 1);
}
+ if (!configInfo.tizenAppId.IsNull()) {
+ strncpy(pkg_detail_info->pkg_name,
+ DPL::ToUTF8String(*configInfo.tizenAppId).c_str(),
+ PKG_NAME_STRING_LEN_MAX - 1);
+ }
if (!configInfo.version.IsNull()) {
strncpy(pkg_detail_info->version,
DPL::ToUTF8String(*configInfo.version).c_str(),
}
if( !name.IsNull()) {
- strncpy(pkg_detail_info->pkg_name, DPL::ToUTF8String(*name).c_str(), PKG_NAME_STRING_LEN_MAX - 1);
+ strncpy(pkg_detail_info->label, DPL::ToUTF8String(*name).c_str(),
+ PKG_LABEL_STRING_LEN_MAX - 1);
}
if (!desc.IsNull()) {
if (!configInfo.tizenMinVersionRequired.IsNull()) {
strncpy(pkg_detail_info->min_platform_version,
DPL::ToUTF8String(*configInfo.tizenMinVersionRequired).c_str(),
- PKG_VERSION_STRING_LEN_MAX);
+ PKG_VERSION_STRING_LEN_MAX - 1);
}
if (!configInfo.authorName.IsNull()) {
PKG_VALUE_STRING_LEN_MAX - 1);
}
- std::string icon_name;
+ GList *privilege_list = pkg_detail_info->privilege_list;
+ FOREACH(it, configInfo.featuresList) {
+ std::string featureInfo = DPL::ToUTF8String(it->name);
+ LogDebug("privilege : " << featureInfo);
+ int length = featureInfo.size();
+ char *privilege = (char*) calloc(1, (sizeof(char) * (length + 1)));
+ snprintf(privilege, length + 1, "%s", featureInfo.c_str());
+ privilege_list = g_list_append(privilege_list, &privilege);
+ }
+
+ std::string icon_name;
FOREACH(i, configInfo.iconsList) {
LogDebug("icon name: " << i->src);
icon_name = DPL::ToUTF8String(i->src);
break;
}
+
pkg_detail_info->icon_buf = getIconInfo(widget_path, icon_name,
pkg_detail_info->icon_size);
LogDebug("icon size : " << pkg_detail_info->icon_size);
- GList *privilege_list = NULL;
- FOREACH(it, configInfo.featuresList) {
- LogDebug("privilege : " << it->name);
- int length = DPL::ToUTF8String(it->name).length();
- char *privilege = (char*) calloc(1, (sizeof(char) * length) + 1);
- snprintf(privilege, length + 1, "%s",
- DPL::ToUTF8String(it->name).c_str());
- privilege_list = g_list_append(privilege_list, privilege);
- }
- pkg_detail_info->privilege_list = privilege_list;
-
return TRUE;
}
pkgmgr_info *pkgmgr_client_check_pkginfo_from_file(const char *pkg_path)
{
LogDebug("pkgmgr_client_check_pkginfo_from_file() is called");
- package_manager_pkg_detail_info_t pkg_detail_info;
- int ret = getWidgetDetailInfoFromPackage(pkg_path, &pkg_detail_info);
+ package_manager_pkg_detail_info_t *pkg_detail_info;
+ pkg_detail_info = (package_manager_pkg_detail_info_t*)malloc(
+ sizeof(package_manager_pkg_detail_info_t));
+ int ret = getWidgetDetailInfoFromPackage(pkg_path, pkg_detail_info);
if (FALSE == ret) {
LogError("Failed to get package detail info ");
return NULL;