public:
Impl()
: _trans( ::transaction_create( nullptr ) )
- { memset( _trans, 0, sizeof(_trans) ); }
+ { memset( _trans, 0, sizeof(*_trans) ); }
- Impl( Default )
+ Impl( LoadFromPoolType )
: _watcher( myPool().serial() )
, _trans( nullptr )
{
Queue noobsq;
for_( it, sat::Pool::instance().multiversionBegin(), sat::Pool::instance().multiversionEnd() )
{
- noobsq.push( SOLVER_NOOBSOLETES | SOLVABLE_NAME );
+ noobsq.push( SOLVER_NOOBSOLETES | SOLVER_SOLVABLE_NAME );
noobsq.push( it->id() );
}
Map noobsmap;
{ detail::IdType * it( _find( solv_r ) ); return it ? iterator( self_r, it ) : end( self_r ); }
public:
+ int installedResult( Queue & result_r ) const
+ { return ::transaction_installedresult( _trans, result_r ); }
+
+ StringQueue autoInstalled() const
+ { return _autoInstalled; }
+
+ void autoInstalled( const StringQueue & queue_r )
+ { _autoInstalled = queue_r; }
+
+ public:
StepType stepType( Solvable solv_r ) const
{
if ( ! solv_r )
set_type _systemErase; // @System packages to be eased (otherse are TRANSACTION_IGNORE)
pmmap_type _pmMap; // Post mortem data of deleted @System solvables
+ StringQueue _autoInstalled; // ident strings of all packages that would be auto-installed after the transaction is run.
+
public:
/** Offer default Impl. */
static shared_ptr<Impl> nullimpl()
: _pimpl( Impl::nullimpl() )
{}
- Transaction::Transaction( Default )
- : _pimpl( new Impl( Default() ) )
+ Transaction::Transaction( LoadFromPoolType )
+ : _pimpl( new Impl( loadFromPool ) )
{}
Transaction::~Transaction()
Transaction::iterator Transaction::find( const sat::Solvable & solv_r )
{ return _pimpl->find( _pimpl, solv_r ); }
+ int Transaction::installedResult( Queue & result_r ) const
+ { return _pimpl->installedResult( result_r ); }
+
+ StringQueue Transaction::autoInstalled() const
+ { return _pimpl->autoInstalled(); }
+
+ void Transaction::autoInstalled( const StringQueue & queue_r )
+ { _pimpl->autoInstalled( queue_r ); }
+
std::ostream & operator<<( std::ostream & str, const Transaction & obj )
{ return str << *obj._pimpl; }