ZYppCommitResult.cc

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                          ____ _   __ __ ___                          |
00003 |                         |__  / \ / / . \ . \                         |
00004 |                           / / \ V /|  _/  _/                         |
00005 |                          / /__ | | | | | |                           |
00006 |                         /_____||_| |_| |_|                           |
00007 |                                                                      |
00008 \---------------------------------------------------------------------*/
00013 #include <iostream>
00014 #include "zypp/base/LogTools.h"
00015 
00016 #include "zypp/ZYppCommitResult.h"
00017 
00019 namespace zypp
00020 { 
00021 
00023   //
00024   //    CLASS NAME : ZYppCommitResult::Impl
00025   //
00027 
00028   class ZYppCommitResult::Impl
00029   {
00030     public:
00031       Impl()
00032       {}
00033 
00034     public:
00035       Pathname                  _root;
00036       sat::Transaction          _transaction;
00037       TransactionStepList       _transactionStepList;
00038       UpdateNotifications       _updateMessages;
00039 
00040     private:
00041       friend Impl * rwcowClone<Impl>( const Impl * rhs );
00043       Impl * clone() const { return new Impl( *this ); }
00044   };
00045 
00047   //
00048   //    CLASS NAME : ZYppCommitResult
00049   //
00051 
00052   ZYppCommitResult::ZYppCommitResult()
00053   : _result(0), _pimpl( new Impl )
00054   {}
00055 
00056   ZYppCommitResult::ZYppCommitResult( const Pathname & root_r )
00057   : _result(0), _pimpl( new Impl )
00058   { _pimpl->_root = root_r; }
00059 
00060   const Pathname & ZYppCommitResult::root() const
00061   { return _pimpl->_root; }
00062 
00063   const sat::Transaction & ZYppCommitResult::transaction() const
00064   { return _pimpl->_transaction; }
00065 
00066   sat::Transaction & ZYppCommitResult::rTransaction()
00067   { return _pimpl->_transaction; }
00068 
00069   const ZYppCommitResult::TransactionStepList & ZYppCommitResult::transactionStepList() const
00070   { return _pimpl->_transactionStepList; }
00071 
00072   ZYppCommitResult::TransactionStepList & ZYppCommitResult::rTransactionStepList()
00073   { return _pimpl->_transactionStepList; }
00074 
00075   const UpdateNotifications & ZYppCommitResult::updateMessages() const
00076   { return _pimpl->_updateMessages; }
00077 
00078   UpdateNotifications & ZYppCommitResult::rUpdateMessages()
00079   { return _pimpl->_updateMessages; }
00080 
00082 
00083   std::ostream & operator<<( std::ostream & str, const ZYppCommitResult & obj )
00084   {
00085     DefaultIntegral<unsigned,0> result[4];
00086     for_( it, obj.transaction().actionBegin(), obj.transaction().actionEnd() )
00087     {
00088       ++result[0];
00089       switch ( it->stepStage() )
00090       {
00091         case sat::Transaction::STEP_DONE :      ++result[1]; break;
00092         case sat::Transaction::STEP_ERROR :     ++result[2]; break;
00093         case sat::Transaction::STEP_TODO :      ++result[3]; break;
00094       }
00095     }
00096     str << "CommitResult "
00097         << " (total " << result[0]
00098         << ", done " << result[1]
00099         << ", error " << result[2]
00100         << ", skipped " << result[3]
00101         << ", updateMessages " << obj.updateMessages().size()
00102         << ")";
00103     return str;
00104   }
00105 
00107 } // namespace zypp

Generated on Tue May 5 14:43:20 2015 for libzypp by  doxygen 1.5.6