40 lines
1.2 KiB
C#
40 lines
1.2 KiB
C#
namespace Rap.Rdp.Core;
|
|
|
|
public interface IRdpProtocolEngine : IAsyncDisposable
|
|
{
|
|
ValueTask ConnectAsync(RdpSessionDescriptor session, CancellationToken cancellationToken);
|
|
|
|
ValueTask DisconnectAsync(bool terminateRemoteSession, CancellationToken cancellationToken);
|
|
|
|
ValueTask SendInputAsync(RdpInputEvent inputEvent, CancellationToken cancellationToken);
|
|
|
|
ValueTask SendClipboardTextAsync(string text, CancellationToken cancellationToken);
|
|
}
|
|
|
|
public abstract record RdpInputEvent(string CorrelationId);
|
|
|
|
public sealed record RdpKeyboardEvent(
|
|
string CorrelationId,
|
|
ushort ScanCode,
|
|
bool KeyDown,
|
|
bool Extended) : RdpInputEvent(CorrelationId);
|
|
|
|
public sealed record RdpPointerMoveEvent(
|
|
string CorrelationId,
|
|
double NormalizedX,
|
|
double NormalizedY) : RdpInputEvent(CorrelationId);
|
|
|
|
public sealed record RdpPointerButtonEvent(
|
|
string CorrelationId,
|
|
string Button,
|
|
bool Pressed,
|
|
double NormalizedX,
|
|
double NormalizedY) : RdpInputEvent(CorrelationId);
|
|
|
|
public sealed record RdpPointerWheelEvent(
|
|
string CorrelationId,
|
|
int Delta,
|
|
bool Horizontal,
|
|
double NormalizedX,
|
|
double NormalizedY) : RdpInputEvent(CorrelationId);
|