libzypp 17.25.7
ZYppCommitResult.cc
Go to the documentation of this file.
1/*---------------------------------------------------------------------\
2| ____ _ __ __ ___ |
3| |__ / \ / / . \ . \ |
4| / / \ V /| _/ _/ |
5| / /__ | | | | | | |
6| /_____||_| |_| |_| |
7| |
8\---------------------------------------------------------------------*/
13#include <iostream>
14#include <zypp/base/LogTools.h>
15
17
19namespace zypp
20{
21
23 //
24 // CLASS NAME : ZYppCommitResult::Impl
25 //
27
29 {
30 public:
32 {}
33
34 public:
40
41 private:
42 friend Impl * rwcowClone<Impl>( const Impl * rhs );
44 Impl * clone() const { return new Impl( *this ); }
45 };
46
48 //
49 // CLASS NAME : ZYppCommitResult
50 //
52
54 : _pimpl( new Impl )
55 {}
56
58 : _pimpl( lhs_r._pimpl )
59 {}
60
62 : _pimpl( new Impl )
63 { _pimpl->_root = root_r; }
64
66 {}
67
69 { return _pimpl->_root; }
70
72 { return _pimpl->_attemptToModify; }
73
75 { _pimpl->_attemptToModify = yesno_r; }
76
78 { return _pimpl->_transaction; }
79
81 { return _pimpl->_transaction; }
82
84 { return _pimpl->_transactionStepList; }
85
87 { return _pimpl->_transactionStepList; }
88
90 { return _pimpl->_updateMessages; }
91
93 { return _pimpl->_updateMessages; }
94
96
97 std::ostream & operator<<( std::ostream & str, const ZYppCommitResult & obj )
98 {
100 for_( it, obj.transaction().actionBegin(), obj.transaction().actionEnd() )
101 {
102 ++result[0];
103 switch ( it->stepStage() )
104 {
105 case sat::Transaction::STEP_DONE : ++result[1]; break;
106 case sat::Transaction::STEP_ERROR : ++result[2]; break;
107 case sat::Transaction::STEP_TODO : ++result[3]; break;
108 }
109 }
110 str << "CommitResult "
111 << " (total " << result[0]
112 << ", done " << result[1]
113 << ", error " << result[2]
114 << ", skipped " << result[3]
115 << ", updateMessages " << obj.updateMessages().size()
116 << ")";
117 return str;
118 }
119
121} // namespace zypp
#define for_(IT, BEG, END)
Convenient for-loops using iterator.
Definition: Easy.h:28
UpdateNotifications _updateMessages
TransactionStepList _transactionStepList
Impl * clone() const
clone for RWCOW_pointer
Result returned from ZYpp::commit.
RWCOW_pointer< Impl > _pimpl
Pointer to data.
bool attemptToModify() const
True if at least one attempt to actually install/remove packages was made.
const Pathname & root() const
Remembered root directory of the target.
TransactionStepList & rTransactionStepList()
Manipulate transactionStepList.
const UpdateNotifications & updateMessages() const
List of update messages installed during this commit.
const TransactionStepList & transactionStepList() const
List of sat::Transaction::Step to be executed by commit.
UpdateNotifications & rUpdateMessages()
Manipulate updateMessages \Note Pathnames are relative to the targets root directory.
std::vector< sat::Transaction::Step > TransactionStepList
const sat::Transaction & transaction() const
The full transaction list.
sat::Transaction & rTransaction()
Manipulate transaction.
Libsolv transaction wrapper.
Definition: Transaction.h:52
action_iterator actionBegin(StepStages filter_r=StepStages()) const
Pointer to the 1st action step in [filtered] transaction.
Definition: Transaction.h:380
action_iterator actionEnd() const
Pointer behind the last action step in transaction.
Definition: Transaction.h:383
@ STEP_DONE
[OK] success
Definition: Transaction.h:74
@ STEP_TODO
[__] unprocessed
Definition: Transaction.h:73
@ STEP_ERROR
[**] error
Definition: Transaction.h:75
String related utilities and Regular expression matching.
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:2
std::ostream & operator<<(std::ostream &str, const Exception &obj)
Definition: Exception.cc:147
std::list< UpdateNotificationFile > UpdateNotifications