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);
218 unsigned int version = 0;
228 unsigned relativeDelay = 0;
232 unsigned ranking = 0;
234 double dataTransferRate = 0.0;
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.
@ Offline
Remote repository is known to be offline.
RepositoryIntegrity
Repository integrrity.
Definition: RepositoryInfo.h:144
@ Corrupted
The repository is known to be corrupted.
@ Intact
The repository is known to be intact.
constexpr std::time_t InvalidTimeT
An invalid timestamp.
Definition: definitions.h:30
PackageLevel
Package level.
Definition: RepositoryInfo.h:40
@ Basic
Basic package set.
@ Advanced
Advanced package set.
@ Complete
Complete package set.
@ Essential
Essential package set.
RepositoryReleaseState
Repository release state.
Definition: RepositoryInfo.h:174
@ Next
Experimental channel.
RepositoryType
Repository type.
Definition: RepositoryInfo.h:78
@ Local
Local (file system) directory.
@ Remote
Remote (Internet) directory.
Package repository info struct.
Definition: RepositoryInfo.h:204
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::string town
Town where the repository is resident.
Definition: RepositoryInfo.h:214
RepositoryType type
Type of repository.
Definition: RepositoryInfo.h:206