virtual SolverQueueItem_Ptr copy (void) const = 0;
- //virtual int cmp (SolverQueueItem_constPtr item) const = 0;
+ virtual int cmp (SolverQueueItem_constPtr item) const = 0;
int compare (SolverQueueItem_constPtr item) const { return CMP(_type, item->_type); }
return new_delete;
}
+int
+SolverQueueItemDelete::cmp (SolverQueueItem_constPtr item) const
+{
+ int cmp = this->compare (item);
+ if (cmp != 0)
+ return cmp;
+ SolverQueueItemDelete_constPtr del = dynamic_pointer_cast<const SolverQueueItemDelete>(item);
+ if (_name != del->_name) {
+ return _name.compare(del->_name);
+ } else {
+ if (_soft == del->_soft) {
+ return 0;
+ } else {
+ if (_soft)
+ return 1;
+ else
+ return -1;
+ }
+ }
+}
//---------------------------------------------------------------------------
// ---------------------------------- methods
virtual SolverQueueItem_Ptr copy (void) const;
- //virtual int cmp (SolverQueueItem_constPtr item) const;
+ virtual int cmp (SolverQueueItem_constPtr item) const;
};
///////////////////////////////////////////////////////////////////
}
+int
+SolverQueueItemInstall::cmp (SolverQueueItem_constPtr item) const
+{
+ int cmp = this->compare (item);
+ if (cmp != 0)
+ return cmp;
+ SolverQueueItemInstall_constPtr ins = dynamic_pointer_cast<const SolverQueueItemInstall>(item);
+ if (_name != ins->_name) {
+ return _name.compare(ins->_name);
+ } else {
+ if (_soft == ins->_soft) {
+ return 0;
+ } else {
+ if (_soft)
+ return 1;
+ else
+ return -1;
+ }
+ }
+}
+
+
//---------------------------------------------------------------------------
// ---------------------------------- methods
virtual SolverQueueItem_Ptr copy (void) const;
- //virtual int cmp (SolverQueueItem_constPtr item) const;
+ virtual int cmp (SolverQueueItem_constPtr item) const;
};
///////////////////////////////////////////////////////////////////
return new_installOneOf;
}
+int
+SolverQueueItemInstallOneOf::cmp (SolverQueueItem_constPtr item) const
+{
+ int cmp = this->compare (item);
+ if (cmp != 0)
+ return cmp;
+ SolverQueueItemInstallOneOf_constPtr install = dynamic_pointer_cast<const SolverQueueItemInstallOneOf>(item);
+
+ return (_oneOfList == install->_oneOfList) ? 0 : -1; // more evaluation would be not useful
+}
+
//---------------------------------------------------------------------------
// ---------------------------------- methods
virtual SolverQueueItem_Ptr copy (void) const;
- //virtual int cmp (SolverQueueItem_constPtr item) const;
+ virtual int cmp (SolverQueueItem_constPtr item) const;
};
///////////////////////////////////////////////////////////////////
return new_update;
}
+int
+SolverQueueItemUpdate::cmp (SolverQueueItem_constPtr item) const
+{
+ int cmp = this->compare (item);
+ if (cmp != 0)
+ return cmp;
+ SolverQueueItemUpdate_constPtr update = dynamic_pointer_cast<const SolverQueueItemUpdate>(item);
+ return compareByNVRA (_item.resolvable(), update->_item.resolvable());
+}
+
//---------------------------------------------------------------------------
// ---------------------------------- methods
virtual SolverQueueItem_Ptr copy (void) const;
- //virtual int cmp (SolverQueueItem_constPtr item) const;
+ virtual int cmp (SolverQueueItem_constPtr item) const;
};
///////////////////////////////////////////////////////////////////