Pacm module

pacm

[Package]({#ref structicy_1_1pacm_1_1Package #}) manifests, install tasks, and repository management helpers.

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

std::vector< LocalPackage * > LocalPackageVec()

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


InstallTaskVec

std::vector< InstallTask * > InstallTaskVec()

Vector of raw install task pointers used for transient iteration.


InstallTaskPtrVec

std::vector< InstallTask::Ptr > InstallTaskPtrVec()

Vector of shared install task handles retained across async workflows.


PackagePairVec

std::vector< PackagePair > PackagePairVec()

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


LocalPackageStore

KeyedStore< std::string, LocalPackage > LocalPackageStore()

Keyed store of installed packages indexed by package ID.


RemotePackageStore

KeyedStore< std::string, RemotePackage > RemotePackageStore()

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)

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

Parameters

Returns

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


validatePathComponent

inline

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

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

  • name The path component to validate.

  • context Caller description included in the exception message.

Exceptions

  • std::invalid_argument if name fails any validation check.