47 {
return backup( status_r ); }
82 if ( ! status.
setLock(
false, causer_r ) )
return false;
83 if ( ! status.
setTransact(
true, causer_r ) )
return false;
91 if ( ! status.
setTransact(
false, causer_r ) )
return false;
92 if ( ! status.
setLock(
true, causer_r ) )
return false;
100 if ( ! status.
setTransact(
false, causer_r ) )
return false;
101 if ( ! status.
setLock(
false, causer_r ) )
return false;
109 template <
class _Iter>
112 for_( it, begin_r, end_r )
113 if ( ! (this->*action_r)( *it, causer_r ) )
132 ,
inst( impl.installedObj() )
133 ,
cand( impl.candidateObj() )
169 if ( !
cand->multiversionInstall() )
227 it->status().setTransact(
false,
causer );
228 it->status().setLock(
true,
causer );
340 return self.setProtected();
342 return self.setTaboo();
351 return self.setDelete();
355 return self.hasCandidateOnly() &&
self.setInstall();
359 return self.hasBoth() &&
self.setInstall();
363 return self.hasInstalled() &&
self.unset();
367 return !
self.hasInstalled() &&
self.unset();
378 if ( newCandidate_r )
382 if ( *it == newCandidate_r )
392 PoolItem trans( transactingCandidate() );
393 if ( trans && trans != newCandidate )
411 return _candidate = newCandidate;
440 std::vector<PoolItem> i;
441 std::vector<PoolItem> a;
444 if ( identical( *it, pi_r ) )
447 if ( identical( *it, pi_r ) )
486 if ( i.empty() && ! a.empty() )
491 if ( ! cand.status().setTransact(
true, causer_r ) )
return backup.
restore();
497 if ( ! i.empty() && ! a.empty() )
504 if ( ! cand.status().setTransact(
true, causer_r ) )
return backup.
restore();
534 std::vector<PoolItem> i;
535 std::vector<PoolItem> a;
540 if ( identical( *it, pi_r ) )
548 if ( identical( *it, pi_r ) )
568 for_( it, i.begin(), i.end() )
569 if ( it->status().isLocked() )
574 bool allALocked =
true;
575 for_( it, a.begin(), a.end() )
576 if ( ! it->status().isLocked() )
590 && ( ta ? ta : *a.begin() ).
status().isSatisfied() )