diff options
Diffstat (limited to 'crates/shirabe-php-rpc/php/stubs/Composer/Installer')
| -rw-r--r-- | crates/shirabe-php-rpc/php/stubs/Composer/Installer/InstallationManager.php | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/crates/shirabe-php-rpc/php/stubs/Composer/Installer/InstallationManager.php b/crates/shirabe-php-rpc/php/stubs/Composer/Installer/InstallationManager.php new file mode 100644 index 00000000..35682561 --- /dev/null +++ b/crates/shirabe-php-rpc/php/stubs/Composer/Installer/InstallationManager.php @@ -0,0 +1,137 @@ +<?php + +// Generated by scripts/plugin-stub-generator; do not edit by hand. +// Proxy stub for Composer\Installer\InstallationManager: the public surface forwards to the Rust-side entity over RPC. + +namespace Composer\Installer; + +use Composer\IO\IOInterface; +use Composer\Package\PackageInterface; +use Composer\Repository\InstalledRepositoryInterface; +use Composer\DependencyResolver\Operation\InstallOperation; +use Composer\DependencyResolver\Operation\UpdateOperation; +use Composer\DependencyResolver\Operation\UninstallOperation; +use Composer\DependencyResolver\Operation\MarkAliasInstalledOperation; +use Composer\DependencyResolver\Operation\MarkAliasUninstalledOperation; +use React\Promise\PromiseInterface; + +class InstallationManager implements \ShirabeRustStub +{ + /** @var int */ + protected $__rhandle; + /** @var int */ + protected $__epoch; + + public function __construct(int $rhandle = 0, int $epoch = 0) + { + if (func_num_args() < 2) { + // Constructing the class from plugin code (a common idiom for e.g. `new BufferIO()`) + // is an open question of the plugin design; only proxy instantiation passes a + // Rust handle. Fail with a diagnosable message instead of an ArgumentCountError. + throw new \RuntimeException( + 'Shirabe does not support constructing ' . static::class . ' inside the plugin process yet' + ); + } + $this->__rhandle = $rhandle; + $this->__epoch = $epoch; + } + + public function __destruct() + { + \ShirabeRustObjectRegistry::release($this->__rhandle); + } + + public function __shirabeRustHandleDescriptor(): array + { + return [ + '__rhandle' => $this->__rhandle, + '__class' => static::class, + '__epoch' => $this->__epoch, + ]; + } + + public function reset(): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'reset', []); + } + + public function addInstaller(InstallerInterface $installer): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'addInstaller', [$installer]); + } + + public function removeInstaller(InstallerInterface $installer): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'removeInstaller', [$installer]); + } + + public function disablePlugins(): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'disablePlugins', []); + } + + public function getInstaller(string $type): InstallerInterface + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getInstaller', [$type]); + } + + public function isPackageInstalled(InstalledRepositoryInterface $repo, PackageInterface $package): bool + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'isPackageInstalled', [$repo, $package]); + } + + public function ensureBinariesPresence(PackageInterface $package): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'ensureBinariesPresence', [$package]); + } + + public function execute(InstalledRepositoryInterface $repo, array $operations, bool $devMode = true, bool $runScripts = true, bool $downloadOnly = false): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'execute', [$repo, $operations, $devMode, $runScripts, $downloadOnly]); + } + + public function download(PackageInterface $package): ?PromiseInterface + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'download', [$package]); + } + + public function install(InstalledRepositoryInterface $repo, InstallOperation $operation): ?PromiseInterface + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'install', [$repo, $operation]); + } + + public function update(InstalledRepositoryInterface $repo, UpdateOperation $operation): ?PromiseInterface + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'update', [$repo, $operation]); + } + + public function uninstall(InstalledRepositoryInterface $repo, UninstallOperation $operation): ?PromiseInterface + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'uninstall', [$repo, $operation]); + } + + public function markAliasInstalled(InstalledRepositoryInterface $repo, MarkAliasInstalledOperation $operation): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'markAliasInstalled', [$repo, $operation]); + } + + public function markAliasUninstalled(InstalledRepositoryInterface $repo, MarkAliasUninstalledOperation $operation): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'markAliasUninstalled', [$repo, $operation]); + } + + public function getInstallPath(PackageInterface $package): ?string + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getInstallPath', [$package]); + } + + public function setOutputProgress(bool $outputProgress): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setOutputProgress', [$outputProgress]); + } + + public function notifyInstalls(IOInterface $io): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'notifyInstalls', [$io]); + } +} |
