GUACAMOLE-1538: Improve code style and cleanliness.

This commit is contained in:
James Muehlner 2022-02-22 20:37:42 -08:00
parent 6dd33a8d90
commit ce2ffdf75f
12 changed files with 58 additions and 56 deletions

View File

@ -54,8 +54,8 @@ int guac_kubernetes_argv_callback(guac_user* user, const char* mimetype,
/* Update Kubernetes terminal size */
guac_kubernetes_resize(client,
guac_terminal_term_height(terminal),
guac_terminal_term_width(terminal));
guac_terminal_get_rows(terminal),
guac_terminal_get_columns(terminal));
return 0;

View File

@ -87,8 +87,8 @@ int guac_kubernetes_user_size_handler(guac_user* user, int width, int height) {
/* Update Kubernetes terminal window size if connected */
guac_kubernetes_resize(client,
guac_terminal_term_height(terminal),
guac_terminal_term_width(terminal));
guac_terminal_get_rows(terminal),
guac_terminal_get_columns(terminal));
return 0;
}

View File

@ -241,7 +241,7 @@ void* guac_kubernetes_client_thread(void* data) {
/* Create terminal options with required parameters */
guac_terminal_options* options = guac_terminal_options_create(
client, settings->width, settings->height, settings->resolution);
settings->width, settings->height, settings->resolution);
/* Set optional parameters */
options->disable_copy = settings->disable_copy;
@ -252,7 +252,7 @@ void* guac_kubernetes_client_thread(void* data) {
options->backspace = settings->backspace;
/* Create terminal */
kubernetes_client->term = guac_terminal_create(options);
kubernetes_client->term = guac_terminal_create(client, options);
/* Free options struct now that it's been used */
free(options);
@ -413,8 +413,8 @@ void guac_kubernetes_force_redraw(guac_client* client) {
/* Get current terminal dimensions */
guac_terminal* term = kubernetes_client->term;
int rows = guac_terminal_term_height(term);
int columns = guac_terminal_term_width(term);
int rows = guac_terminal_get_rows(term);
int columns = guac_terminal_get_columns(term);
/* Force a redraw by increasing the terminal size by one character in
* each dimension and then resizing it back to normal (the same technique

View File

@ -54,8 +54,8 @@ int guac_ssh_argv_callback(guac_user* user, const char* mimetype,
}
/* Update SSH pty size if connected */
int term_width = guac_terminal_term_width(terminal);
int term_height = guac_terminal_term_height(terminal);
int term_width = guac_terminal_get_columns(terminal);
int term_height = guac_terminal_get_rows(terminal);
if (ssh_client->term_channel != NULL) {
pthread_mutex_lock(&(ssh_client->term_channel_lock));
libssh2_channel_request_pty_size(ssh_client->term_channel,

View File

@ -88,8 +88,8 @@ int guac_ssh_user_size_handler(guac_user* user, int width, int height) {
if (ssh_client->term_channel != NULL) {
pthread_mutex_lock(&(ssh_client->term_channel_lock));
libssh2_channel_request_pty_size(ssh_client->term_channel,
guac_terminal_term_width(terminal),
guac_terminal_term_height(terminal));
guac_terminal_get_columns(terminal),
guac_terminal_get_rows(terminal));
pthread_mutex_unlock(&(ssh_client->term_channel_lock));
}

View File

@ -240,7 +240,7 @@ void* ssh_client_thread(void* data) {
/* Create terminal options with required parameters */
guac_terminal_options* options = guac_terminal_options_create(
client, settings->width, settings->height, settings->resolution);
settings->width, settings->height, settings->resolution);
/* Set optional parameters */
options->disable_copy = settings->disable_copy;
@ -251,7 +251,7 @@ void* ssh_client_thread(void* data) {
options->backspace = settings->backspace;
/* Create terminal */
ssh_client->term = guac_terminal_create(options);
ssh_client->term = guac_terminal_create(client, options);
/* Free options struct now that it's been used */
free(options);
@ -377,8 +377,8 @@ void* ssh_client_thread(void* data) {
" Backspace may not work as expected.");
/* Request PTY */
int term_height = guac_terminal_term_height(ssh_client->term);
int term_width = guac_terminal_term_width(ssh_client->term);
int term_height = guac_terminal_get_rows(ssh_client->term);
int term_width = guac_terminal_get_columns(ssh_client->term);
if (libssh2_channel_request_pty_ex(ssh_client->term_channel,
settings->terminal_type, strlen(settings->terminal_type),
ssh_ttymodes, ttymodeBytes, term_width, term_height, 0, 0)) {

View File

@ -55,8 +55,8 @@ int guac_telnet_argv_callback(guac_user* user, const char* mimetype,
/* Update terminal window size if connected */
if (telnet_client->telnet != NULL && telnet_client->naws_enabled)
guac_telnet_send_naws(telnet_client->telnet,
guac_terminal_term_width(terminal),
guac_terminal_term_height(terminal));
guac_terminal_get_columns(terminal),
guac_terminal_get_rows(terminal));
return 0;

View File

@ -136,8 +136,8 @@ int guac_telnet_user_size_handler(guac_user* user, int width, int height) {
/* Update terminal window size if connected */
if (telnet_client->telnet != NULL && telnet_client->naws_enabled)
guac_telnet_send_naws(telnet_client->telnet,
guac_terminal_term_width(terminal),
guac_terminal_term_height(terminal));
guac_terminal_get_columns(terminal),
guac_terminal_get_rows(terminal));
return 0;
}

View File

@ -303,8 +303,8 @@ static void __guac_telnet_event_handler(telnet_t* telnet, telnet_event_t* event,
if (event->neg.telopt == TELNET_TELOPT_NAWS) {
telnet_client->naws_enabled = 1;
guac_telnet_send_naws(telnet,
guac_terminal_term_width(telnet_client->term),
guac_terminal_term_height(telnet_client->term));
guac_terminal_get_columns(telnet_client->term),
guac_terminal_get_rows(telnet_client->term));
}
break;
@ -589,7 +589,7 @@ void* guac_telnet_client_thread(void* data) {
/* Create terminal options with required parameters */
guac_terminal_options* options = guac_terminal_options_create(
client, settings->width, settings->height, settings->resolution);
settings->width, settings->height, settings->resolution);
/* Set optional parameters */
options->disable_copy = settings->disable_copy;
@ -600,7 +600,7 @@ void* guac_telnet_client_thread(void* data) {
options->backspace = settings->backspace;
/* Create terminal */
telnet_client->term = guac_terminal_create(options);
telnet_client->term = guac_terminal_create(client, options);
/* Free options struct now that it's been used */
free(options);

View File

@ -190,11 +190,11 @@ int guac_terminal_available_scroll(guac_terminal* term) {
return guac_terminal_effective_buffer_length(term) - term->term_height;
}
int guac_terminal_term_height(guac_terminal* term) {
int guac_terminal_get_rows(guac_terminal* term) {
return term->term_height;
}
int guac_terminal_term_width(guac_terminal* term) {
int guac_terminal_get_columns(guac_terminal* term) {
return term->term_width;
}
@ -315,14 +315,12 @@ void* guac_terminal_thread(void* data) {
}
guac_terminal_options* guac_terminal_options_create(guac_client* client,
guac_terminal_options* guac_terminal_options_create(
int width, int height, int dpi) {
guac_terminal_options* options = malloc(sizeof(guac_terminal_options));
/* Set all required parameters */
options->client = client;
options->width = width;
options->height = height;
options->dpi = dpi;
@ -338,7 +336,8 @@ guac_terminal_options* guac_terminal_options_create(guac_client* client,
return options;
}
guac_terminal* guac_terminal_create(guac_terminal_options* options) {
guac_terminal* guac_terminal_create(guac_client* client,
guac_terminal_options* options) {
/* The width and height may need to be changed from what's requested */
int width = options->width;
@ -360,7 +359,7 @@ guac_terminal* guac_terminal_create(guac_terminal_options* options) {
guac_terminal_color (*default_palette)[256] = (guac_terminal_color(*)[256])
malloc(sizeof(guac_terminal_color[256]));
guac_terminal_parse_color_scheme(options->client, options->color_scheme,
guac_terminal_parse_color_scheme(client, options->color_scheme,
&default_char.attributes.foreground,
&default_char.attributes.background,
default_palette);
@ -372,7 +371,7 @@ guac_terminal* guac_terminal_create(guac_terminal_options* options) {
guac_terminal* term = malloc(sizeof(guac_terminal));
term->started = false;
term->client = options->client;
term->client = client;
term->upload_path_handler = NULL;
term->file_download_handler = NULL;
@ -405,7 +404,7 @@ guac_terminal* guac_terminal_create(guac_terminal_options* options) {
&default_char);
/* Init display */
term->display = guac_terminal_display_alloc(options->client,
term->display = guac_terminal_display_alloc(client,
options->font_name, options->font_size, options->dpi,
&default_char.attributes.foreground,
&default_char.attributes.background,
@ -413,13 +412,13 @@ guac_terminal* guac_terminal_create(guac_terminal_options* options) {
/* Fail if display init failed */
if (term->display == NULL) {
guac_client_log(options->client, GUAC_LOG_DEBUG, "Display initialization failed");
guac_client_log(client, GUAC_LOG_DEBUG, "Display initialization failed");
free(term);
return NULL;
}
/* Init common cursor */
term->cursor = guac_common_cursor_alloc(options->client);
term->cursor = guac_common_cursor_alloc(client);
/* Init terminal state */
term->current_attributes = default_char.attributes;

View File

@ -167,11 +167,6 @@ typedef guac_stream* guac_terminal_file_download_handler(guac_client* client, ch
*/
typedef struct guac_terminal_options {
/**
* The client to which the terminal will be rendered.
*/
guac_client* client;
/**
* Whether copying from the terminal clipboard should be blocked. If set,
* the contents of the terminal can still be copied, but will be usable
@ -242,6 +237,9 @@ typedef struct guac_terminal_options {
* either the underlying connection has truly succeeded, or until visible
* terminal output or user input is required.
*
* @param client
* The client to which the terminal will be rendered.
*
* @param terminal_options
* The configuration used for instantiating the terminal. For information
* about the options, see the guac_terminal_options definition.
@ -250,7 +248,8 @@ typedef struct guac_terminal_options {
* A new guac_terminal having the given font, dimensions, and attributes
* which renders all text to the given client.
*/
guac_terminal* guac_terminal_create(guac_terminal_options* terminal_options);
guac_terminal* guac_terminal_create(guac_client* client,
guac_terminal_options* terminal_options);
/**
* Create a new guac_terminal_options struct. All parameters are required.
@ -260,9 +259,6 @@ guac_terminal* guac_terminal_create(guac_terminal_options* terminal_options);
* The guac_terminal_options struct should only be created using this
* constructor.
*
* @param guac_client
* The client to which the terminal will be rendered.
*
* @param width
* The width of the terminal, in pixels.
*
@ -277,7 +273,7 @@ guac_terminal* guac_terminal_create(guac_terminal_options* terminal_options);
* A new terminal options struct with all required options populated,
* ready to have any defaults overriden as needed.
*/
guac_terminal_options* guac_terminal_options_create(guac_client* client,
guac_terminal_options* guac_terminal_options_create(
int width, int height, int dpi);
/**
@ -533,7 +529,7 @@ int guac_terminal_available_scroll(guac_terminal* term);
* @return
* The height of the terminal, in characters.
*/
int guac_terminal_term_height(guac_terminal* term);
int guac_terminal_get_rows(guac_terminal* term);
/**
* Returns the width of the given terminal, in characters.
@ -544,14 +540,16 @@ int guac_terminal_term_height(guac_terminal* term);
* @return
* The width of the terminal, in characters.
*/
int guac_terminal_term_width(guac_terminal* term);
int guac_terminal_get_columns(guac_terminal* term);
/**
* Clears the clipboard contents for a given terminal, and assigns a new
* mimetype for future data.
*
* @param terminal The terminal whose clipboard is being reset.
* @param mimetype The mimetype of future data.
* @param terminal
* The terminal whose clipboard is being reset.
* @param mimetype
* The mimetype of future data.
*/
void guac_terminal_clipboard_reset(guac_terminal* terminal,
const char* mimetype);
@ -561,9 +559,12 @@ void guac_terminal_clipboard_reset(guac_terminal* terminal,
* terminal. The data must match the mimetype chosen for the clipboard data by
* guac_terminal_clipboard_reset().
*
* @param terminal The terminal whose clipboard is being appended to.
* @param data The data to append.
* @param length The number of bytes to append from the data given.
* @param terminal
* The terminal whose clipboard is being appended to.
* @param data
* The data to append.
* @param length
* The number of bytes to append from the data given.
*/
void guac_terminal_clipboard_append(guac_terminal* terminal,
const char* data, int length);
@ -573,8 +574,10 @@ void guac_terminal_clipboard_append(guac_terminal* terminal,
* given terminal. This function must be called whenever a user leaves a
* terminal connection.
*
* @param terminal The terminal that the given user is leaving.
* @param user The user who is disconnecting.
* @param terminal
* The terminal that the given user is leaving.
* @param user
* The user who is disconnecting.
*/
void guac_terminal_remove_user(guac_terminal* terminal, guac_user* user);

View File

@ -18,8 +18,8 @@
*/
#ifndef _GUAC_TERMINAL_PRIV_H
#define _GUAC_TERMINAL_PRIV_H
#ifndef GUAC_TERMINAL_PRIV_H
#define GUAC_TERMINAL_PRIV_H
#include "common/clipboard.h"
#include "terminal/terminal.h"