diff options
author | ToolsDevler <info@toolsdevler.net> | 2020-11-17 18:34:31 +0300 |
---|---|---|
committer | ToolsDevler <info@toolsdevler.net> | 2020-12-31 03:03:24 +0300 |
commit | ab61c28670f012e84ab946a05d6e4c1ed65771d6 (patch) | |
tree | 217c2376b686886551b512c28f34ad24fd0ee438 | |
parent | 5b918b21839e4d5eaf643a36bd450a7c74541cd9 (diff) |
WIP: Seperate module and plugin implementation
-rw-r--r-- | src/remmina_plugin_python_module.c | 389 | ||||
-rw-r--r-- | src/remmina_plugin_python_remmina.c | 953 | ||||
-rw-r--r-- | src/remmina_plugin_python_remmina.h | 771 |
3 files changed, 2082 insertions, 31 deletions
diff --git a/src/remmina_plugin_python_module.c b/src/remmina_plugin_python_module.c index 1e2c3d7e5..917bbb815 100644 --- a/src/remmina_plugin_python_module.c +++ b/src/remmina_plugin_python_module.c @@ -119,37 +119,6 @@ typedef struct { } PyPlugin; -/** - * @brief Wraps the log_printf function of RemminaPluginService. - * - * @details This function is only called by the Python engine! There is only one argument - * since Python offers an inline string formatting which renders any formatting capabilities - * redundant. - * - * @param self Is always NULL since it is a static function of the 'remmina' module - * @param msg The message to print. - */ -static PyObject* remmina_plugin_python_log_printf_wrapper(PyObject* self, PyObject* msg); - -/** - * @brief Accepts an instance of a Python class representing a Remmina plugin. - * - * @details This function is only called by the Python engine! - * - * @param self Is always NULL since it is a static function of the 'remmina' module - * @param plugin An instance of a Python plugin class. - */ -static PyObject* remmina_plugin_python_register_plugin(PyObject* self, PyObject* plugin); - -/** - * @brief Retrieves the viewport of the current connection window if available. - * - * @details This function is only called by the Python engine! - * - * @param self Is always NULL since it is a static function of the 'remmina' module - * @param plugin The handle to retrieve the RemminaConnectionWidget - */ -static PyObject* remmina_plugin_python_get_viewport(PyObject* self, PyObject* handle); /** * @brief Initializes the 'remmina' module @@ -157,6 +126,7 @@ static PyObject* remmina_plugin_python_get_viewport(PyObject* self, PyObject* ha */ PyMODINIT_FUNC remmina_plugin_python_module_initialize(void); + /** * @brief The functions of the remmina module. * @@ -168,6 +138,82 @@ static PyMethodDef remmina_python_module_type_methods[] = { {"register_plugin", (PyCFunction)remmina_plugin_python_register_plugin, METH_O, NULL }, {"log_print", (PyCFunction)remmina_plugin_python_log_printf_wrapper, METH_VARARGS, NULL }, {"get_viewport", (PyCFunction)remmina_plugin_python_get_viewport, METH_O, NULL }, + {"get_viewport", (PyCFunction)remmina_plugin_manager_register_plugin_wrapper}, + {"protocol_widget_get_width", (PyCFunction)remmina_protocol_widget_get_width_wrapper}, + {"protocol_widget_set_width", (PyCFunction)remmina_protocol_widget_set_width_wrapper}, + {"protocol_widget_get_height", (PyCFunction)remmina_protocol_widget_get_height_wrapper}, + {"protocol_widget_set_height", (PyCFunction)remmina_protocol_widget_set_height_wrapper}, + {"protocol_widget_get_current_scale_mode", (PyCFunction)remmina_protocol_widget_get_current_scale_mode_wrapper}, + {"protocol_widget_get_expand", (PyCFunction)remmina_protocol_widget_get_expand_wrapper}, + {"protocol_widget_set_expand", (PyCFunction)remmina_protocol_widget_set_expand_wrapper}, + {"protocol_widget_has_error", (PyCFunction)remmina_protocol_widget_has_error_wrapper}, + {"protocol_widget_set_error", (PyCFunction)remmina_protocol_widget_set_error_wrapper}, + {"protocol_widget_is_closed", (PyCFunction)remmina_protocol_widget_is_closed_wrapper}, + {"protocol_widget_get_file", (PyCFunction)remmina_protocol_widget_get_file_wrapper}, + {"protocol_widget_emit_signal", (PyCFunction)remmina_protocol_widget_emit_signal_wrapper}, + {"protocol_widget_register_hostkey", (PyCFunction)remmina_protocol_widget_register_hostkey_wrapper}, + {"protocol_widget_start_direct_tunnel", (PyCFunction)remmina_protocol_widget_start_direct_tunnel_wrapper}, + {"protocol_widget_start_reverse_tunnel", (PyCFunction)remmina_protocol_widget_start_reverse_tunnel_wrapper}, + {"protocol_widget_start_xport_tunnel", (PyCFunction)remmina_protocol_widget_start_xport_tunnel_wrapper}, + {"protocol_widget_set_display", (PyCFunction)remmina_protocol_widget_set_display_wrapper}, + {"protocol_widget_signal_connection_closed", (PyCFunction)remmina_protocol_widget_signal_connection_closed_wrapper}, + {"protocol_widget_signal_connection_opened", (PyCFunction)remmina_protocol_widget_signal_connection_opened_wrapper}, + {"protocol_widget_update_align", (PyCFunction)remmina_protocol_widget_update_align_wrapper}, + {"protocol_widget_unlock_dynres", (PyCFunction)remmina_protocol_widget_unlock_dynres_wrapper}, + {"protocol_widget_desktop_resize", (PyCFunction)remmina_protocol_widget_desktop_resize_wrapper}, + {"protocol_widget_panel_auth", (PyCFunction)remmina_protocol_widget_panel_auth_wrapper}, + {"protocol_widget_panel_new_certificate", (PyCFunction)remmina_protocol_widget_panel_new_certificate_wrapper}, + {"protocol_widget_panel_changed_certificate", (PyCFunction)remmina_protocol_widget_panel_changed_certificate_wrapper}, + {"protocol_widget_get_username", (PyCFunction)remmina_protocol_widget_get_username_wrapper}, + {"protocol_widget_get_password", (PyCFunction)remmina_protocol_widget_get_password_wrapper}, + {"protocol_widget_get_domain", (PyCFunction)remmina_protocol_widget_get_domain_wrapper}, + {"protocol_widget_get_savepassword", (PyCFunction)remmina_protocol_widget_get_savepassword_wrapper}, + {"protocol_widget_panel_authx509", (PyCFunction)remmina_protocol_widget_panel_authx509_wrapper}, + {"protocol_widget_get_cacert", (PyCFunction)remmina_protocol_widget_get_cacert_wrapper}, + {"protocol_widget_get_cacrl", (PyCFunction)remmina_protocol_widget_get_cacrl_wrapper}, + {"protocol_widget_get_clientcert", (PyCFunction)remmina_protocol_widget_get_clientcert_wrapper}, + {"protocol_widget_get_clientkey", (PyCFunction)remmina_protocol_widget_get_clientkey_wrapper}, + {"protocol_widget_save_cred", (PyCFunction)remmina_protocol_widget_save_cred_wrapper}, + {"protocol_widget_panel_show_listen", (PyCFunction)remmina_protocol_widget_panel_show_listen_wrapper}, + {"protocol_widget_panel_show_retry", (PyCFunction)remmina_protocol_widget_panel_show_retry_wrapper}, + {"protocol_widget_panel_show", (PyCFunction)remmina_protocol_widget_panel_show_wrapper}, + {"protocol_widget_panel_hide", (PyCFunction)remmina_protocol_widget_panel_hide_wrapper}, + {"protocol_widget_ssh_exec", (PyCFunction)remmina_protocol_widget_ssh_exec_wrapper}, + {"protocol_widget_chat_open", (PyCFunction)remmina_protocol_widget_chat_open_wrapper}, + {"protocol_widget_chat_close", (PyCFunction)remmina_protocol_widget_chat_close_wrapper}, + {"protocol_widget_chat_receive", (PyCFunction)remmina_protocol_widget_chat_receive_wrapper}, + {"protocol_widget_send_keys_signals", (PyCFunction)remmina_protocol_widget_send_keys_signals_wrapper}, + + {"get_datadir", (PyCFunction)remmina_file_get_datadir_wrapper}, + + {"file_new", (PyCFunction)remmina_file_new_wrapper}, + {"file_get_filename", (PyCFunction)remmina_file_get_filename_wrapper}, + {"file_set_string", (PyCFunction)remmina_file_set_string_wrapper}, + {"file_get_string", (PyCFunction)remmina_file_get_string_wrapper}, + {"file_get_secret", (PyCFunction)remmina_file_get_secret_wrapper}, + {"file_set_int", (PyCFunction)remmina_file_set_int_wrapper}, + {"file_get_int", (PyCFunction)remmina_file_get_int_wrapper}, + {"file_unsave_passwords", (PyCFunction)remmina_file_unsave_passwords_wrapper}, + + {"pref_set_value", (PyCFunction)remmina_pref_set_value_wrapper}, + {"pref_get_value", (PyCFunction)remmina_pref_get_value_wrapper}, + {"pref_get_scale_quality", (PyCFunction)remmina_pref_get_scale_quality_wrapper}, + {"pref_get_sshtunnel_port", (PyCFunction)remmina_pref_get_sshtunnel_port_wrapper}, + {"pref_get_ssh_loglevel", (PyCFunction)remmina_pref_get_ssh_loglevel_wrapper}, + {"pref_get_ssh_parseconfig", (PyCFunction)remmina_pref_get_ssh_parseconfig_wrapper}, + {"pref_keymap_get_keyval", (PyCFunction)remmina_pref_keymap_get_keyval_wrapper}, + + {"log_print", (PyCFunction)remmina_log_print_wrapper}, + {"log_printf", (PyCFunction)remmina_log_printf_wrapper}, + + {"widget_pool_register", (PyCFunction)remmina_widget_pool_register_wrapper}, + + {"rcw_open_from_file_full", (PyCFunction)rcw_open_from_file_full_wrapper }, + {"public_get_server_port", (PyCFunction)remmina_public_get_server_port_wrapper}, + {"masterthread_exec_is_main_thread", (PyCFunction)remmina_masterthread_exec_is_main_thread_wrapper}, + {"gtksocket_available", (PyCFunction)remmina_gtksocket_available_wrapper}, + {"protocol_widget_get_profile_remote_width", (PyCFunction)remmina_protocol_widget_get_profile_remote_width_wrapper}, + {"protocol_widget_get_profile_remote_heigh", (PyCFunction)remmina_protocol_widget_get_profile_remote_heigh_wrapper}t {NULL} /* Sentinel */ }; @@ -437,4 +483,285 @@ static PyObject* remmina_plugin_python_register_plugin(PyObject* self, PyObject* } return Py_None; +} + +static PyObject* remmina_plugin_manager_register_plugin_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_get_width_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_set_width_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_get_height_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_set_height_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_get_current_scale_mode_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_get_expand_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_set_expand_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_has_error_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_set_error_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_is_closed_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_get_file_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_emit_signal_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_register_hostkey_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_start_direct_tunnel_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_start_reverse_tunnel_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_start_xport_tunnel_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_set_display_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_signal_connection_closed_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_signal_connection_opened_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_update_align_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_unlock_dynres_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_desktop_resize_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_panel_auth_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_panel_new_certificate_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_panel_changed_certificate_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_get_username_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_get_password_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_get_domain_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_get_savepassword_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_panel_authx509_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_get_cacert_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_get_cacrl_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_get_clientcert_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_get_clientkey_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_save_cred_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_panel_show_listen_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_panel_show_retry_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_panel_show_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_panel_hide_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_ssh_exec_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_chat_open_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_chat_close_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_chat_receive_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_send_keys_signals_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_file_get_datadir_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_file_new_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_file_get_filename_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_file_set_string_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_file_get_string_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_file_get_secret_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_file_set_int_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_file_get_int_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_file_unsave_passwords_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_pref_set_value_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_pref_get_value_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_pref_get_scale_quality_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_pref_get_sshtunnel_port_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_pref_get_ssh_loglevel_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_pref_get_ssh_parseconfig_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_pref_keymap_get_keyval_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_log_print_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_log_printf_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_widget_pool_register_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* rcw_open_from_file_full_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_public_get_server_port_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_masterthread_exec_is_main_thread_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_gtksocket_available_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_get_profile_remote_heigh_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; +} +static PyObject* remmina_protocol_widget_get_profile_remote_width_wrapper(PyObject* self, PyObject* arg) +{ + return Py_None; }
\ No newline at end of file diff --git a/src/remmina_plugin_python_remmina.c b/src/remmina_plugin_python_remmina.c new file mode 100644 index 000000000..26f4d1c1c --- /dev/null +++ b/src/remmina_plugin_python_remmina.c @@ -0,0 +1,953 @@ +#include "remmina_plugin_python_remmina.h" +#include <Python.h> + +/** + * @brief Wraps the log_printf function of RemminaPluginService. + * + * @details This function is only called by the Python engine! There is only one argument + * since Python offers an inline string formatting which renders any formatting capabilities + * redundant. + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param msg The message to print. + */ +static PyObject* remmina_plugin_python_log_printf_wrapper(PyObject* self, PyObject* msg) +{ + return Py_None; +} + +/** + * @brief Accepts an instance of a Python class representing a Remmina plugin. + * + * @details This function is only called by the Python engine! + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin An instance of a Python plugin class. + */ +static PyObject* remmina_plugin_python_register_plugin(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief Retrieves the viewport of the current connection window if available. + * + * @details This function is only called by the Python engine! + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_plugin_python_get_viewport(PyObject* self, PyObject* handle) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_plugin_manager_register_plugin_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_width_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_set_width_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_height_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_set_height_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_current_scale_mode_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_expand_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_set_expand_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_has_error_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_set_error_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_is_closed_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_file_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_emit_signal_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_register_hostkey_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_start_direct_tunnel_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_start_reverse_tunnel_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_start_xport_tunnel_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_set_display_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_signal_connection_closed_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_signal_connection_opened_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_update_align_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_unlock_dynres_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_desktop_resize_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_panel_auth_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_panel_new_certificate_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_panel_changed_certificate_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_username_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_password_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_domain_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_savepassword_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_panel_authx509_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_cacert_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_cacrl_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_clientcert_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_clientkey_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_save_cred_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_panel_show_listen_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_panel_show_retry_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_panel_show_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_panel_hide_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_ssh_exec_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_chat_open_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_chat_close_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_chat_receive_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_send_keys_signals_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_get_datadir_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_new_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_get_filename_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_set_string_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_get_string_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_get_secret_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_set_int_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_get_int_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_unsave_passwords_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_pref_set_value_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_pref_get_value_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_pref_get_scale_quality_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_pref_get_sshtunnel_port_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_pref_get_ssh_loglevel_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_pref_get_ssh_parseconfig_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_pref_keymap_get_keyval_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_log_print_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_log_printf_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_widget_pool_register_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* rcw_open_from_file_full_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_public_get_server_port_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_masterthread_exec_is_main_thread_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_gtksocket_available_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_profile_remote_heigh_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_profile_remote_width_wrapper(PyObject* self, PyObject* plugin) +{ + return Py_None; +} diff --git a/src/remmina_plugin_python_remmina.h b/src/remmina_plugin_python_remmina.h new file mode 100644 index 000000000..ed5e1010a --- /dev/null +++ b/src/remmina_plugin_python_remmina.h @@ -0,0 +1,771 @@ +/* + * Remmina - The GTK+ Remote Desktop Client + * Copyright (C) 2010 Vic Lee + * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo + * Copyright (C) 2016-2020 Antenore Gatta, Giovanni Panozzo + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + * In addition, as a special exception, the copyright holders give + * permission to link the code of portions of this program with the + * OpenSSL library under certain conditions as described in each + * individual source file, and distribute linked combinations + * including the two. + * You must obey the GNU General Public License in all respects + * for all of the code used other than OpenSSL. * If you modify + * file(s) with this exception, you may extend this exception to your + * version of the file(s), but you are not obligated to do so. * If you + * do not wish to do so, delete this exception statement from your + * version. * If you delete this exception statement from all source + * files in the program, then also delete it here. + * + */ + +#pragma once + +#include <Python.h> + +/** + * @brief Wraps the log_printf function of RemminaPluginService. + * + * @details This function is only called by the Python engine! There is only one argument + * since Python offers an inline string formatting which renders any formatting capabilities + * redundant. + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param msg The message to print. + */ +static PyObject* remmina_plugin_python_log_printf_wrapper(PyObject* self, PyObject* msg); + +/** + * @brief Accepts an instance of a Python class representing a Remmina plugin. + * + * @details This function is only called by the Python engine! + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin An instance of a Python plugin class. + */ +static PyObject* remmina_plugin_python_register_plugin(PyObject* self, PyObject* plugin); + +/** + * @brief Retrieves the viewport of the current connection window if available. + * + * @details This function is only called by the Python engine! + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_plugin_python_get_viewport(PyObject* self, PyObject* handle); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_plugin_manager_register_plugin_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_width_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_set_width_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_height_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_set_height_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_current_scale_mode_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_expand_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_set_expand_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_has_error_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_set_error_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_is_closed_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_file_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_emit_signal_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_register_hostkey_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_start_direct_tunnel_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_start_reverse_tunnel_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_start_xport_tunnel_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_set_display_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_signal_connection_closed_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_signal_connection_opened_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_update_align_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_unlock_dynres_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_desktop_resize_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_panel_auth_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_panel_new_certificate_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_panel_changed_certificate_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_username_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_password_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_domain_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_savepassword_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_panel_authx509_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_cacert_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_cacrl_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_clientcert_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_clientkey_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_save_cred_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_panel_show_listen_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_panel_show_retry_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_panel_show_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_panel_hide_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_ssh_exec_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_chat_open_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_chat_close_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_chat_receive_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_send_keys_signals_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_get_datadir_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_new_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_get_filename_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_set_string_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_get_string_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_get_secret_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_set_int_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_get_int_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_file_unsave_passwords_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_pref_set_value_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_pref_get_value_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_pref_get_scale_quality_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_pref_get_sshtunnel_port_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_pref_get_ssh_loglevel_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_pref_get_ssh_parseconfig_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_pref_keymap_get_keyval_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_log_print_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_log_printf_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_widget_pool_register_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* rcw_open_from_file_full_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_public_get_server_port_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_masterthread_exec_is_main_thread_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_gtksocket_available_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_profile_remote_heigh_wrapper(PyObject* self, PyObject* plugin); + +/** + * @brief + * + * @details + * + * @param self Is always NULL since it is a static function of the 'remmina' module + * @param plugin The handle to retrieve the RemminaConnectionWidget + */ +static PyObject* remmina_protocol_widget_get_profile_remote_width_wrapper(PyObject* self, PyObject* plugin); |