Author: schubi2 Date: Tue Apr 15 14:38:13 2008 New Revision: 9649 URL: http://svn.opensuse.org/viewcvs/zypp?rev=9649&view=rev Log: enabled cmp functions in solver queue Modified: trunk/libzypp/zypp/solver/detail/SolverQueueItem.h trunk/libzypp/zypp/solver/detail/SolverQueueItemDelete.cc trunk/libzypp/zypp/solver/detail/SolverQueueItemDelete.h trunk/libzypp/zypp/solver/detail/SolverQueueItemInstall.cc trunk/libzypp/zypp/solver/detail/SolverQueueItemInstall.h trunk/libzypp/zypp/solver/detail/SolverQueueItemInstallOneOf.cc trunk/libzypp/zypp/solver/detail/SolverQueueItemInstallOneOf.h trunk/libzypp/zypp/solver/detail/SolverQueueItemUpdate.cc trunk/libzypp/zypp/solver/detail/SolverQueueItemUpdate.h Modified: trunk/libzypp/zypp/solver/detail/SolverQueueItem.h URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/solver/detail/SolverQueueItem.h?rev=9649&r1=9648&r2=9649&view=diff ============================================================================== --- trunk/libzypp/zypp/solver/detail/SolverQueueItem.h (original) +++ trunk/libzypp/zypp/solver/detail/SolverQueueItem.h Tue Apr 15 14:38:13 2008 @@ -96,7 +96,7 @@ 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); } Modified: trunk/libzypp/zypp/solver/detail/SolverQueueItemDelete.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/solver/detail/SolverQueueItemDelete.cc?rev=9649&r1=9648&r2=9649&view=diff ============================================================================== --- trunk/libzypp/zypp/solver/detail/SolverQueueItemDelete.cc (original) +++ trunk/libzypp/zypp/solver/detail/SolverQueueItemDelete.cc Tue Apr 15 14:38:13 2008 @@ -72,6 +72,26 @@ 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; + } + } +} //--------------------------------------------------------------------------- Modified: trunk/libzypp/zypp/solver/detail/SolverQueueItemDelete.h URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/solver/detail/SolverQueueItemDelete.h?rev=9649&r1=9648&r2=9649&view=diff ============================================================================== --- trunk/libzypp/zypp/solver/detail/SolverQueueItemDelete.h (original) +++ trunk/libzypp/zypp/solver/detail/SolverQueueItemDelete.h Tue Apr 15 14:38:13 2008 @@ -68,7 +68,7 @@ // ---------------------------------- methods virtual SolverQueueItem_Ptr copy (void) const; - //virtual int cmp (SolverQueueItem_constPtr item) const; + virtual int cmp (SolverQueueItem_constPtr item) const; }; /////////////////////////////////////////////////////////////////// Modified: trunk/libzypp/zypp/solver/detail/SolverQueueItemInstall.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/solver/detail/SolverQueueItemInstall.cc?rev=9649&r1=9648&r2=9649&view=diff ============================================================================== --- trunk/libzypp/zypp/solver/detail/SolverQueueItemInstall.cc (original) +++ trunk/libzypp/zypp/solver/detail/SolverQueueItemInstall.cc Tue Apr 15 14:38:13 2008 @@ -73,6 +73,28 @@ } +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; + } + } +} + + //--------------------------------------------------------------------------- Modified: trunk/libzypp/zypp/solver/detail/SolverQueueItemInstall.h URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/solver/detail/SolverQueueItemInstall.h?rev=9649&r1=9648&r2=9649&view=diff ============================================================================== --- trunk/libzypp/zypp/solver/detail/SolverQueueItemInstall.h (original) +++ trunk/libzypp/zypp/solver/detail/SolverQueueItemInstall.h Tue Apr 15 14:38:13 2008 @@ -67,7 +67,7 @@ // ---------------------------------- methods virtual SolverQueueItem_Ptr copy (void) const; - //virtual int cmp (SolverQueueItem_constPtr item) const; + virtual int cmp (SolverQueueItem_constPtr item) const; }; /////////////////////////////////////////////////////////////////// Modified: trunk/libzypp/zypp/solver/detail/SolverQueueItemInstallOneOf.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/solver/detail/SolverQueueItemInstallOneOf.cc?rev=9649&r1=9648&r2=9649&view=diff ============================================================================== --- trunk/libzypp/zypp/solver/detail/SolverQueueItemInstallOneOf.cc (original) +++ trunk/libzypp/zypp/solver/detail/SolverQueueItemInstallOneOf.cc Tue Apr 15 14:38:13 2008 @@ -75,6 +75,17 @@ 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 +} + //--------------------------------------------------------------------------- Modified: trunk/libzypp/zypp/solver/detail/SolverQueueItemInstallOneOf.h URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/solver/detail/SolverQueueItemInstallOneOf.h?rev=9649&r1=9648&r2=9649&view=diff ============================================================================== --- trunk/libzypp/zypp/solver/detail/SolverQueueItemInstallOneOf.h (original) +++ trunk/libzypp/zypp/solver/detail/SolverQueueItemInstallOneOf.h Tue Apr 15 14:38:13 2008 @@ -69,7 +69,7 @@ // ---------------------------------- methods virtual SolverQueueItem_Ptr copy (void) const; - //virtual int cmp (SolverQueueItem_constPtr item) const; + virtual int cmp (SolverQueueItem_constPtr item) const; }; /////////////////////////////////////////////////////////////////// Modified: trunk/libzypp/zypp/solver/detail/SolverQueueItemUpdate.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/solver/detail/SolverQueueItemUpdate.cc?rev=9649&r1=9648&r2=9649&view=diff ============================================================================== --- trunk/libzypp/zypp/solver/detail/SolverQueueItemUpdate.cc (original) +++ trunk/libzypp/zypp/solver/detail/SolverQueueItemUpdate.cc Tue Apr 15 14:38:13 2008 @@ -73,6 +73,16 @@ 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()); +} + //--------------------------------------------------------------------------- Modified: trunk/libzypp/zypp/solver/detail/SolverQueueItemUpdate.h URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/solver/detail/SolverQueueItemUpdate.h?rev=9649&r1=9648&r2=9649&view=diff ============================================================================== --- trunk/libzypp/zypp/solver/detail/SolverQueueItemUpdate.h (original) +++ trunk/libzypp/zypp/solver/detail/SolverQueueItemUpdate.h Tue Apr 15 14:38:13 2008 @@ -67,7 +67,7 @@ // ---------------------------------- methods virtual SolverQueueItem_Ptr copy (void) const; - //virtual int cmp (SolverQueueItem_constPtr item) const; + virtual int cmp (SolverQueueItem_constPtr item) const; }; /////////////////////////////////////////////////////////////////// -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org