Final comments.
authorMichael Jumper <zhangmaike@users.sourceforge.net>
Fri, 4 May 2012 22:41:08 +0000 (15:41 -0700)
committerMichael Jumper <zhangmaike@users.sourceforge.net>
Fri, 4 May 2012 22:41:08 +0000 (15:41 -0700)
include/client.h

index 02c6ab6..ad2d1fa 100644 (file)
 
 #include "rdp_keymap.h"
 
 
 #include "rdp_keymap.h"
 
+/**
+ * The default RDP port.
+ */
 #define RDP_DEFAULT_PORT 3389
 
 #define RDP_DEFAULT_PORT 3389
 
+/**
+ * Client data that will remain accessible through the guac_client.
+ * This should generally include data commonly used by Guacamole handlers.
+ */
 typedef struct rdp_guac_client_data {
 
 typedef struct rdp_guac_client_data {
 
+    /**
+     * Pointer to the FreeRDP client instance handling the current connection.
+     */
     freerdp* rdp_inst;
     freerdp* rdp_inst;
+
+    /**
+     * The settings structure associated with the FreeRDP client instance
+     * handling the current connection.
+     */
     rdpSettings* settings;
 
     rdpSettings* settings;
 
+    /**
+     * Button mask containing the OR'd value of all currently pressed buttons.
+     */
     int mouse_button_mask;
 
     /**
     int mouse_button_mask;
 
     /**
@@ -76,21 +94,55 @@ typedef struct rdp_guac_client_data {
      */
     cairo_t* glyph_cairo;
 
      */
     cairo_t* glyph_cairo;
 
+    /**
+     * The Guacamole layer that GDI operations should draw to. RDP messages
+     * exist which change this surface to allow drawing to occur off-screen.
+     */
     const guac_layer* current_surface;
 
     const guac_layer* current_surface;
 
+    /**
+     * The keymap to use when translating keysyms into scancodes or sequences
+     * of scancodes for RDP.
+     */
     guac_rdp_static_keymap keymap;
 
     guac_rdp_static_keymap keymap;
 
+    /**
+     * The state of all keys, based on whether events for pressing/releasing
+     * particular keysyms have been received. This is necessary in order to
+     * determine which keys must be released/pressed when a particular
+     * keysym can only be typed through a sequence of scancodes (such as
+     * an Alt-code) because the server-side keymap does not support that
+     * keysym.
+     */
     guac_rdp_keysym_state_map keysym_state;
 
     guac_rdp_keysym_state_map keysym_state;
 
+    /**
+     * The current text (NOT Unicode) clipboard contents.
+     */
     char* clipboard;
 
 } rdp_guac_client_data;
 
     char* clipboard;
 
 } rdp_guac_client_data;
 
+/**
+ * Client data that will remain accessible through the RDP context.
+ * This should generally include data commonly used by FreeRDP handlers.
+ */
 typedef struct rdp_freerdp_context {
 
 typedef struct rdp_freerdp_context {
 
+    /**
+     * The parent context. THIS MUST BE THE FIRST ELEMENT.
+     */
     rdpContext _p;
 
     rdpContext _p;
 
+    /**
+     * Pointer to the guac_client instance handling the RDP connection with
+     * this context.
+     */
     guac_client* client;
     guac_client* client;
+
+    /**
+     * Color conversion structure to be used to convert RDP images to PNGs.
+     */
     CLRCONV* clrconv;
 
 } rdp_freerdp_context;
     CLRCONV* clrconv;
 
 } rdp_freerdp_context;