libzypp  17.25.8
zypp::ZYppCommitResult Class Reference

Result returned from ZYpp::commit. More...

#include <ZYppCommitResult.h>


class  Impl

Public Types

typedef std::vector< sat::Transaction::StepTransactionStepList

Public Member Functions

 ZYppCommitResult ()
 ZYppCommitResult (const ZYppCommitResult &lhs_r)
 ZYppCommitResult (const Pathname &root_r)
 ~ZYppCommitResult ()
const Pathnameroot () const
 Remembered root directory of the target. More...
bool attemptToModify () const
 True if at least one attempt to actually install/remove packages was made. More...
void attemptToModify (bool yesno_r)
 Set attemptToModify. More...
const sat::Transactiontransaction () const
 The full transaction list. More...
sat::TransactionrTransaction ()
 Manipulate transaction. More...
const TransactionStepListtransactionStepList () const
 List of sat::Transaction::Step to be executed by commit. More...
TransactionStepListrTransactionStepList ()
 Manipulate transactionStepList. More...
const UpdateNotificationsupdateMessages () const
 List of update messages installed during this commit. More...
UpdateNotificationsrUpdateMessages ()
 Manipulate updateMessages \Note Pathnames are relative to the targets root directory. More...

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &str, const ZYppCommitResult &obj)
 Stream output. More...

Some statistics based on \ref Transaction

Class Transaction allows to count and iterate the action steps to get more detailed information about the transaction result.

Here are just a few convenience methods for easy evaluation.

const sat::Transaction & trans( result.transaction() );
for_( it, trans.actionBegin(~sat::Transaction::STEP_DONE), trans.actionEnd() )
// process all steps not DONE (ERROR and TODO)
if ( it->satSolvable() )
std::cout << it->satSolvable() << endl;
else // deleted @System solvable: print post mortem data available
std::cout << it->ident() << endl;
See also
Transaction, transaction()
RWCOW_pointer< Impl_pimpl
 Pointer to data. More...
bool allDone () const
 Whether all steps were performed successfully (none skipped or error) More...
bool noError () const
 Whether an error ocurred (skipped streps are ok). More...

Detailed Description

Result returned from ZYpp::commit.

Transaction data are provided and maintained during commit. Though the interface does not inhibit manipulation of transaction data outside commit (those methods could have been made private:), this is not recommended as you may easily mess up things.
See also

Definition at line 62 of file ZYppCommitResult.h.

Member Typedef Documentation

◆ TransactionStepList

Constructor & Destructor Documentation

◆ ZYppCommitResult() [1/3]

zypp::ZYppCommitResult::ZYppCommitResult ( )

Definition at line 53 of file

◆ ZYppCommitResult() [2/3]

zypp::ZYppCommitResult::ZYppCommitResult ( const ZYppCommitResult lhs_r)

Definition at line 57 of file

◆ ZYppCommitResult() [3/3]

zypp::ZYppCommitResult::ZYppCommitResult ( const Pathname root_r)

Definition at line 61 of file

◆ ~ZYppCommitResult()

zypp::ZYppCommitResult::~ZYppCommitResult ( )

Definition at line 65 of file

Member Function Documentation

◆ root()

const Pathname & zypp::ZYppCommitResult::root ( ) const

Remembered root directory of the target.

\Note Pathnames within this class are relative to the targets root directory.

Definition at line 68 of file

◆ attemptToModify() [1/2]

bool zypp::ZYppCommitResult::attemptToModify ( ) const

True if at least one attempt to actually install/remove packages was made.

While this is false there should have been no serious modifications to the system. Mainly used to detect whether commit failed while preloading the caches or within the real action.

Definition at line 71 of file

◆ attemptToModify() [2/2]

void zypp::ZYppCommitResult::attemptToModify ( bool  yesno_r)

Set attemptToModify.

Definition at line 74 of file

◆ transaction()

const sat::Transaction & zypp::ZYppCommitResult::transaction ( ) const

The full transaction list.

The complete list including transaction steps that do not require any action (like obsoletes or non-package actions). Depending on ZYppCommitPolicy::restrictToMedia only a subset of this transaction might have been executed.

See also

Definition at line 77 of file

◆ rTransaction()

sat::Transaction & zypp::ZYppCommitResult::rTransaction ( )

Manipulate transaction.

Definition at line 80 of file

◆ transactionStepList()

const ZYppCommitResult::TransactionStepList & zypp::ZYppCommitResult::transactionStepList ( ) const

List of sat::Transaction::Step to be executed by commit.

The list of transaction step commit actually tried to execute.

Definition at line 83 of file

◆ rTransactionStepList()

ZYppCommitResult::TransactionStepList & zypp::ZYppCommitResult::rTransactionStepList ( )

Manipulate transactionStepList.

Definition at line 86 of file

◆ updateMessages()

const UpdateNotifications & zypp::ZYppCommitResult::updateMessages ( ) const

List of update messages installed during this commit.

\Note Pathnames are relative to the targets root directory.

if ( ! result.updateMessages().empty() )
MIL << "Received " << result.updateMessages().size() << " update notification(s):" << endl;
for_( it, result.updateMessages().begin(), result.updateMessages().end() )
MIL << "- From " << it->solvable().asString() << " in file " << Pathname::showRootIf( result.root(), it->file() ) << ":" << endl;
// store message files content in a string:
InputStream istr( Pathname::assertprefix( result.root(), it->file() ) );
std::ostringstream strstr;
iostr::copy( istr, strstr );
std::string message( strstr.str() ); // contains the message
// or write out the message file indented:
InputStream istr( Pathname::assertprefix( result.root(), it->file() ) );
iostr::copyIndent( istr, MIL, "> " ) << endl;

Definition at line 89 of file

◆ rUpdateMessages()

UpdateNotifications & zypp::ZYppCommitResult::rUpdateMessages ( )

Manipulate updateMessages \Note Pathnames are relative to the targets root directory.

Definition at line 92 of file

◆ allDone()

bool zypp::ZYppCommitResult::allDone ( ) const

Whether all steps were performed successfully (none skipped or error)

Definition at line 168 of file ZYppCommitResult.h.

◆ noError()

bool zypp::ZYppCommitResult::noError ( ) const

Whether an error ocurred (skipped streps are ok).

Definition at line 172 of file ZYppCommitResult.h.

Friends And Related Function Documentation

◆ operator<<()

std::ostream & operator<< ( std::ostream &  str,
const ZYppCommitResult obj 

Stream output.

Definition at line 97 of file

Member Data Documentation

◆ _pimpl

RWCOW_pointer<Impl> zypp::ZYppCommitResult::_pimpl

Pointer to data.

Definition at line 181 of file ZYppCommitResult.h.

The documentation for this class was generated from the following files:
[OK] success
Definition: Transaction.h:74
#define MIL
Definition: Logger.h:91
std::ostream & copyIndent(std::istream &from_r, std::ostream &to_r, const std::string &indent_r="> ")
Copy istream to ostream, prefixing each line with indent_r (default "> " ).
Definition: IOStream.h:64
static Pathname assertprefix(const Pathname &root_r, const Pathname &path_r)
Return path_r prefixed with root_r, unless it is already prefixed.
#define for_(IT, BEG, END)
Convenient for-loops using iterator.
Definition: Easy.h:28
std::ostream & copy(std::istream &from_r, std::ostream &to_r)
Copy istream to ostream.
Definition: IOStream.h:50
static std::string showRootIf(const Pathname &root_r, const Pathname &path_r)
String representation as "(root)/path", unless root is "/" or empty.