aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-php-rpc/php/stubs/Composer/Repository/RepositoryManager.php
diff options
context:
space:
mode:
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.php89
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', []);
+ }
+}