3using System.Threading.Tasks;
 
   35        private readonly 
string sessionId;
 
   36        private readonly 
string remoteJid;
 
   40        private string deviceName = 
string.Empty;
 
   41        private int bitsPerPixel = 0;
 
   44        private int width = 0;
 
   45        private int height = 0;
 
   46        private int tileSize = 0;
 
   83            if (this.state != value)
 
  101            internal set => this.screens = value;
 
  109            get => this.bitsPerPixel;
 
  110            internal set => this.bitsPerPixel = value;
 
  119            internal set => this.left = value;
 
  128            internal set => this.top = value;
 
  137            internal set => this.width = value;
 
  146            internal set => this.height = value;
 
  154            get => this.tileSize;
 
  155            internal set => this.tileSize = value;
 
  163            get => this.deviceName;
 
  164            internal set => this.deviceName = value;
 
  167        internal void UpdateTile(
int X, 
int Y, 
string TileBase64)
 
  177        internal Task ScanCompleted()
 
  194            StringBuilder Xml = 
new StringBuilder();
 
  196            Xml.Append(
"<mouseMoved xmlns='");
 
  198            Xml.Append(
"' sid='");
 
  201            Xml.Append(X.ToString());
 
  203            Xml.Append(Y.ToString());
 
  206            this.SendMessage(Xml.ToString());
 
  209        private Task SendMessage(
string Xml)
 
  212                string.Empty, 
this.remoteJid, Xml, 
string.Empty, 
string.Empty, 
string.Empty, 
string.Empty, 
string.Empty, 
null, 
null);
 
  223            StringBuilder Xml = 
new StringBuilder();
 
  225            Xml.Append(
"<mouseDown xmlns='");
 
  227            Xml.Append(
"' sid='");
 
  230            Xml.Append(X.ToString());
 
  232            Xml.Append(Y.ToString());
 
  234            Xml.Append(Button.ToString());
 
  237            this.SendMessage(Xml.ToString());
 
  248            StringBuilder Xml = 
new StringBuilder();
 
  250            Xml.Append(
"<mouseUp xmlns='");
 
  252            Xml.Append(
"' sid='");
 
  255            Xml.Append(X.ToString());
 
  257            Xml.Append(Y.ToString());
 
  259            Xml.Append(Button.ToString());
 
  262            this.SendMessage(Xml.ToString());
 
  273            StringBuilder Xml = 
new StringBuilder();
 
  275            Xml.Append(
"<mouseWheel xmlns='");
 
  277            Xml.Append(
"' sid='");
 
  280            Xml.Append(X.ToString());
 
  282            Xml.Append(Y.ToString());
 
  284            Xml.Append(Delta.ToString());
 
  287            this.SendMessage(Xml.ToString());
 
  296            StringBuilder Xml = 
new StringBuilder();
 
  298            Xml.Append(
"<keyDown xmlns='");
 
  300            Xml.Append(
"' sid='");
 
  302            Xml.Append(
"' key='");
 
  303            Xml.Append(KeyCode.ToString());
 
  306            this.SendMessage(Xml.ToString());
 
  315            StringBuilder Xml = 
new StringBuilder();
 
  317            Xml.Append(
"<keyUp xmlns='");
 
  319            Xml.Append(
"' sid='");
 
  321            Xml.Append(
"' key='");
 
  322            Xml.Append(KeyCode.ToString());
 
  325            this.SendMessage(Xml.ToString());
 
Helps with common XML-related tasks.
static string Encode(string s)
Encodes a string for use in XML.
const string RemoteDesktopNamespace
http://waher.se/rdp/1.0
Maintains the client-side state of a Remote Desktop Session.
RemoteDesktopSessionState State
Session state changed.
string DeviceName
Name of device
EventHandler< TileEventArgs > TileUpdated
Event raised when a tile on the remote desktop has been updated.
void KeyDown(int KeyCode)
Reports a key having been pressed.
int Height
Height of screen
void MouseDown(int X, int Y, MouseButton Button)
Reports the mouse having been pressed down.
EventHandlerAsync StateChanged
Event raised when state has been changed.
RemoteDesktopSession(string SessionId, string RemoteJid, RemoteDesktopClient Client)
Maintains the client-side state of a Remote Desktop Session.
int BitsPerPixel
Bits per pixel.
void MouseUp(int X, int Y, MouseButton Button)
Reports the mouse having been released up.
RemoteDesktopClient Client
Remote Desktop Client
void MouseMoved(int X, int Y)
Reports the mouse having moved to a given position.
string RemoteJid
Remote JID
ScreenInfo[] Screens
Available remote screens.
EventHandlerAsync ScanComplete
Event raised when the screen has been successfully scanned and transferred.
void MouseWheel(int X, int Y, int Delta)
Reports the mouse wheel having been turned.
string SessionId
Session ID
void KeyUp(int KeyCode)
Reports a key having been released.
Information about a remote screen.
Event arguments for tile events.
delegate Task EventHandlerAsync(object Sender, EventArgs e)
Asynchronous version of EventArgs.
RemoteDesktopSessionState
State of a Remote Desktop Session
MouseButton
Enumeration identifying mouse button being used.
QoSLevel
Quality of Service Level for asynchronous messages. Support for QoS Levels must be supported by the r...
MessageType
Type of message received.
E2ETransmission
End-to-end encryption mode.