aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-php-rpc/php/stubs/Composer/Installer/InstallationManager.php
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe-php-rpc/php/stubs/Composer/Installer/InstallationManager.php')
-rw-r--r--crates/shirabe-php-rpc/php/stubs/Composer/Installer/InstallationManager.php137
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]);
+ }
+}