45 #include <zypp/ui/Status.h> 46 #include <zypp/ui/Selectable.h> 47 #include <zypp/ResObject.h> 48 #include <zypp/Package.h> 49 #include <zypp/Pattern.h> 50 #include <zypp/Patch.h> 51 #include <zypp/Product.h> 52 #include <zypp/ZYppFactory.h> 53 #include <zypp/ResPoolProxy.h> 56 using zypp::ui::S_Protected;
57 using zypp::ui::S_Taboo;
58 using zypp::ui::S_Del;
59 using zypp::ui::S_Update;
60 using zypp::ui::S_Install;
61 using zypp::ui::S_AutoDel;
62 using zypp::ui::S_AutoUpdate;
63 using zypp::ui::S_AutoInstall;
64 using zypp::ui::S_KeepInstalled;
65 using zypp::ui::S_NoInst;
72 typedef zypp::ui::Status ZyppStatus;
73 typedef zypp::ui::Selectable::Ptr ZyppSel;
74 typedef zypp::ResObject::constPtr ZyppObj;
75 typedef zypp::Package::constPtr ZyppPkg;
76 typedef zypp::Pattern::constPtr ZyppPattern;
77 typedef zypp::Patch::constPtr ZyppPatch;
78 typedef zypp::Product::constPtr ZyppProduct;
79 typedef zypp::PoolItem ZyppPoolItem;
81 typedef zypp::ResPoolProxy ZyppPool;
82 typedef zypp::ResPoolProxy::const_iterator ZyppPoolIterator;
83 typedef zypp::ResPoolProxy::repository_iterator ZyppRepositoryIterator;
85 inline ZyppPool zyppPool() {
return zypp::getZYpp()->poolProxy(); }
87 template<
class T> ZyppPoolIterator zyppBegin() {
return zyppPool().byKindBegin<T>(); }
88 template<
class T> ZyppPoolIterator zyppEnd() {
return zyppPool().byKindEnd<T>(); }
90 inline ZyppPoolIterator zyppPkgBegin() {
return zyppBegin<zypp::Package>(); }
91 inline ZyppPoolIterator zyppPkgEnd() {
return zyppEnd<zypp::Package>(); }
93 inline ZyppPoolIterator zyppPatternsBegin() {
return zyppBegin<zypp::Pattern>(); }
94 inline ZyppPoolIterator zyppPatternsEnd() {
return zyppEnd<zypp::Pattern>(); }
96 inline ZyppPoolIterator zyppPatchesBegin() {
return zyppBegin<zypp::Patch>(); }
97 inline ZyppPoolIterator zyppPatchesEnd() {
return zyppEnd<zypp::Patch>(); }
99 inline ZyppPoolIterator zyppProductsBegin() {
return zyppBegin<zypp::Product>(); }
100 inline ZyppPoolIterator zyppProductsEnd() {
return zyppEnd<zypp::Product>(); }
102 inline ZyppRepositoryIterator ZyppRepositoriesBegin() {
return zyppPool().knownRepositoriesBegin(); }
103 inline ZyppRepositoryIterator ZyppRepositoriesEnd() {
return zyppPool().knownRepositoriesEnd(); }
105 inline ZyppPkg tryCastToZyppPkg( ZyppObj zyppObj )
107 return zypp::dynamic_pointer_cast<
const zypp::Package>( zyppObj );
110 inline ZyppPattern tryCastToZyppPattern( ZyppObj zyppObj )
112 return zypp::dynamic_pointer_cast<
const zypp::Pattern>( zyppObj );
115 inline ZyppPatch tryCastToZyppPatch( ZyppObj zyppObj )
117 return zypp::dynamic_pointer_cast<
const zypp::Patch>( zyppObj );
120 inline ZyppProduct tryCastToZyppProduct( ZyppObj zyppObj )
122 return zypp::dynamic_pointer_cast<
const zypp::Product>( zyppObj );
126 template<
typename T>
bool contains(
const std::set<T> & container, T search )
128 return container.find( search ) != container.end();
132 template<
typename T>
bool bsearch(
const std::vector<T> & sorted_vector, T search )
134 return binary_search( sorted_vector.begin(), sorted_vector.end(), search);