21 #ifndef ZYPP_SOLVER_DETAIL_QUEUEITEM_H
22 #define ZYPP_SOLVER_DETAIL_QUEUEITEM_H
23 #ifndef ZYPP_USE_RESOLVER_INTERNALS
24 #error Do not directly include this file!
56 QUEUE_ITEM_TYPE_UNKNOWN = 0,
57 QUEUE_ITEM_TYPE_UPDATE,
58 QUEUE_ITEM_TYPE_INSTALL,
59 QUEUE_ITEM_TYPE_DELETE,
60 QUEUE_ITEM_TYPE_INSTALL_ONE_OF,
62 } SolverQueueItemType;
67 #define CMP(a,b) (((a) < (b)) - ((b) < (a)))
77 SolverQueueItemType _type;
90 virtual std::ostream &
dumpOn( std::ostream &
str )
const;
93 {
return obj.dumpOn (
str); }
98 ResPool pool (
void)
const {
return _pool; }
104 bool isDelete (
void)
const {
return _type == QUEUE_ITEM_TYPE_DELETE; }
105 bool isInstall (
void)
const {
return _type == QUEUE_ITEM_TYPE_INSTALL; }
106 bool isUpdate (
void)
const {
return _type == QUEUE_ITEM_TYPE_UPDATE; }
107 bool isLock (
void)
const {
return _type == QUEUE_ITEM_TYPE_LOCK; }
108 bool isInstallOneOf (
void)
const {
return _type == QUEUE_ITEM_TYPE_INSTALL_ONE_OF; }
111 virtual SolverQueueItem_Ptr
copy (
void)
const = 0;
113 virtual int cmp (SolverQueueItem_constPtr item)
const = 0;
114 int compare (SolverQueueItem_constPtr item)
const {
return CMP(_type, item->_type); }
127 #endif // ZYPP_USE_RESOLVER_INTERNALS
128 #endif // ZYPP_SOLVER_DETAIL_QUEUEITEM_H