MiKTeX 23.10-next
A scalable TeX distribution
|
The package manager interface. More...
#include <miktex/PackageManager/PackageManager.h>
Classes | |
struct | InitInfo |
Initialization options. More... | |
Public Member Functions | |
virtual std::unique_ptr< class PackageInstaller > | CreateInstaller (const PackageInstaller::InitInfo &initInfo)=0 |
virtual std::unique_ptr< class PackageInstaller > | CreateInstaller ()=0 |
virtual std::unique_ptr< class PackageIterator > | CreateIterator ()=0 |
Creates a new package iterator object. More... | |
virtual void | CreateMpmFndb ()=0 |
Recreates the file name database of the package manager. More... | |
virtual PackageInfo | GetPackageInfo (const std::string &packageId)=0 |
virtual void | LoadDatabase (const MiKTeX::Util::PathName &path, bool isArchive)=0 |
virtual void | UnloadDatabase ()=0 |
Unloads the package database. More... | |
virtual RepositoryReleaseState | GetRepositoryReleaseState ()=0 |
virtual void | SetRepositoryReleaseState (RepositoryReleaseState repositoryReleaseState)=0 |
virtual void | DownloadRepositoryList ()=0 |
Downloads the repositiry list from the server. More... | |
virtual std::vector< RepositoryInfo > | GetRepositories ()=0 |
virtual std::string | PickRepositoryUrl ()=0 |
virtual bool | TryGetPackageInfo (const std::string &packageId, PackageInfo &packageInfo)=0 |
virtual bool | TryGetRepositoryInfo (const std::string &url, RepositoryInfo &repositoryInfo)=0 |
virtual RepositoryInfo | CheckPackageRepository (const std::string &url)=0 |
virtual RepositoryInfo | VerifyPackageRepository (const std::string &url)=0 |
virtual bool | TryVerifyInstalledPackage (const std::string &packageId)=0 |
Verifies an installed package. More... | |
virtual std::string | GetContainerPath (const std::string &packageId, bool useDisplayNames)=0 |
virtual InstallationSummary | GetInstallationSummary (bool userScope)=0 |
Static Public Member Functions | |
static std::shared_ptr< PackageManager > | Create (const InitInfo &initInfo) |
static std::shared_ptr< PackageManager > | Create () |
static std::string | GetRemotePackageRepository (RepositoryReleaseState &repositoryReleaseState) |
static std::string | GetRemotePackageRepository () |
static bool | TryGetRemotePackageRepository (std::string &url, RepositoryReleaseState &repositoryReleaseState) |
static bool | TryGetRemotePackageRepository (std::string &url) |
static MiKTeX::Util::PathName | GetLocalPackageRepository () |
static bool | TryGetLocalPackageRepository (MiKTeX::Util::PathName &path) |
static MiKTeX::Util::PathName | GetMiKTeXDirectRoot () |
static bool | TryGetMiKTeXDirectRoot (MiKTeX::Util::PathName &path) |
static RepositoryInfo | GetDefaultPackageRepository () |
static bool | TryGetDefaultPackageRepository (RepositoryType &repositoryType, RepositoryReleaseState &repositoryReleaseState, std::string &urlOrPath) |
static bool | TryGetDefaultPackageRepository (RepositoryType &repositoryType, std::string &urlOrPath) |
static void | SetDefaultPackageRepository (const RepositoryInfo &repository) |
static void | SetDefaultPackageRepository (RepositoryType repositoryType, RepositoryReleaseState repositoryReleaseState, const std::string &urlOrPath) |
static void | SetDefaultPackageRepository (RepositoryType repositoryType, const std::string &urlOrPath) |
static bool | IsLocalPackageRepository (const MiKTeX::Util::PathName &path) |
static void | SetRemotePackageRepository (const std::string &url, RepositoryReleaseState repositoryReleaseState) |
static void | SetRemotePackageRepository (const std::string &url) |
static void | SetLocalPackageRepository (const MiKTeX::Util::PathName &path) |
static void | SetMiKTeXDirectRoot (const MiKTeX::Util::PathName &path) |
static PackageInfo | ReadPackageManifestFile (const MiKTeX::Util::PathName &path, const std::string &texmfPrefix) |
static void | WritePackageManifestFile (const MiKTeX::Util::PathName &path, const PackageInfo &packageInfo, std::time_t timePackaged) |
static void | PutPackageManifest (MiKTeX::Core::Cfg &cfg, const PackageInfo &packageInfo, std::time_t timePackaged) |
static PackageInfo | GetPackageManifest (const MiKTeX::Core::Cfg &cfg, const std::string &packageId, const std::string &texmfPrefix) |
static bool | StripTeXMFPrefix (const std::string &str, std::string &result) |
static bool | TryGetProxy (const std::string &url, ProxySettings &proxySettings) |
static bool | TryGetProxy (ProxySettings &proxySettings) |
static void | SetProxy (const ProxySettings &proxySettings) |
The package manager interface.
|
pure virtual |
Checks a remote package repository.
url | Identifies the remote package repository. | |
[out] | repositoryInfo | Information about the remote package repository. |
true
, if the package repository is usable. Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
inlinestatic |
Creates a new package manager object.
|
static |
Creates a new package manager object.
initInfo | Initialization options. |
|
pure virtual |
Creates a new package installer object.
Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
pure virtual |
Creates a new package installer object.
initInfo | Initialization options. |
Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
pure virtual |
Creates a new package iterator object.
Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
pure virtual |
Recreates the file name database of the package manager.
Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
pure virtual |
Downloads the repositiry list from the server.
Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
pure virtual |
Builds the container path of a package.
packageId | Identifies the package. |
useDisplayNames | Indicates whether to use user friendly names. |
Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
static |
Gets the configured package repository.
|
pure virtual |
Gets the installation summary.
common | Indicates whether to retrieve a summary for the current user. |
Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
static |
Gets the configured local package repository.
MiKTeXException | No local package repository is configured. |
|
pure virtual |
Gets information about a specified package.
packageId | Package key. |
Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
static |
Loads a package manifest from a Cfg
container.
cfg | The Cfg instance. |
packageId | Identifies the package manifest. |
texmfPrefix | The TEXMF prefix to be stripped from file names. |
|
inlinestatic |
Gets the configured remote package repository.
[out] | repositoryReleaseState | The release state of the package repository. |
MiKTeXException | No remote package repository is configured. |
|
static |
Gets the configured remote package repository.
[out] | repositoryReleaseState | The release state of the package repository. |
MiKTeXException | No remote package repository is configured. |
|
pure virtual |
Gets the downloaded repoistory list.
Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
pure virtual |
Gets the release state of the current package repository.
Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
static |
Tests a local package repository.
path | Path to the local package repository. |
true
, if this is a local package repository.
|
pure virtual |
Loads the package database.
Path | to the package database. |
isArchive | Indicates whether this is an archive file or an INI file. |
Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
pure virtual |
Picks a random package repository.
Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
static |
Adds (updates) a package manifest to (in) a Cfg
container.
cfg | The Cfg instance to modify. |
packageInfo | The package manifest. |
timePackaged | The packaging timestamp. |
|
static |
Loads a package manifest from an INI file.
path | The path to the INI file. |
texmfPrefix | The TEXMF prefix to be stripped from file names. |
|
static |
Configures the default package repository.
repository | The new default package repository. |
|
inlinestatic |
Configures the default package repository.
repository | The repository type. |
urlOrPath | The path to (URL of) the default package repository. |
|
static |
Configures the default package repository.
repository | The repository type. |
repositoryReleaseState | The repository release state. |
urlOrPath | The path to (URL of) the default package repository. |
|
static |
Configures the local package repository.
path | Path to the local package repository. |
|
static |
SetMiKTeXDirectRoot
|
static |
Configures a proxy server.
proxySettings | The proxy settings. |
|
inlinestatic |
Configures the remote package repository.
url | Identifies the remote package repository. |
|
static |
Configures the remote package repository.
url | Identifies the remote package repository. |
repositoryReleaseState | The release state of the package repository. |
|
pure virtual |
Sets the release state of the current package repository.
repositoryReleaseState | The release state to set. |
Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
static |
Strips the TEXMF prefix from a string.
str | The string to be stripped. | |
[out] | result | The result to be filled with the stripped string. |
true
, if the prefix was stripped.
|
static |
Gets the configured package repository.
[out] | repository | The repository type. |
[out] | repositoryReleaseState | The repository release state. |
[out] | urlOrPath | The configured package repository. |
true
.
|
inlinestatic |
Gets the configured package repository.
[out] | repository | The repository type. |
[out] | urlOrPath | The configured package repository. |
true
.
|
static |
Gets the configured local package repository.
[out] | path | The path to the local package repository. |
false
, if the local package repository is not configured.
|
static |
TryGetMiKTeXDirectRoot
|
pure virtual |
Tries to get a record from the package database.
url | Identifies the package. | |
[out] | packageInfo | The loaded record. |
true
, if the record could be retrieved. Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
static |
Gets the configured proxy server.
url | Identifies the scheme the proxy must support. | |
[out] | proxySettings | The proxy settings. |
true
, if the proxy server is configured.
|
static |
Gets the configured proxy server.
[out] | proxySettings | The proxy settings. |
true
, if the proxy server is configured.
|
inlinestatic |
Gets the configured remote package repository.
[out] | url | The URL of the remote package repository. |
false
, if the remote package repository is not configured.
|
static |
Gets the configured remote package repository.
[out] | url | The URL of the remote package repository. |
[out] | repositoryReleaseState | The release state of the package repository. |
false
, if the remote package repository is not configured.
|
pure virtual |
Tries to get a record from the repository data store.
url | Identifies the remote package repository. | |
[out] | repositoryInfo | The loaded record. |
true
, if the record could be retrieved. Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
pure virtual |
Verifies an installed package.
This method reads all files in order to verify the integrity of the package.
packageId | Identifies the package. |
true
, if the package is correctly installed. Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
pure virtual |
Unloads the package database.
Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
pure virtual |
Lets the server verify a remote package repository.
url | Identifies the repository to verify. |
MiKTeXException | The repository is not valid. |
Implemented in MiKTeX::Packages::internal::PackageManagerImpl.
|
static |
Writes a package manifest into an INI file.
path | The path to the INI file. |
packageInfo | The package manifest. |
timePackaged | The packaging timestamp. |