+
+ bool r = false;
+
+ sat::Solvable solvable(s - sat::Pool::instance().get()->solvables);
+
+ // now filter by kind here (we cant do it before)
+ if ( ! me->_pimpl->_kinds.empty() )
+ {
+ // the user wants to filter by kind.
+ if ( find( me->_pimpl->_kinds.begin(),
+ me->_pimpl->_kinds.end(),
+ solvable.kind() )
+ == me->_pimpl->_kinds.end() )
+ {
+ // we did not find the kind in the list
+ // so this is not a result.
+ return SEARCH_NEXT_SOLVABLE;
+ }
+ }
+
+ if (me->_pimpl->_fnc)
+ r = me->_pimpl->_fnc( makeResObject(solvable) );