libzypp: zypp/RepoStatus.h Source File

libzypp 17.38.8

RepoStatus.h
Go to the documentation of this file.
1/*---------------------------------------------------------------------\
2| ____ _ __ __ ___ |
3| |__ / \ / / . \ . \ |
4| / / \ V /| _/ _/ |
5| / /__ | | | | | | |
6| /_____||_| |_| |_| |
7| |
8\---------------------------------------------------------------------*/
12#ifndef ZYPP2_REPOSTATUS_H
13#define ZYPP2_REPOSTATUS_H
14
15#include <iosfwd>
16#include <zypp-core/base/PtrTypes.h>
17#include <zypp/CheckSum.h>
18#include <zypp-core/Date.h>
19
21namespace zypp
22{
23
24 class RepoInfo;
25
40 class ZYPP_API RepoStatus
41 {
42 friend std::ostream & operator<<( std::ostream & str, const RepoStatus & obj );
43 friend RepoStatus operator&&( const RepoStatus & lhs, const RepoStatus & rhs );
44 friend bool operator==( const RepoStatus & lhs, const RepoStatus & rhs );
45
46 public:
48 RepoStatus();
57 explicit RepoStatus( const Pathname & path_r );
58
60 explicit RepoStatus( const RepoInfo & info_r );
61
63 RepoStatus( std::string checksum_r, Date timestamp_r );
64
66 ~RepoStatus();
67
68 RepoStatus(const RepoStatus &) = default;
69 RepoStatus(RepoStatus &&) noexcept = default;
70 RepoStatus &operator=(const RepoStatus &) = default;
71 RepoStatus &operator=(RepoStatus &&) noexcept = default;
72
73 public:
79 static RepoStatus fromCookieFile( const Pathname & path );
80
89 static RepoStatus fromCookieFileUseMtime( const Pathname & path );
90
95 void saveToCookieFile( const Pathname & path_r ) const;
96
97 public:
99 bool empty() const;
100
102 Date timestamp() const;
103
104 public:
105 struct Impl;
106 private:
107 RWCOW_pointer<Impl> _pimpl;
108 };
109
110
112 std::ostream & operator<<( std::ostream & str, const RepoStatus & obj ) ZYPP_API;
113
115 RepoStatus operator&&( const RepoStatus & lhs, const RepoStatus & rhs ) ZYPP_API;
116
118 bool operator==( const RepoStatus & lhs, const RepoStatus & rhs ) ZYPP_API;
119
121 inline bool operator!=( const RepoStatus & lhs, const RepoStatus & rhs )
122 { return ! ( lhs == rhs ); }
123
125} // namespace zypp
127#endif // ZYPP2_REPOSTATUS_H
Date.h
PtrTypes.h
zypp::Date
Store and operate on date (time_t).
Definition Date.h:33
zypp::RepoInfo
What is known about a repository.
Definition RepoInfo.h:72
zypp::RepoStatus
Track changing files or directories.
Definition RepoStatus.h:41
zypp::RepoStatus::fromCookieFileUseMtime
static RepoStatus fromCookieFileUseMtime(const Pathname &path)
Reads the status from a cookie file but uses the files mtime.
Definition RepoStatus.cc:217
zypp::RepoStatus::_pimpl
RWCOW_pointer< Impl > _pimpl
Implementation.
Definition RepoStatus.h:107
zypp::RepoStatus::fromCookieFile
static RepoStatus fromCookieFile(const Pathname &path)
Reads the status from a cookie file.
Definition RepoStatus.cc:210
zypp::RepoStatus::timestamp
Date timestamp() const
The time the data were changed the last time.
Definition RepoStatus.cc:237
zypp::RepoStatus::empty
bool empty() const
Whether the status is empty (empty checksum).
Definition RepoStatus.cc:234
zypp::RepoStatus::RepoStatus
RepoStatus()
Default ctor.
Definition RepoStatus.cc:172
zypp::RepoStatus::saveToCookieFile
void saveToCookieFile(const Pathname &path_r) const
Save the status information to a cookie file.
Definition RepoStatus.cc:224
zypp::RepoStatus::RepoStatus
RepoStatus(RepoStatus &&) noexcept=default
zypp::RepoStatus::RepoStatus
RepoStatus(const RepoStatus &)=default
zypp::filesystem::Pathname
Pathname.
Definition Pathname.h:48
std
Definition ansi.h:855
str
String related utilities and Regular expression matching.
zypp
Easy-to use interface to the ZYPP dependency resolver.
Definition CodePitfalls.doc:2
zypp::operator==
bool operator==(const Capability &lhs, const Capability &rhs)
relates: Capability
Definition Capability.h:309
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::operator&&
RepoStatus operator&&(const RepoStatus &lhs, const RepoStatus &rhs)
relates: RepoStatus Combine two RepoStatus (combined checksum and newest timestamp)
Definition RepoStatus.cc:243
zypp::RWCOW_pointer
RW_pointer supporting 'copy on write' functionality.
Definition PtrTypes.h:469
zypp::RepoStatus::Impl
RepoStatus implementation.
Definition RepoStatus.cc:58
CheckSum.h