Pacm module

pacm

Package manifests, install tasks, and repository management helpers.

Classes

NameDescription
InstallMonitorAggregates multiple install tasks and reports overall progress.
InstallTaskDownloads, extracts, and finalizes a single package installation.
PackageManagerLoads package manifests and coordinates install, update, and uninstall workflows.
InstallationStateState machine states for package installation.
InstallOptionsPackage installation options.
LocalPackagePackage metadata for an installed package on the local filesystem.
PackageJSON-backed package metadata shared by local and remote package records.
PackagePairPairing of the installed and remote metadata for the same package ID.
RemotePackagePackage metadata loaded from the remote package index.

Typedefs

ReturnNameDescription
std::vector< LocalPackage * >LocalPackageVecVector of local package pointers used by install monitor progress snapshots.
std::vector< InstallTask * >InstallTaskVecVector of raw install task pointers used for transient iteration.
std::vector< InstallTask::Ptr >InstallTaskPtrVecVector of shared install task handles retained across async workflows.
std::vector< PackagePair >PackagePairVecVector of local/remote package pairs used for reconciliation and update checks.
KeyedStore< std::string, LocalPackage >LocalPackageStoreKeyed store of installed packages indexed by package ID.
KeyedStore< std::string, RemotePackage >RemotePackageStoreKeyed store of remote package metadata indexed by package ID.

LocalPackageVec

using LocalPackageVec = std::vector< LocalPackage * >

Type: std::vector< LocalPackage * >

Defined in src/pacm/include/icy/pacm/installmonitor.h:23

Vector of local package pointers used by install monitor progress snapshots.


InstallTaskVec

using InstallTaskVec = std::vector< InstallTask * >

Type: std::vector< InstallTask * >

Defined in src/pacm/include/icy/pacm/installtask.h:208

Vector of raw install task pointers used for transient iteration.


InstallTaskPtrVec

using InstallTaskPtrVec = std::vector< InstallTask::Ptr >

Type: std::vector< InstallTask::Ptr >

Defined in src/pacm/include/icy/pacm/installtask.h:211

Vector of shared install task handles retained across async workflows.


PackagePairVec

using PackagePairVec = std::vector< PackagePair >

Type: std::vector< PackagePair >

Defined in src/pacm/include/icy/pacm/package.h:363

Vector of local/remote package pairs used for reconciliation and update checks.


LocalPackageStore

using LocalPackageStore = KeyedStore< std::string, LocalPackage >

Type: KeyedStore< std::string, LocalPackage >

Defined in src/pacm/include/icy/pacm/packagemanager.h:55

Keyed store of installed packages indexed by package ID.


RemotePackageStore

using RemotePackageStore = KeyedStore< std::string, RemotePackage >

Type: KeyedStore< std::string, RemotePackage >

Defined in src/pacm/include/icy/pacm/packagemanager.h:58

Keyed store of remote package metadata indexed by package ID.

Functions

ReturnNameDescription
std::stringgetInstallTaskNamesString inlineReturns a comma-delimited string of display names from packages.
voidvalidatePathComponent inlineValidates that a string is safe to use as a path component. Rejects path traversal sequences (..), directory separators (/ and ), null bytes, and empty strings.

getInstallTaskNamesString

inline

inline std::string getInstallTaskNamesString(LocalPackageVec & packages)

Defined in src/pacm/include/icy/pacm/installmonitor.h:91

Returns a comma-delimited string of display names from packages.

Returns

Comma-separated name string, e.g. "PluginA, PluginB".

Parameters

ParameterTypeDescription
packagesLocalPackageVec &Vector of LocalPackage pointers to format.

validatePathComponent

inline

inline void validatePathComponent(std::string_view name, std::string_view context)

Defined in src/pacm/include/icy/pacm/packagemanager.h:41

Validates that a string is safe to use as a path component. Rejects path traversal sequences (..), directory separators (/ and ), null bytes, and empty strings.

Parameters

ParameterTypeDescription
namestd::string_viewThe path component to validate.
contextstd::string_viewCaller description included in the exception message.

Exceptions

ExceptionDescription
std::invalid_argumentif name fails any validation check.