return _resolvable->isRelevant();
}
+ bool validate() const
+ {
+ return _resolvable->validate();
+ }
+
private:
mutable ResStatus _status;
ResObject::constPtr _resolvable;
*/
bool isRelevant() const;
+ /** Check if the solvable is satisfied,broken or not relevant
+ * (not important, so it can be ignored)
+ * \return BROKEN, SATISFIED, NOTRELEVANT
+ */
+ ValidValue validate() const;
+
public:
/** Return the \ref ResPool the item belongs to. */
ResPool pool() const;
*/
using sat::Solvable::isRelevant;
+ /** Check if the solvable is satisfied,broken or not relevant
+ * (not important, so it can be ignored)
+ * \return BROKEN, SATISFIED, NOTRELEVANT
+ */
+ using sat::Solvable::validate;
+
public:
const sat::Solvable & satSolvable() const { return *this; }
///////////////////////////////////////////////////////////////////
+ ValidValue Solvable::validate() const
+ {
+ NO_SOLVABLE_RETURN( NOTRELEVANT );
+ int ret = solvable_trivial_installable (_solvable, Pool::instance().systemRepo().get());
+ if (ret == 0)
+ return BROKEN;
+ else if (ret > 0)
+ return SATISFIED;
+ else
+ return NOTRELEVANT;
+ }
+
bool Solvable::isSatisfied() const
{
- NO_SOLVABLE_RETURN( false );
- if (solvable_trivial_installable (_solvable, Pool::instance().systemRepo().get()) == 1)
- return true;
- else
- return false;
+ return validate() == SATISFIED;
}
bool Solvable::isRelevant() const
NO_SOLVABLE_RETURN( false );
if (isKind (ResKind::package))
return true; // packages are always relevant
- if (solvable_trivial_installable (_solvable, Pool::instance().systemRepo().get()) == -1)
- return false;
- else
- return true;
+
+ return validate() == BROKEN;
}
class CheckSum;
class OnMediaLocation;
+ enum ValidValue { BROKEN, SATISFIED, NOTRELEVANT };
+
///////////////////////////////////////////////////////////////////
namespace sat
{ /////////////////////////////////////////////////////////////////
*/
bool isRelevant() const;
+ /** Check if the solvable is satisfied,broken or not relevant
+ * (not important, so it can be ignored)
+ * \return BROKEN, SATISFIED, NOTRELEVANT
+ */
+
+ ValidValue validate() const;
+
public:
/** \name Locale support. */
//@{