diff --git a/include/libdnf5/advisory/advisory_package.hpp b/include/libdnf5/advisory/advisory_package.hpp index d0a2a6683..5d64151ba 100644 --- a/include/libdnf5/advisory/advisory_package.hpp +++ b/include/libdnf5/advisory/advisory_package.hpp @@ -54,11 +54,21 @@ class AdvisoryPackage { /// @return Name of this AdvisoryPackage as std::string. std::string get_name() const; + /// Get epoch of this AdvisoryPackage. + /// + /// @return Epoch of this AdvisoryPackage as std::string. + std::string get_epoch() const; + /// Get version of this AdvisoryPackage. /// /// @return Version of this AdvisoryPackage as std::string. std::string get_version() const; + /// Get release version of this AdvisoryPackage. + /// + /// @return Release of this AdvisoryPackage as std::string. + std::string get_release() const; + /// Get evr of this AdvisoryPackage. /// /// @return Evr of this AdvisoryPackage as std::string. diff --git a/libdnf5/advisory/advisory_package.cpp b/libdnf5/advisory/advisory_package.cpp index 3f0296131..776297375 100644 --- a/libdnf5/advisory/advisory_package.cpp +++ b/libdnf5/advisory/advisory_package.cpp @@ -43,10 +43,18 @@ std::string AdvisoryPackage::get_name() const { return p_impl->get_name(); } +std::string AdvisoryPackage::get_epoch() const { + return p_impl->get_epoch(); +} + std::string AdvisoryPackage::get_version() const { return p_impl->get_version(); } +std::string AdvisoryPackage::get_release() const { + return p_impl->get_release(); +} + std::string AdvisoryPackage::get_evr() const { return p_impl->get_evr(); } @@ -102,11 +110,21 @@ std::string AdvisoryPackage::Impl::get_name() const { return get_rpm_pool(base).id2str(name); } +std::string AdvisoryPackage::Impl::get_epoch() const { + auto & pool = get_rpm_pool(base); + return pool.split_evr(pool.id2str(evr)).e_def(); +} + std::string AdvisoryPackage::Impl::get_version() const { auto & pool = get_rpm_pool(base); return pool.split_evr(pool.id2str(evr)).v; } +std::string AdvisoryPackage::Impl::get_release() const { + auto & pool = get_rpm_pool(base); + return pool.split_evr(pool.id2str(evr)).r; +} + std::string AdvisoryPackage::Impl::get_evr() const { return get_rpm_pool(base).id2str(evr); } diff --git a/libdnf5/advisory/advisory_package_private.hpp b/libdnf5/advisory/advisory_package_private.hpp index a8438b152..f253f2c3c 100644 --- a/libdnf5/advisory/advisory_package_private.hpp +++ b/libdnf5/advisory/advisory_package_private.hpp @@ -36,7 +36,9 @@ namespace libdnf5::advisory { class AdvisoryPackage::Impl { public: std::string get_name() const; + std::string get_epoch() const; std::string get_version() const; + std::string get_release() const; std::string get_evr() const; std::string get_arch() const; Id get_name_id() const { return name; };