libzypp 17.37.10

zypp::HistoryLog Class Reference

Writing the zypp history file. More...

`#include <zypp/HistoryLog.h>`

## Public Member Functions
| HistoryLog (const Pathname &rootdir=Pathname())
| Constructor with an optional root directory.
| ~HistoryLog ()
void | comment (const std::string &comment, bool timestamp=false)
| Log a comment (even multiline).
void | stampCommand ()
| Log info about the current process.
void | install (const PoolItem &pi)
| Log installation (or update) of a package.
void | remove (const PoolItem &pi)
| Log removal of a package.
void | addRepository (const RepoInfo &repo)
| Log a newly added repository.
void | removeRepository (const RepoInfo &repo)
| Log recently removed repository.
void | modifyRepository (const RepoInfo &oldrepo, const RepoInfo &newrepo)
| Log certain modifications to a repository.
void | patchStateChange (const PoolItem &pi, ResStatus::ValidateValue oldstate)
| Log state changes in patches.

## Static Public Member Functions
static void | setRoot (const Pathname &root)
| Set new root directory to the default history log file path.
static const Pathname & | fname ()
| Get the current log file path.

## Private Member Functions
| HistoryLog (const HistoryLog &)
HistoryLog & | operator= (const HistoryLog &)

## Detailed Description

Writing the zypp history file.

Reference counted signleton for writhing the zypp history file. The history file is opened on demand and closed when the last HistoryLog object drops its reference. Thus HistoryLog objects should be local to those functions, writing the log, and must not be stored permanently.

some method ()
{
PoolItem pi;
...
HistoryLog().install(pi);
...
HistoryLog().comment(someMessage);
}
zypp::HistoryLog::HistoryLog
HistoryLog(const HistoryLog &)
zypp::PoolItem
Combining sat::Solvable and ResStatus.
Definition PoolItem.h:51

Note
  Take care to set proper target root dir if needed. Either pass it via the constructor, or set it via setRoot(Pathname) method. The default location of the file is determined by zypp::ZConfig::historyLogPath (default: `/var/log/zypp/history`).

Todo
  The implementation as pseudo signleton is questionable. Use shared_ptr instead of handcrafted ref/unref. Manage multiple logs at different locations.

Definition at line 56 of file HistoryLog.h.

## Constructor & Destructor Documentation

## ◆ HistoryLog() [1/2]

zypp::HistoryLog::HistoryLog | ( | const HistoryLog & |  | ) |
| private

## ◆ HistoryLog() [2/2]

zypp::HistoryLog::HistoryLog | ( | const Pathname & | rootdir = Pathname() | ) |

Constructor with an optional root directory.

Parameters

  rootdir | actual target root directory

Definition at line 152 of file HistoryLog.cc.

## ◆ ~HistoryLog()

zypp::HistoryLog::~HistoryLog | ( |  | ) |

Definition at line 158 of file HistoryLog.cc.

## Member Function Documentation

## ◆ operator=()

HistoryLog & zypp::HistoryLog::operator= | ( | const HistoryLog & |  | ) |
| private

## ◆ setRoot()

void zypp::HistoryLog::setRoot | ( | const Pathname & | root | ) |
| static

Set new root directory to the default history log file path.

This path will be prepended to the default log file path. This should be done where there is a potential that the target root has changed.

Parameters

  root | new root directory.

Definition at line 163 of file HistoryLog.cc.

## ◆ fname()

const Pathname & zypp::HistoryLog::fname | ( |  | ) |
| static

Get the current log file path.

Definition at line 181 of file HistoryLog.cc.

## ◆ comment()

void zypp::HistoryLog::comment | ( | const std::string & | comment,
|  | bool | timestamp = false )

Log a comment (even multiline).

Parameters

  comment | the comment
  timestamp | whether to include a timestamp at the start of the comment

Definition at line 190 of file HistoryLog.cc.

## ◆ stampCommand()

void zypp::HistoryLog::stampCommand | ( |  | ) |

Log info about the current process.

Definition at line 222 of file HistoryLog.cc.

## ◆ install()

void zypp::HistoryLog::install | ( | const PoolItem & | pi | ) |

Log installation (or update) of a package.

Definition at line 234 of file HistoryLog.cc.

## ◆ remove()

void zypp::HistoryLog::remove | ( | const PoolItem & | pi | ) |

Log removal of a package.

Definition at line 262 of file HistoryLog.cc.

## ◆ addRepository()

void zypp::HistoryLog::addRepository | ( | const RepoInfo & | repo | ) |

Log a newly added repository.

Parameters

  repo | info about the added repository

Definition at line 289 of file HistoryLog.cc.

## ◆ removeRepository()

void zypp::HistoryLog::removeRepository | ( | const RepoInfo & | repo | ) |

Log recently removed repository.

Parameters

  repo | info about the removed repository

Definition at line 301 of file HistoryLog.cc.

## ◆ modifyRepository()

void zypp::HistoryLog::modifyRepository | ( | const RepoInfo & | oldrepo,
|  | const RepoInfo & | newrepo )

Log certain modifications to a repository.

Parameters

  oldrepo | info about the old repository
  newrepo | info about the new repository

Definition at line 312 of file HistoryLog.cc.

## ◆ patchStateChange()

void zypp::HistoryLog::patchStateChange | ( | const PoolItem & | pi,
|  | ResStatus::ValidateValue | oldstate )

Log state changes in patches.

Parameters

  oldstate | info about the old state

Definition at line 337 of file HistoryLog.cc.

The documentation for this class was generated from the following files:

- zypp/HistoryLog.h
- zypp/HistoryLog.cc