24#if !defined(AE9D0FE238A0478AB880D039796623E3)
25#define AE9D0FE238A0478AB880D039796623E3
34#include "definitions.h"
36MIKTEX_PACKAGES_BEGIN_NAMESPACE;
52inline std::string PackageLevelToString(PackageLevel packageLevel)
56 case PackageLevel::None:
58 case PackageLevel::Essential:
60 case PackageLevel::Basic:
62 case PackageLevel::Advanced:
64 case PackageLevel::Complete:
71inline std::ostream& operator<<(std::ostream& os,
const PackageLevel packageLevel)
73 return os << PackageLevelToString(packageLevel);
88inline std::string RepositoryTypeToString(RepositoryType repositoryType)
90 switch (repositoryType)
92 case RepositoryType::Unknown:
94 case RepositoryType::MiKTeXDirect:
95 return "miktexdirect";
96 case RepositoryType::Local:
98 case RepositoryType::Remote:
100 case RepositoryType::MiKTeXInstallation:
101 return "miktexinstallation";
107inline std::ostream& operator<<(std::ostream& os,
const RepositoryType repositoryType)
109 return os << RepositoryTypeToString(repositoryType);
122inline std::string RepositoryStatusToString(RepositoryStatus repositoryStatus)
124 switch (repositoryStatus)
126 case RepositoryStatus::Unknown:
128 case RepositoryStatus::Online:
130 case RepositoryStatus::Offline:
137inline std::ostream& operator<<(std::ostream& os,
const RepositoryStatus repositoryStatus)
139 return os << RepositoryStatusToString(repositoryStatus);
152inline std::string RepositoryIntegrityToString(RepositoryIntegrity repositoryIntegrity)
154 switch (repositoryIntegrity)
156 case RepositoryIntegrity::Unknown:
158 case RepositoryIntegrity::Intact:
160 case RepositoryIntegrity::Corrupted:
167inline std::ostream& operator<<(std::ostream& os,
const RepositoryIntegrity repositoryIntegrity)
169 return os << RepositoryIntegrityToString(repositoryIntegrity);
182inline std::string RepositoryReleaseStateToString(RepositoryReleaseState repositoryReleaseState)
184 switch (repositoryReleaseState)
186 case RepositoryReleaseState::Unknown:
188 case RepositoryReleaseState::Stable:
190 case RepositoryReleaseState::Next:
197inline std::ostream& operator<<(std::ostream& os,
const RepositoryReleaseState repositoryReleaseState)
199 return os << RepositoryReleaseStateToString(repositoryReleaseState);
246inline bool operator!=(
const RepositoryInfo& lhs,
const RepositoryInfo& rhs)
248 return !(lhs == rhs);
251MIKTEX_PACKAGES_END_NAMESPACE;
RepositoryStatus
Repository status.
Definition RepositoryInfo.h:114
@ Online
Repository is known to be online.
Definition RepositoryInfo.h:117
@ Offline
Remote repository is known to be offline.
Definition RepositoryInfo.h:119
RepositoryIntegrity
Repository integrrity.
Definition RepositoryInfo.h:144
@ Corrupted
The repository is known to be corrupted.
Definition RepositoryInfo.h:149
@ Intact
The repository is known to be intact.
Definition RepositoryInfo.h:147
constexpr std::time_t InvalidTimeT
An invalid timestamp.
Definition definitions.h:30
PackageLevel
Package level.
Definition RepositoryInfo.h:40
@ Basic
Basic package set.
Definition RepositoryInfo.h:45
@ Advanced
Advanced package set.
Definition RepositoryInfo.h:47
@ Complete
Complete package set.
Definition RepositoryInfo.h:49
@ Essential
Essential package set.
Definition RepositoryInfo.h:43
RepositoryReleaseState
Repository release state.
Definition RepositoryInfo.h:174
@ Next
Experimental channel.
Definition RepositoryInfo.h:179
@ Stable
Stable channel.
Definition RepositoryInfo.h:177
RepositoryType
Repository type.
Definition RepositoryInfo.h:78
@ Local
Local (file system) directory.
Definition RepositoryInfo.h:82
@ Remote
Remote (Internet) directory.
Definition RepositoryInfo.h:84
Package repository info struct.
Definition RepositoryInfo.h:204
unsigned relativeDelay
Relative delay (in days).
Definition RepositoryInfo.h:228
unsigned int version
Version number.
Definition RepositoryInfo.h:218
RepositoryIntegrity integrity
Integrity of the repository.
Definition RepositoryInfo.h:224
std::string url
URL of (or path to) the repository.
Definition RepositoryInfo.h:208
std::string description
One-line description.
Definition RepositoryInfo.h:210
std::string country
Country where the repository is resident.
Definition RepositoryInfo.h:212
std::time_t timeDate
Time/Date of last update.
Definition RepositoryInfo.h:220
unsigned ranking
Ranking (low is better than high).
Definition RepositoryInfo.h:232
unsigned delay
Delay (in days).
Definition RepositoryInfo.h:226
double dataTransferRate
Data transfer rate (bytes/sec).
Definition RepositoryInfo.h:234
std::string town
Town where the repository is resident.
Definition RepositoryInfo.h:214
RepositoryReleaseState releaseState
Repository release State.
Definition RepositoryInfo.h:230
RepositoryStatus status
Status of the repository.
Definition RepositoryInfo.h:222
RepositoryType type
Type of repository.
Definition RepositoryInfo.h:206
PackageLevel packageLevel
Package level.
Definition RepositoryInfo.h:216
std::time_t lastVisitTime
Last visit time.
Definition RepositoryInfo.h:238
std::time_t lastCheckTime
Last check time.
Definition RepositoryInfo.h:236