/*
* @file package-info.cpp
* @author Kyungwook Tak (k.tak@samsung.com)
+ * @author Sangwan Kwon (sangwan.kwon@samsung.com)
* @version 1.0
* @brief Package info getter for displaying detail of package on popup.
*/
char *icon = nullptr;
auto ret = ::pkgmgrinfo_pkginfo_get_icon(this->m_handle, &icon);
if (ret != PMINFO_R_OK)
- ThrowExc(InternalError, "Failed to get icon with pkginfo. ret: " << ret);
+ ThrowExc(InternalError,
+ "Failed to get icon with pkginfo. ret: " << ret);
if (icon == nullptr)
ThrowExc(InternalError,
- "pkgmgrinfo_pkginfo_get_icon success but null returned on icon path.");
+ "pkgmgrinfo_pkginfo_get_icon success"
+ ", but null returned on icon path.");
return std::string(icon);
}
+std::string PackageInfo::getVersion(void)
+{
+ char *version = nullptr;
+ auto ret = ::pkgmgrinfo_pkginfo_get_version(this->m_handle, &version);
+ if (ret != PMINFO_R_OK)
+ ThrowExc(InternalError,
+ "Failed to get version with pkginfo. ret: " << ret);
+
+ if (version == nullptr)
+ ThrowExc(InternalError,
+ "pkgmgrinfo_pkginfo_get_version success"
+ ", but null returned on icon path.");
+
+ return std::string(version);
}
+
+std::string PackageInfo::getLabel(void)
+{
+ char *label = nullptr;
+ auto ret = ::pkgmgrinfo_pkginfo_get_label(this->m_handle, &label);
+ if (ret != PMINFO_R_OK)
+ ThrowExc(InternalError,
+ "Failed to get label with pkginfo. ret: " << ret);
+
+ if (label == nullptr)
+ ThrowExc(InternalError,
+ "pkgmgrinfo_pkginfo_get_label success"
+ ", but null returned on icon path.");
+
+ return std::string(label);
}
+
+} // namespace Ui
+} // namespace Csr
/*
* @file package-info.h
* @author Kyungwook Tak (k.tak@samsung.com)
+ * @author Sangwan Kwon (sangwan.kwon@samsung.com)
* @version 1.0
* @brief Package info getter for displaying detail of package on popup.
*/
PackageInfo &operator=(PackageInfo &&) = delete;
std::string getIconPath(void);
+ std::string getVersion(void);
+ std::string getLabel(void);
private:
pkgmgrinfo_pkginfo_h m_handle;
-
};
-
} // namespace Ui
} // namespace Csr
/*
* @file test-package-info.cpp
* @author Kyungwook Tak (k.tak@samsung.com)
+ * @author Sangwan Kwon (sangwan.kwon@samsung.com)
* @version 1.0
* @brief Package info class test
*/
EXCEPTION_GUARD_END
}
+BOOST_AUTO_TEST_CASE(get_version_wgt)
+{
+ EXCEPTION_GUARD_START
+
+ Test::uninstall_app(TEST_WGT_PKG_ID);
+ ASSERT_INSTALL_APP(TEST_WGT_PATH, TEST_WGT_TYPE);
+
+ Ui::PackageInfo info(TEST_WGT_PKG_ID);
+
+ BOOST_MESSAGE(info.getVersion());
+
+ EXCEPTION_GUARD_END
+}
+
+BOOST_AUTO_TEST_CASE(get_version_tpk)
+{
+ EXCEPTION_GUARD_START
+
+ Test::uninstall_app(TEST_TPK_PKG_ID);
+ ASSERT_INSTALL_APP(TEST_TPK_PATH, TEST_TPK_TYPE);
+
+ Ui::PackageInfo info(TEST_TPK_PKG_ID);
+
+ BOOST_MESSAGE(info.getVersion());
+
+ EXCEPTION_GUARD_END
+}
+
+BOOST_AUTO_TEST_CASE(get_label_wgt)
+{
+ EXCEPTION_GUARD_START
+
+ Test::uninstall_app(TEST_WGT_PKG_ID);
+ ASSERT_INSTALL_APP(TEST_WGT_PATH, TEST_WGT_TYPE);
+
+ Ui::PackageInfo info(TEST_WGT_PKG_ID);
+
+ BOOST_MESSAGE(info.getLabel());
+
+ EXCEPTION_GUARD_END
+}
+
+BOOST_AUTO_TEST_CASE(get_label_tpk)
+{
+ EXCEPTION_GUARD_START
+
+ Test::uninstall_app(TEST_TPK_PKG_ID);
+ ASSERT_INSTALL_APP(TEST_TPK_PATH, TEST_TPK_TYPE);
+
+ Ui::PackageInfo info(TEST_TPK_PKG_ID);
+
+ BOOST_MESSAGE(info.getLabel());
+
+ EXCEPTION_GUARD_END
+}
+
BOOST_AUTO_TEST_SUITE_END()