1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/ZYppCommitResult.cc
14 #include "zypp/base/LogTools.h"
16 #include "zypp/ZYppCommitResult.h"
18 ///////////////////////////////////////////////////////////////////
20 { /////////////////////////////////////////////////////////////////
22 ///////////////////////////////////////////////////////////////////
24 // CLASS NAME : ZYppCommitResult::Impl
26 ///////////////////////////////////////////////////////////////////
28 class ZYppCommitResult::Impl
36 sat::Transaction _transaction;
37 TransactionStepList _transactionStepList;
38 UpdateNotifications _updateMessages;
41 friend Impl * rwcowClone<Impl>( const Impl * rhs );
42 /** clone for RWCOW_pointer */
43 Impl * clone() const { return new Impl( *this ); }
46 ///////////////////////////////////////////////////////////////////
48 // CLASS NAME : ZYppCommitResult
50 ///////////////////////////////////////////////////////////////////
52 ZYppCommitResult::ZYppCommitResult()
56 ZYppCommitResult::ZYppCommitResult( const ZYppCommitResult & lhs_r )
57 : _pimpl( lhs_r._pimpl )
60 ZYppCommitResult::ZYppCommitResult( const Pathname & root_r )
62 { _pimpl->_root = root_r; }
64 ZYppCommitResult::~ZYppCommitResult()
67 const Pathname & ZYppCommitResult::root() const
68 { return _pimpl->_root; }
70 const sat::Transaction & ZYppCommitResult::transaction() const
71 { return _pimpl->_transaction; }
73 sat::Transaction & ZYppCommitResult::rTransaction()
74 { return _pimpl->_transaction; }
76 const ZYppCommitResult::TransactionStepList & ZYppCommitResult::transactionStepList() const
77 { return _pimpl->_transactionStepList; }
79 ZYppCommitResult::TransactionStepList & ZYppCommitResult::rTransactionStepList()
80 { return _pimpl->_transactionStepList; }
82 const UpdateNotifications & ZYppCommitResult::updateMessages() const
83 { return _pimpl->_updateMessages; }
85 UpdateNotifications & ZYppCommitResult::rUpdateMessages()
86 { return _pimpl->_updateMessages; }
88 ///////////////////////////////////////////////////////////////////
90 std::ostream & operator<<( std::ostream & str, const ZYppCommitResult & obj )
92 DefaultIntegral<unsigned,0> result[4];
93 for_( it, obj.transaction().actionBegin(), obj.transaction().actionEnd() )
96 switch ( it->stepStage() )
98 case sat::Transaction::STEP_DONE : ++result[1]; break;
99 case sat::Transaction::STEP_ERROR : ++result[2]; break;
100 case sat::Transaction::STEP_TODO : ++result[3]; break;
103 str << "CommitResult "
104 << " (total " << result[0]
105 << ", done " << result[1]
106 << ", error " << result[2]
107 << ", skipped " << result[3]
108 << ", updateMessages " << obj.updateMessages().size()
113 /////////////////////////////////////////////////////////////////
115 ///////////////////////////////////////////////////////////////////