mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-22 00:54:26 +08:00
feat.airapp与融合桌面
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
using dotnetCampus.Ipc.CompilerServices.Attributes;
|
||||
|
||||
namespace LanMountainDesktop.Shared.IPC.Abstractions.Services;
|
||||
|
||||
[IpcPublic(IgnoresIpcException = true)]
|
||||
public interface IAirAppLifecycleService
|
||||
{
|
||||
Task<AirAppOperationResult> OpenAsync(AirAppOpenRequest request);
|
||||
|
||||
Task<AirAppOperationResult> ActivateAsync(string instanceKey);
|
||||
|
||||
Task<AirAppOperationResult> CloseAsync(string instanceKey);
|
||||
|
||||
Task<AirAppInstanceInfo[]> GetInstancesAsync();
|
||||
|
||||
Task<AirAppOperationResult> RegisterAsync(AirAppRegistrationRequest request);
|
||||
|
||||
Task<AirAppOperationResult> UnregisterAsync(string instanceKey, int processId);
|
||||
}
|
||||
|
||||
public sealed record AirAppOpenRequest(
|
||||
string AppId,
|
||||
string? SourceComponentId,
|
||||
string? SourcePlacementId,
|
||||
int RequesterProcessId);
|
||||
|
||||
public sealed record AirAppRegistrationRequest(
|
||||
string InstanceKey,
|
||||
string AppId,
|
||||
string SessionId,
|
||||
int ProcessId,
|
||||
string WindowTitle,
|
||||
string? SourceComponentId,
|
||||
string? SourcePlacementId);
|
||||
|
||||
public sealed record AirAppInstanceInfo(
|
||||
string InstanceKey,
|
||||
string AppId,
|
||||
string SessionId,
|
||||
int ProcessId,
|
||||
string WindowTitle,
|
||||
string? SourceComponentId,
|
||||
string? SourcePlacementId,
|
||||
bool ProcessAlive,
|
||||
DateTimeOffset StartedAtUtc,
|
||||
DateTimeOffset UpdatedAtUtc);
|
||||
|
||||
public sealed record AirAppOperationResult(
|
||||
bool Accepted,
|
||||
string Code,
|
||||
string Message,
|
||||
AirAppInstanceInfo? Instance);
|
||||
Reference in New Issue
Block a user