From: sangwan.kwon Date: Wed, 1 Jun 2016 08:55:09 +0000 (+0900) Subject: Add getLabel and getVersion to package-info class X-Git-Tag: accepted/tizen/common/20160614.143943^2~67 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F05%2F72505%2F3;p=platform%2Fupstream%2Fcsr-framework.git Add getLabel and getVersion to package-info class Change-Id: I02d0cfa05c8313659d146ec4719c985911e1a1bc --- diff --git a/src/framework/ui/popup/package-info.cpp b/src/framework/ui/popup/package-info.cpp index c76de04..e397029 100644 --- a/src/framework/ui/popup/package-info.cpp +++ b/src/framework/ui/popup/package-info.cpp @@ -16,6 +16,7 @@ /* * @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. */ @@ -43,14 +44,48 @@ std::string PackageInfo::getIconPath(void) 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 diff --git a/src/framework/ui/popup/package-info.h b/src/framework/ui/popup/package-info.h index 73127c1..6c80836 100644 --- a/src/framework/ui/popup/package-info.h +++ b/src/framework/ui/popup/package-info.h @@ -16,6 +16,7 @@ /* * @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. */ @@ -39,12 +40,12 @@ public: 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 diff --git a/test/internals/test-package-info.cpp b/test/internals/test-package-info.cpp index dc8f122..e0750bb 100644 --- a/test/internals/test-package-info.cpp +++ b/test/internals/test-package-info.cpp @@ -16,6 +16,7 @@ /* * @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 */ @@ -58,4 +59,60 @@ BOOST_AUTO_TEST_CASE(get_icon_tpk) 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()