Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit eff718ce authored by Simon Chan's avatar Simon Chan
Browse files

feat(scrcpy): add stub for server version 3.3

parent 748c4b23
Loading
Loading
Loading
Loading
+50 −0
Original line number Diff line number Diff line
import type { Adb, AdbNoneProtocolSpawner } from "@yume-chan/adb";
import type { ScrcpyDisplay, ScrcpyEncoder } from "@yume-chan/scrcpy";
import { ScrcpyOptions3_3 } from "@yume-chan/scrcpy";

import {
    createConnection,
    getDisplays,
    getEncoders,
} from "./2_1/impl/index.js";
import type { AdbScrcpyClientOptions } from "./client-options.js";
import type { AdbScrcpyConnection } from "./connection.js";
import type { AdbScrcpyOptions, AdbScrcpyOptionsGetEncoders } from "./types.js";

export class AdbScrcpyOptions3_3<TVideo extends boolean>
    extends ScrcpyOptions3_3<TVideo>
    implements
        AdbScrcpyOptions<ScrcpyOptions3_3.Init<TVideo>>,
        AdbScrcpyOptionsGetEncoders
{
    readonly version: string;

    readonly spawner: AdbNoneProtocolSpawner | undefined;

    constructor(
        init: ScrcpyOptions3_3.Init<TVideo>,
        clientOptions?: AdbScrcpyClientOptions,
    ) {
        super(init);

        this.version = clientOptions?.version ?? "3.2";
        this.spawner = clientOptions?.spawner;
    }

    getEncoders(adb: Adb, path: string): Promise<ScrcpyEncoder[]> {
        return getEncoders(adb, path, this);
    }

    getDisplays(adb: Adb, path: string): Promise<ScrcpyDisplay[]> {
        return getDisplays(adb, path, this);
    }

    createConnection(adb: Adb): AdbScrcpyConnection {
        return createConnection(adb, this.value);
    }
}

export namespace AdbScrcpyOptions3_3 {
    export type Init<TVideo extends boolean = boolean> =
        ScrcpyOptions3_3.Init<TVideo>;
}
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ export * from "./3_0_1.js";
export * from "./3_0_2.js";
export * from "./3_1.js";
export * from "./3_2.js";
export * from "./3_3.js";
export * from "./client-options.js";
export * from "./client.js";
export * from "./connection.js";
+4 −4
Original line number Diff line number Diff line
import { AdbScrcpyOptions3_2 } from "./3_2.js";
import { AdbScrcpyOptions3_3 } from "./3_3.js";
import type { AdbScrcpyClientOptions } from "./client-options.js";

export class AdbScrcpyOptionsLatest<
    TVideo extends boolean,
> extends AdbScrcpyOptions3_2<TVideo> {
> extends AdbScrcpyOptions3_3<TVideo> {
    constructor(
        init: AdbScrcpyOptions3_2.Init<TVideo>,
        init: AdbScrcpyOptions3_3.Init<TVideo>,
        clientOptions?: AdbScrcpyClientOptions,
    ) {
        super(init, clientOptions);
@@ -14,5 +14,5 @@ export class AdbScrcpyOptionsLatest<

export namespace AdbScrcpyOptionsLatest {
    export type Init<TVideo extends boolean = boolean> =
        AdbScrcpyOptions3_2.Init<TVideo>;
        AdbScrcpyOptions3_3.Init<TVideo>;
}
+14 −0
Original line number Diff line number Diff line
import { ScrcpyOptions3_2 } from "./3_2/index.js";

export class ScrcpyOptions3_3<
    TVideo extends boolean,
> extends ScrcpyOptions3_2<TVideo> {
    constructor(init: ScrcpyOptions3_2.Init<TVideo>) {
        super(init);
    }
}

export namespace ScrcpyOptions3_3 {
    export type Init<TVideo extends boolean = boolean> =
        ScrcpyOptions3_2.Init<TVideo>;
}
+1 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ export * from "./3_0_1.js";
export * from "./3_0_2.js";
export * from "./3_1/index.js";
export * from "./3_2/index.js";
export * from "./3_3.js";
export * from "./android/index.js";
export * from "./base/index.js";
export * from "./codec/index.js";
Loading