diff options
Diffstat (limited to 'crates/shirabe-php-rpc/php/stubs/Composer/Repository/RepositoryManager.php')
| -rw-r--r-- | crates/shirabe-php-rpc/php/stubs/Composer/Repository/RepositoryManager.php | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/crates/shirabe-php-rpc/php/stubs/Composer/Repository/RepositoryManager.php b/crates/shirabe-php-rpc/php/stubs/Composer/Repository/RepositoryManager.php new file mode 100644 index 00000000..252bab4d --- /dev/null +++ b/crates/shirabe-php-rpc/php/stubs/Composer/Repository/RepositoryManager.php @@ -0,0 +1,89 @@ +<?php + +// Generated by scripts/plugin-stub-generator; do not edit by hand. +// Proxy stub for Composer\Repository\RepositoryManager: the public surface forwards to the Rust-side entity over RPC. + +namespace Composer\Repository; + +use Composer\Package\PackageInterface; + +class RepositoryManager 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 findPackage(string $name, $constraint): ?PackageInterface + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'findPackage', [$name, $constraint]); + } + + public function findPackages(string $name, $constraint): array + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'findPackages', [$name, $constraint]); + } + + public function addRepository(RepositoryInterface $repository): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'addRepository', [$repository]); + } + + public function prependRepository(RepositoryInterface $repository): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'prependRepository', [$repository]); + } + + public function createRepository(string $type, array $config, ?string $name = null): RepositoryInterface + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'createRepository', [$type, $config, $name]); + } + + public function setRepositoryClass(string $type, $class): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setRepositoryClass', [$type, $class]); + } + + public function getRepositories(): array + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getRepositories', []); + } + + public function setLocalRepository(InstalledRepositoryInterface $repository): void + { + \ShirabeRpcRuntime::callRust($this->__rhandle, 'setLocalRepository', [$repository]); + } + + public function getLocalRepository(): InstalledRepositoryInterface + { + return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getLocalRepository', []); + } +} |
