libzypp: zypp/ZYppCommitResult.h Source File

libzypp 17.38.10

ZYppCommitResult.h
Go to the documentation of this file.
1/*---------------------------------------------------------------------\
2| ____ _ __ __ ___ |
3| |__ / \ / / . \ . \ |
4| / / \ V /| _/ _/ |
5| / /__ | | | | | | |
6| /_____||_| |_| |_| |
7| |
8\---------------------------------------------------------------------*/
12#ifndef ZYPP_ZYPPCOMMITRESULT_H
13#define ZYPP_ZYPPCOMMITRESULT_H
14
15#include <iosfwd>
16#include <utility>
17#include <vector>
18#include <list>
19
20#include <zypp/PoolItem.h>
21#include <zypp/sat/Transaction.h>
22#include <zypp-core/base/DefaultIntegral>
23
25namespace zypp
26{
27
28 namespace sat
29 {
30 class Transaction;
31 }
32
34 class UpdateNotificationFile
35 {
36 public:
37 UpdateNotificationFile( sat::Solvable solvable_r, Pathname file_r )
38 : _solvable( solvable_r ), _file(std::move( file_r ))
39 {}
40 public:
41 sat::Solvable solvable() const { return _solvable; }
42 const Pathname & file() const { return _file; }
43 private:
44 sat::Solvable _solvable;
45 Pathname _file;
46 };
47
48 using UpdateNotifications = std::list<UpdateNotificationFile>;
49
51 //
52 // CLASS NAME : ZYppCommitResult
53 //
63 class ZYPP_API ZYppCommitResult
64 {
65 public:
66 using TransactionStepList = std::vector<sat::Transaction::Step>;
67
68 public:
69 ZYppCommitResult();
70 ZYppCommitResult( const ZYppCommitResult & lhs_r );
71 ZYppCommitResult( const Pathname & root_r );
72 ~ZYppCommitResult();
73
74 public:
79 const Pathname & root() const;
80
86 bool attemptToModify() const;
87
89 void attemptToModify( bool yesno_r );
90
96 bool singleTransactionMode() const;
97 void setSingleTransactionMode( bool yesno_r );
98
106 const sat::Transaction & transaction() const;
107
109 sat::Transaction & rTransaction();
110
114 const TransactionStepList & transactionStepList() const;
115
117 TransactionStepList & rTransactionStepList();
118
146 const UpdateNotifications & updateMessages() const;
147
151 UpdateNotifications & rUpdateMessages();
152
153 public:
154
176
177 bool allDone() const
178 { return transaction().actionEmpty( ~sat::Transaction::STEP_DONE ); }
179
181 bool noError() const
182 { return transaction().actionEmpty( sat::Transaction::STEP_ERROR ); }
183
184
185 public:
187 class Impl;
188 private:
190 RWCOW_pointer<Impl> _pimpl;
191 };
192
193
195 std::ostream & operator<<( std::ostream & str, const ZYppCommitResult & obj ) ZYPP_API;
196
198} // namespace zypp
200#endif // ZYPP_ZYPPCOMMITRESULT_H
PoolItem.h
Transaction.h
Impl
zypp::UpdateNotificationFile::solvable
sat::Solvable solvable() const
Definition ZYppCommitResult.h:41
zypp::UpdateNotificationFile::_solvable
sat::Solvable _solvable
Definition ZYppCommitResult.h:44
zypp::UpdateNotificationFile::file
const Pathname & file() const
Definition ZYppCommitResult.h:42
zypp::UpdateNotificationFile::_file
Pathname _file
Definition ZYppCommitResult.h:45
zypp::UpdateNotificationFile::UpdateNotificationFile
UpdateNotificationFile(sat::Solvable solvable_r, Pathname file_r)
Definition ZYppCommitResult.h:37
zypp::ZYppCommitResult
Result returned from ZYpp::commit.
Definition ZYppCommitResult.h:64
zypp::ZYppCommitResult::singleTransactionMode
bool singleTransactionMode() const
True if the commit was executed in one big rpm transaction.
Definition ZYppCommitResult.cc:78
zypp::ZYppCommitResult::noError
bool noError() const
Whether an error ocurred (skipped streps are ok).
Definition ZYppCommitResult.h:181
zypp::ZYppCommitResult::allDone
bool allDone() const
Whether all steps were performed successfully (none skipped or error).
Definition ZYppCommitResult.h:177
zypp::ZYppCommitResult::_pimpl
RWCOW_pointer< Impl > _pimpl
Pointer to data.
Definition ZYppCommitResult.h:190
zypp::ZYppCommitResult::attemptToModify
bool attemptToModify() const
True if at least one attempt to actually install/remove packages was made.
Definition ZYppCommitResult.cc:72
zypp::ZYppCommitResult::ZYppCommitResult
ZYppCommitResult()
Definition ZYppCommitResult.cc:54
zypp::ZYppCommitResult::root
const Pathname & root() const
Remembered root directory of the target.
Definition ZYppCommitResult.cc:69
zypp::ZYppCommitResult::rTransactionStepList
TransactionStepList & rTransactionStepList()
Manipulate transactionStepList.
Definition ZYppCommitResult.cc:93
zypp::ZYppCommitResult::updateMessages
const UpdateNotifications & updateMessages() const
List of update messages installed during this commit.
Definition ZYppCommitResult.cc:96
zypp::ZYppCommitResult::setSingleTransactionMode
void setSingleTransactionMode(bool yesno_r)
Definition ZYppCommitResult.cc:81
zypp::ZYppCommitResult::transactionStepList
const TransactionStepList & transactionStepList() const
List of sat::Transaction::Step to be executed by commit.
Definition ZYppCommitResult.cc:90
zypp::ZYppCommitResult::rUpdateMessages
UpdateNotifications & rUpdateMessages()
Manipulate updateMessages \Note Pathnames are relative to the targets root directory.
Definition ZYppCommitResult.cc:99
zypp::ZYppCommitResult::TransactionStepList
std::vector< sat::Transaction::Step > TransactionStepList
Definition ZYppCommitResult.h:66
zypp::ZYppCommitResult::transaction
const sat::Transaction & transaction() const
The full transaction list.
Definition ZYppCommitResult.cc:84
zypp::ZYppCommitResult::rTransaction
sat::Transaction & rTransaction()
Manipulate transaction.
Definition ZYppCommitResult.cc:87
zypp::filesystem::Pathname
Pathname.
Definition Pathname.h:48
zypp::sat::Solvable
A Solvable object within the sat Pool.
Definition Solvable.h:54
zypp::sat::Transaction
Libsolv transaction wrapper.
Definition Transaction.h:52
zypp::sat::Transaction::STEP_DONE
@ STEP_DONE
[OK] success
Definition Transaction.h:74
zypp::sat::Transaction::STEP_ERROR
@ STEP_ERROR
[**] error
Definition Transaction.h:75
std
Definition ansi.h:855
str
String related utilities and Regular expression matching.
zypp::sat
Libsolv interface
zypp
Easy-to use interface to the ZYPP dependency resolver.
Definition CodePitfalls.doc:2
zypp::UpdateNotifications
std::list< UpdateNotificationFile > UpdateNotifications
Definition ZYppCommitResult.h:48
zypp::ZYPP_API
const Arch Arch_empty ZYPP_API
relates: Arch This is an empty Arch represented by an empty string.
Definition Arch.h:173
zypp::operator<<
std::ostream & operator<<(std::ostream &str, const Capabilities &obj)
relates: Capabilities Stream output
Definition Capabilities.cc:65
zypp::RWCOW_pointer
RW_pointer supporting 'copy on write' functionality.
Definition PtrTypes.h:469