MiKTeX 23.10-next
A scalable TeX distribution
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
MiKTeX::Packages::internal::PackageManagerImpl Class Reference
Inheritance diagram for MiKTeX::Packages::internal::PackageManagerImpl:
Inheritance graph
[legend]
Collaboration diagram for MiKTeX::Packages::internal::PackageManagerImpl:
Collaboration graph
[legend]

Public Member Functions

std::unique_ptr< class PackageInstallerCreateInstaller (const MiKTeX::Packages::PackageInstaller::InitInfo &initInfo) override
 
std::unique_ptr< MiKTeX::Packages::PackageInstallerCreateInstaller () override
 
std::unique_ptr< class MiKTeX::Packages::PackageIteratorCreateIterator () override
 Creates a new package iterator object. More...
 
void CreateMpmFndb () override
 Recreates the file name database of the package manager. More...
 
void CreateMpmFndbNoLock ()
 
MiKTeX::Packages::PackageInfo GetPackageInfo (const std::string &packageId) override
 
void LoadDatabase (const MiKTeX::Util::PathName &path, bool isArchive) override
 
void UnloadDatabase () override
 Unloads the package database. More...
 
MiKTeX::Packages::RepositoryReleaseState GetRepositoryReleaseState () override
 
void SetRepositoryReleaseState (MiKTeX::Packages::RepositoryReleaseState repositoryReleaseState) override
 
void DownloadRepositoryList () override
 Downloads the repositiry list from the server. More...
 
std::vector< MiKTeX::Packages::RepositoryInfoGetRepositories () override
 
std::string PickRepositoryUrl () override
 
bool TryGetPackageInfo (const std::string &packageId, MiKTeX::Packages::PackageInfo &packageInfo) override
 
void OnProgress () override
 
bool TryGetRepositoryInfo (const std::string &url, MiKTeX::Packages::RepositoryInfo &repositoryInfo) override
 
MiKTeX::Packages::RepositoryInfo CheckPackageRepository (const std::string &url) override
 
MiKTeX::Packages::RepositoryInfo VerifyPackageRepository (const std::string &url) override
 
bool TryVerifyInstalledPackage (const std::string &packageId) override
 Verifies an installed package. More...
 
bool TryVerifyInstalledPackageNoLock (const std::string &packageId)
 
std::string GetContainerPath (const std::string &packageId, bool useDisplayNames) override
 
std::string GetContainerPathNoLock (const std::string &packageId, bool useDisplayNames)
 
InstallationSummary GetInstallationSummary (bool userScope) override
 
 PackageManagerImpl (const MiKTeX::Packages::PackageManager::InitInfo &initInfo)
 
void Lock (std::chrono::milliseconds timeout)
 
void Unlock ()
 
void ClearAll ()
 
WebSessionGetWebSession () const
 
PackageDataStoreGetPackageDataStore ()
 
virtual std::unique_ptr< class PackageInstallerCreateInstaller (const PackageInstaller::InitInfo &initInfo)=0
 
virtual std::unique_ptr< class PackageInstallerCreateInstaller ()=0
 
virtual std::unique_ptr< class PackageIteratorCreateIterator ()=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< RepositoryInfoGetRepositories ()=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
 
virtual bool ReadDirectory (const MiKTeX::Util::PathName &path, std::vector< std::string > &subDirNames, std::vector< std::string > &fileNames, std::vector< std::string > &fileNameInfos)=0
 
virtual bool OnProgress (unsigned level, const MiKTeX::Util::PathName &directory)=0
 
virtual void OnProgress ()=0
 

Static Public Attributes

static std::string proxyUser
 
static std::string proxyPassword
 

Additional Inherited Members

- Static Public Member Functions inherited from MiKTeX::Packages::PackageManager
static std::shared_ptr< PackageManagerCreate (const InitInfo &initInfo)
 
static std::shared_ptr< PackageManagerCreate ()
 
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)
 

Member Function Documentation

◆ CheckPackageRepository()

MiKTeX::Packages::RepositoryInfo MiKTeX::Packages::internal::PackageManagerImpl::CheckPackageRepository ( const std::string &  url)
inlineoverridevirtual

Checks a remote package repository.

Parameters
urlIdentifies the remote package repository.
[out]repositoryInfoInformation about the remote package repository.
Returns
Returns true, if the package repository is usable.

Implements MiKTeX::Packages::PackageManager.

◆ CreateInstaller() [1/2]

unique_ptr< PackageInstaller > PackageManagerImpl::CreateInstaller ( )
overridevirtual

Creates a new package installer object.

Returns
Returns a smart pointer to the new package installer object.

Implements MiKTeX::Packages::PackageManager.

◆ CreateInstaller() [2/2]

std::unique_ptr< class PackageInstaller > MiKTeX::Packages::internal::PackageManagerImpl::CreateInstaller ( const MiKTeX::Packages::PackageInstaller::InitInfo initInfo)
overridevirtual

Creates a new package installer object.

Parameters
initInfoInitialization options.
Returns
Returns a smart pointer to the new package installer object.

Implements MiKTeX::Packages::PackageManager.

◆ CreateIterator()

unique_ptr< PackageIterator > PackageManagerImpl::CreateIterator ( )
overridevirtual

Creates a new package iterator object.

Implements MiKTeX::Packages::PackageManager.

◆ CreateMpmFndb()

void MiKTeX::Packages::internal::PackageManagerImpl::CreateMpmFndb ( )
inlineoverridevirtual

Recreates the file name database of the package manager.

Implements MiKTeX::Packages::PackageManager.

◆ DownloadRepositoryList()

void MiKTeX::Packages::internal::PackageManagerImpl::DownloadRepositoryList ( )
inlineoverridevirtual

Downloads the repositiry list from the server.

Implements MiKTeX::Packages::PackageManager.

◆ GetContainerPath()

std::string MiKTeX::Packages::internal::PackageManagerImpl::GetContainerPath ( const std::string &  packageId,
bool  useDisplayNames 
)
inlineoverridevirtual

Builds the container path of a package.

Parameters
packageIdIdentifies the package.
useDisplayNamesIndicates whether to use user friendly names.
Returns
Returns the container path of the package.

Implements MiKTeX::Packages::PackageManager.

◆ GetInstallationSummary()

InstallationSummary PackageManagerImpl::GetInstallationSummary ( bool  userScope)
overridevirtual

Gets the installation summary.

Parameters
commonIndicates whether to retrieve a summary for the current user.
Returns
Returns the installation summary.

Implements MiKTeX::Packages::PackageManager.

◆ GetPackageInfo()

PackageInfo PackageManagerImpl::GetPackageInfo ( const std::string &  packageId)
overridevirtual

Gets information about a specified package.

Parameters
packageIdPackage key.
Returns
Returns the package record.

Implements MiKTeX::Packages::PackageManager.

◆ GetRepositories()

std::vector< MiKTeX::Packages::RepositoryInfo > MiKTeX::Packages::internal::PackageManagerImpl::GetRepositories ( )
inlineoverridevirtual

Gets the downloaded repoistory list.

Returns
Returns the repository list.

Implements MiKTeX::Packages::PackageManager.

◆ GetRepositoryReleaseState()

MiKTeX::Packages::RepositoryReleaseState MiKTeX::Packages::internal::PackageManagerImpl::GetRepositoryReleaseState ( )
inlineoverridevirtual

Gets the release state of the current package repository.

Returns
Returns the release state.

Implements MiKTeX::Packages::PackageManager.

◆ LoadDatabase()

void PackageManagerImpl::LoadDatabase ( const MiKTeX::Util::PathName path,
bool  isArchive 
)
overridevirtual

Loads the package database.

Parameters
Pathto the package database.
isArchiveIndicates whether this is an archive file or an INI file.

Implements MiKTeX::Packages::PackageManager.

◆ OnProgress()

void PackageManagerImpl::OnProgress ( )
overridevirtual

◆ PickRepositoryUrl()

std::string MiKTeX::Packages::internal::PackageManagerImpl::PickRepositoryUrl ( )
inlineoverridevirtual

Picks a random package repository.

Returns
Returns the URL of a package repository.

Implements MiKTeX::Packages::PackageManager.

◆ SetRepositoryReleaseState()

void MiKTeX::Packages::internal::PackageManagerImpl::SetRepositoryReleaseState ( MiKTeX::Packages::RepositoryReleaseState  repositoryReleaseState)
inlineoverridevirtual

Sets the release state of the current package repository.

Parameters
repositoryReleaseStateThe release state to set.

Implements MiKTeX::Packages::PackageManager.

◆ TryGetPackageInfo()

bool PackageManagerImpl::TryGetPackageInfo ( const std::string &  packageId,
MiKTeX::Packages::PackageInfo packageInfo 
)
overridevirtual

Tries to get a record from the package database.

Parameters
urlIdentifies the package.
[out]packageInfoThe loaded record.
Returns
Returns true, if the record could be retrieved.

Implements MiKTeX::Packages::PackageManager.

◆ TryGetRepositoryInfo()

bool MiKTeX::Packages::internal::PackageManagerImpl::TryGetRepositoryInfo ( const std::string &  url,
MiKTeX::Packages::RepositoryInfo repositoryInfo 
)
inlineoverridevirtual

Tries to get a record from the repository data store.

Parameters
urlIdentifies the remote package repository.
[out]repositoryInfoThe loaded record.
Returns
Returns true, if the record could be retrieved.

Implements MiKTeX::Packages::PackageManager.

◆ TryVerifyInstalledPackage()

bool MiKTeX::Packages::internal::PackageManagerImpl::TryVerifyInstalledPackage ( const std::string &  packageId)
inlineoverridevirtual

Verifies an installed package.

This method reads all files in order to verify the integrity of the package.

Parameters
packageIdIdentifies the package.
Returns
Returns true, if the package is correctly installed.

Implements MiKTeX::Packages::PackageManager.

◆ UnloadDatabase()

void PackageManagerImpl::UnloadDatabase ( )
overridevirtual

Unloads the package database.

Implements MiKTeX::Packages::PackageManager.

◆ VerifyPackageRepository()

MiKTeX::Packages::RepositoryInfo MiKTeX::Packages::internal::PackageManagerImpl::VerifyPackageRepository ( const std::string &  url)
inlineoverridevirtual

Lets the server verify a remote package repository.

Parameters
urlIdentifies the repository to verify.
Returns
repositoryInfo Returns the repository record returned by the server.
Exceptions
MiKTeXExceptionThe repository is not valid.

Implements MiKTeX::Packages::PackageManager.


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