Welcome to mirror list, hosted at ThFree Co, Russian Federation.

remmina__plugin__manager_8c_source.html « docs - gitlab.com/Remmina/remminadoc.gitlab.io.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 824bc5127c6fd6f0038683497545e95afe6f1980 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Remmina - The GTK+ Remote Desktop Client: remmina_plugin_manager.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="org.remmina.Remmina.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Remmina - The GTK+ Remote Desktop Client
   &#160;<span id="projectnumber">v1.4.2</span>
   </div>
   <div id="projectbrief">Remmina is a remote desktop client written in GTK+, aiming to be useful for system administrators and travellers, who need to work with lots of remote computers in front of either large monitors or tiny netbooks. Remmina supports multiple network protocols in an integrated and consistent user interface. Currently RDP, VNC, NX, XDMCP and SSH are supported.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('remmina__plugin__manager_8c_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">remmina_plugin_manager.c</div>  </div>
</div><!--header-->
<div class="contents">
<a href="remmina__plugin__manager_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2010-2011 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Copyright (C) 2016-2020 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * Boston, MA  02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> *  In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> *  permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> *  OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment"> *  individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment"> *  including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment"> *  You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment"> *  for all of the code used other than OpenSSL. *  If you modify</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment"> *  file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment"> *  version of the file(s), but you are not obligated to do so. *  If you</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment"> *  do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment"> *  version. *  If you delete this exception statement from all source</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment"> *  files in the program, then also delete it here.</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &quot;config.h&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &lt;gtk/gtk.h&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &lt;glib/gi18n.h&gt;</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &lt;gmodule.h&gt;</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &lt;gio/gio.h&gt;</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &lt;gdk/gdkx.h&gt;</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__public_8h.html">remmina_public.h</a>&quot;</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>&quot;</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>&quot;</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__protocol__widget_8h.html">remmina_protocol_widget.h</a>&quot;</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__log_8h.html">remmina_log.h</a>&quot;</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>&quot;</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="rcw_8h.html">rcw.h</a>&quot;</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a>&quot;</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__public_8h.html">remmina_public.h</a>&quot;</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__masterthread__exec_8h.html">remmina_masterthread_exec.h</a>&quot;</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>&quot;</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">   61</a></span>&#160;<span class="keyword">static</span> GPtrArray* <a class="code" href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">remmina_plugin_table</a> = NULL;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">/* A GHashTable of GHashTables where to store the names of the encrypted settings */</span></div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8c.html#a150a4a8a8dcd21a51008250bb38bce49">   64</a></span>&#160;<span class="keyword">static</span> GHashTable *<a class="code" href="remmina__plugin__manager_8c.html#a150a4a8a8dcd21a51008250bb38bce49">encrypted_settings_cache</a> = NULL;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/* There can be only one secret plugin loaded */</span></div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8c.html#a5e79d6abd0b12c1ed2bb33988e41857e">   67</a></span>&#160;<span class="keyword">static</span> <a class="code" href="struct___remmina_secret_plugin.html">RemminaSecretPlugin</a> *<a class="code" href="remmina__plugin__manager_8c.html#a5e79d6abd0b12c1ed2bb33988e41857e">remmina_secret_plugin</a> = NULL;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8c.html#a719ce18a83ed7ecb3388f179a8590c10">   69</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> gchar *<a class="code" href="remmina__plugin__manager_8c.html#a719ce18a83ed7ecb3388f179a8590c10">remmina_plugin_type_name</a>[] =</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;{ <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Protocol&quot;</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Entry&quot;</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;File&quot;</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Tool&quot;</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Preference&quot;</span>), <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Secret&quot;</span>), NULL };</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8c.html#ae78fa0b2eab8c987d810c6997b136d2e">   72</a></span>&#160;<span class="keyword">static</span> gint <a class="code" href="remmina__plugin__manager_8c.html#ae78fa0b2eab8c987d810c6997b136d2e">remmina_plugin_manager_compare_func</a>(<a class="code" href="struct___remmina_plugin.html">RemminaPlugin</a> **a, <a class="code" href="struct___remmina_plugin.html">RemminaPlugin</a> **b)</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;{</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    TRACE_CALL(__func__);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <span class="keywordflow">return</span> g_strcmp0((*a)-&gt;name, (*b)-&gt;name);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;}</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8c.html#a7e75f54171749cfec5c0cbbb1095ed86">   78</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__plugin__manager_8c.html#a7e75f54171749cfec5c0cbbb1095ed86">htdestroy</a>(gpointer ht)</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;{</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    g_hash_table_unref(ht);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;}</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8c.html#a72f0dbafb41acc4a5834f5c0719e6046">   83</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__plugin__manager_8c.html#a72f0dbafb41acc4a5834f5c0719e6046">init_settings_cache</a>(<a class="code" href="struct___remmina_plugin.html">RemminaPlugin</a> *plugin)</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;{</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    TRACE_CALL(__func__);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <a class="code" href="struct___remmina_protocol_plugin.html">RemminaProtocolPlugin</a> *protocol_plugin;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="keyword">const</span> <a class="code" href="struct___remmina_protocol_setting.html">RemminaProtocolSetting</a>* setting_iter;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    GHashTable *pht;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="comment">/* This code make a encrypted setting cache only for protocol plugins */</span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordflow">if</span> (plugin-&gt;<a class="code" href="struct___remmina_plugin.html#ac7f294cb3a5e989e95f619780ede87d3">type</a> != <a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aa45e094c248384c12cdafd9d088e4aa24">REMMINA_PLUGIN_TYPE_PROTOCOL</a>) {</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    }</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="remmina__plugin__manager_8c.html#a150a4a8a8dcd21a51008250bb38bce49">encrypted_settings_cache</a> == NULL)</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        <a class="code" href="remmina__plugin__manager_8c.html#a150a4a8a8dcd21a51008250bb38bce49">encrypted_settings_cache</a> = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, <a class="code" href="remmina__plugin__manager_8c.html#a7e75f54171749cfec5c0cbbb1095ed86">htdestroy</a>);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="keywordflow">if</span> (!(pht = g_hash_table_lookup(<a class="code" href="remmina__plugin__manager_8c.html#a150a4a8a8dcd21a51008250bb38bce49">encrypted_settings_cache</a>, plugin-&gt;<a class="code" href="struct___remmina_plugin.html#a3f09b29bb3b0c044780d56a8b1a51582">name</a>))) {</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        pht = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        g_hash_table_insert(<a class="code" href="remmina__plugin__manager_8c.html#a150a4a8a8dcd21a51008250bb38bce49">encrypted_settings_cache</a>, g_strdup(plugin-&gt;<a class="code" href="struct___remmina_plugin.html#a3f09b29bb3b0c044780d56a8b1a51582">name</a>), pht);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    }</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="comment">/* Some settings are encrypted &quot;by name&quot; */</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="comment">/* g_hash_table_insert(pht, g_strdup(&quot;proxy_password&quot;), (gpointer)TRUE); */</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    g_hash_table_insert(pht, g_strdup(<span class="stringliteral">&quot;ssh_tunnel_password&quot;</span>), (gpointer)TRUE);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    g_hash_table_insert(pht, g_strdup(<span class="stringliteral">&quot;ssh_tunnel_passphrase&quot;</span>), (gpointer)TRUE);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="comment">/* ssh_password is no longer used starting from remmina 1.4.</span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment">     * But we MUST mark it as encrypted setting, or the migration procedure will fail */</span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    g_hash_table_insert(pht, g_strdup(<span class="stringliteral">&quot;ssh_password&quot;</span>), (gpointer)TRUE);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="comment">/* Other settings are encrypted because of their type */</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    protocol_plugin = (<a class="code" href="struct___remmina_protocol_plugin.html">RemminaProtocolPlugin</a> *)plugin;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    setting_iter = protocol_plugin-&gt;<a class="code" href="struct___remmina_protocol_plugin.html#aae09a7e2c978cc36e85d0f295518978d">basic_settings</a>;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keywordflow">if</span> (setting_iter) {</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        <span class="keywordflow">while</span> (setting_iter-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a6274d44b592a54162ff583135e55ffc9">type</a> != <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ad898beb6ae625dee1ae27de75f1ab4e3">REMMINA_PROTOCOL_SETTING_TYPE_END</a>) {</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;            <span class="keywordflow">if</span> (setting_iter-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a6274d44b592a54162ff583135e55ffc9">type</a> == <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ae76d06b6e313971e5f420dd6e7f4c5aa">REMMINA_PROTOCOL_SETTING_TYPE_PASSWORD</a>)</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;                g_hash_table_insert(pht, g_strdup(<a class="code" href="remmina__plugin__manager_8c.html#af60b8edfa50563ae4c7593efc3deed55">remmina_plugin_manager_get_canonical_setting_name</a>(setting_iter)), (gpointer)TRUE);</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;            setting_iter++;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        }</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    }</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    setting_iter = protocol_plugin-&gt;<a class="code" href="struct___remmina_protocol_plugin.html#aceb00d9dff794500ccb04a1373eb32db">advanced_settings</a>;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="keywordflow">if</span> (setting_iter) {</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        <span class="keywordflow">while</span> (setting_iter-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a6274d44b592a54162ff583135e55ffc9">type</a> != <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ad898beb6ae625dee1ae27de75f1ab4e3">REMMINA_PROTOCOL_SETTING_TYPE_END</a>) {</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;            <span class="keywordflow">if</span> (setting_iter-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a6274d44b592a54162ff583135e55ffc9">type</a> == <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ae76d06b6e313971e5f420dd6e7f4c5aa">REMMINA_PROTOCOL_SETTING_TYPE_PASSWORD</a>)</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;                g_hash_table_insert(pht, g_strdup(<a class="code" href="remmina__plugin__manager_8c.html#af60b8edfa50563ae4c7593efc3deed55">remmina_plugin_manager_get_canonical_setting_name</a>(setting_iter)), (gpointer)TRUE);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;            setting_iter++;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        }</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    }</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;}</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8c.html#ad4cb2d85f9cf76089a082122f2891fb8">  135</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__plugin__manager_8c.html#ad4cb2d85f9cf76089a082122f2891fb8">remmina_plugin_manager_register_plugin</a>(<a class="code" href="struct___remmina_plugin.html">RemminaPlugin</a> *plugin)</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;{</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    TRACE_CALL(__func__);</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keywordflow">if</span> (plugin-&gt;<a class="code" href="struct___remmina_plugin.html#ac7f294cb3a5e989e95f619780ede87d3">type</a> == <a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aa0d17e841a53921a7a6156f5d30e9f09c">REMMINA_PLUGIN_TYPE_SECRET</a>) {</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        g_print(<span class="stringliteral">&quot;Remmina plugin %s (type=%s) has registered but not yet initialized/activated. &quot;</span></div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;            <span class="stringliteral">&quot;Initialization order is %d.\n&quot;</span>, plugin-&gt;<a class="code" href="struct___remmina_plugin.html#a3f09b29bb3b0c044780d56a8b1a51582">name</a>,</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;            _(<a class="code" href="remmina__plugin__manager_8c.html#a719ce18a83ed7ecb3388f179a8590c10">remmina_plugin_type_name</a>[plugin-&gt;<a class="code" href="struct___remmina_plugin.html#ac7f294cb3a5e989e95f619780ede87d3">type</a>]),</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;            ((<a class="code" href="struct___remmina_secret_plugin.html">RemminaSecretPlugin</a>*)plugin)-&gt;init_order);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    }</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <a class="code" href="remmina__plugin__manager_8c.html#a72f0dbafb41acc4a5834f5c0719e6046">init_settings_cache</a>(plugin);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    g_ptr_array_add(<a class="code" href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">remmina_plugin_table</a>, plugin);</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    g_ptr_array_sort(<a class="code" href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">remmina_plugin_table</a>, (GCompareFunc)<a class="code" href="remmina__plugin__manager_8c.html#ae78fa0b2eab8c987d810c6997b136d2e">remmina_plugin_manager_compare_func</a>);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;}</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8h.html#a1ef27b953decb0c707ec9a18da47a38f">  151</a></span>&#160;gboolean <a class="code" href="remmina__plugin__manager_8c.html#a1ef27b953decb0c707ec9a18da47a38f">remmina_gtksocket_available</a>()</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;{</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    GdkDisplayManager* dm;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    GdkDisplay* d;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    gboolean available;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    dm = gdk_display_manager_get();</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    d = gdk_display_manager_get_default_display(dm);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    available = FALSE;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor">#ifdef GDK_WINDOWING_X11</span></div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    <span class="keywordflow">if</span> (GDK_IS_X11_DISPLAY(d)) {</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        <span class="comment">/* GtkSocket support is available only under X.Org */</span></div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        available = TRUE;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    }</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="keywordflow">return</span> available;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;}</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8h.html#a3996819fdb2c833f3c64c2ad399e5f10">  172</a></span>&#160;<a class="code" href="struct___remmina_plugin_service.html">RemminaPluginService</a> <a class="code" href="remmina__plugin__manager_8c.html#a3996819fdb2c833f3c64c2ad399e5f10">remmina_plugin_manager_service</a> =</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;{</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    <a class="code" href="remmina__plugin__manager_8c.html#ad4cb2d85f9cf76089a082122f2891fb8">remmina_plugin_manager_register_plugin</a>,</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#aaf355ea7103fc57a4cbc7b815cde2995">remmina_protocol_widget_get_width</a>,</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a41b62f211a8a8e960bc80aa1ba6b0380">remmina_protocol_widget_set_width</a>,</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#ae609b351fff17c235251b0ba7c480da5">remmina_protocol_widget_get_height</a>,</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#aadd106cec729a80405c6097e4c662044">remmina_protocol_widget_set_height</a>,</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a5ec62969da54155e24edcb1d998f93f7">remmina_protocol_widget_get_current_scale_mode</a>,</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a25bcb2ae99449624fed6f770218e3d25">remmina_protocol_widget_get_expand</a>,</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a0b19dbe685e4465e7f06706270e120fa">remmina_protocol_widget_set_expand</a>,</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#aab2f304822ccfd4979854ef1afd81771">remmina_protocol_widget_has_error</a>,</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a95088334da86faf9520383629fff48af">remmina_protocol_widget_set_error</a>,</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a2830f756dfc3d735b57b0c5753c429e3">remmina_protocol_widget_is_closed</a>,</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a2506e80d482c34532d0e534856452069">remmina_protocol_widget_get_file</a>,</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#ac3e5a7f14aef4adb2e57d35e9c180b3b">remmina_protocol_widget_emit_signal</a>,</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a13e14fa81f7ca52942415a7caf5b932c">remmina_protocol_widget_register_hostkey</a>,</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a9d55210413d6a313478f81cf76ecf1b7">remmina_protocol_widget_start_direct_tunnel</a>,</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#aa6d9f2f558fcd9e7fe58eefcde1c3c5c">remmina_protocol_widget_start_reverse_tunnel</a>,</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a172fa9cf2ce196c9846a3e47ea9036b4">remmina_protocol_widget_start_xport_tunnel</a>,</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a15368afcbeb770f8cf25941bd49e7b54">remmina_protocol_widget_set_display</a>,</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a1cae52cad394f317c712eb4fd709d261">remmina_protocol_widget_signal_connection_closed</a>,</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a05b5edfc3d3d0dcff1745d1d35aaca5c">remmina_protocol_widget_signal_connection_opened</a>,</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#aa88afa1e3f04974974a8be324b0a930e">remmina_protocol_widget_update_align</a>,</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a2551dd6f53480609596d2695040fba5d">remmina_protocol_widget_unlock_dynres</a>,</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a9acf045c5a3eec5b7f748678dee0d3ee">remmina_protocol_widget_desktop_resize</a>,</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#aebc7c7d34c470081a52aa35d998ce868">remmina_protocol_widget_panel_auth</a>,</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a262d75d6b535bd8c623e607805db4084">remmina_protocol_widget_panel_new_certificate</a>,</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#acf75fd4bac28a3d53da064b2905f23c1">remmina_protocol_widget_panel_changed_certificate</a>,</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a96159bd8e9d70c74967e666e2f188df0">remmina_protocol_widget_get_username</a>,</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget_get_password</a>,</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a7c15fa81642c52ef382e1dbe34ffb6ac">remmina_protocol_widget_get_domain</a>,</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a9ed3110b7b030bccd0ff9ed70e86da2d">remmina_protocol_widget_get_savepassword</a>,</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#aa674c14f3a46dd5eb6b53d6f8ce6bd31">remmina_protocol_widget_panel_authx509</a>,</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget_get_cacert</a>,</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a70aecb9af2ea35527e8d058d1d87a0d3">remmina_protocol_widget_get_cacrl</a>,</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#ab9632c73b32531b7bea976e10204670b">remmina_protocol_widget_get_clientcert</a>,</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a08d312825fc0de9f9286279d99f763a1">remmina_protocol_widget_get_clientkey</a>,</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#ab863cc1442a992adfa323bc77ab88504">remmina_protocol_widget_save_cred</a>,</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a278e13b53a4fdb65498e00e908edb98d">remmina_protocol_widget_panel_show_listen</a>,</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a7ed85f4ea19e0660dbf46f4f3dc4b895">remmina_protocol_widget_panel_show_retry</a>,</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a843c2455a10c9382aee454515f9e7f8b">remmina_protocol_widget_panel_show</a>,</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a8ef0523afadadc9984d53fb02ecc01ad">remmina_protocol_widget_panel_hide</a>,</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a12eddf3428a53201ee0a2ec422d2fa4a">remmina_protocol_widget_ssh_exec</a>,</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a66263e6e7da79357ceb80d32b191d9f2">remmina_protocol_widget_chat_open</a>,</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a4a3a9ba7422fc302b0b412ac771c9953">remmina_protocol_widget_chat_close</a>,</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#ae2522242b3f39ee84ee8cf75170de0c0">remmina_protocol_widget_chat_receive</a>,</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#a9bcd0d356c7215dc0f791c9744360705">remmina_protocol_widget_send_keys_signals</a>,</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    <a class="code" href="remmina__file__manager_8c.html#aa65bc30beb59d607ba430d966e7e27f5">remmina_file_get_datadir</a>,</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <a class="code" href="remmina__file_8c.html#a5e421ba636d34e21bba5ece463e98892">remmina_file_new</a>,</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>,</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>,</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>,</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <a class="code" href="remmina__file_8c.html#ad514c2523ff0c919ddf535e3dbad9f3a">remmina_file_get_secret</a>,</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>,</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>,</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <a class="code" href="remmina__file_8c.html#a503e53fe49430a5ed310c342c946c014">remmina_file_unsave_passwords</a>,</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <a class="code" href="remmina__pref_8c.html#a4fbb2aff07d1fef416352d8b80d79e02">remmina_pref_set_value</a>,</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    <a class="code" href="remmina__pref_8c.html#a6bcbf4cc3a58ed4ee9f087b4270d8fd6">remmina_pref_get_value</a>,</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    <a class="code" href="remmina__pref_8c.html#a37cd589f00c94cb28eabb1bce4646d0b">remmina_pref_get_scale_quality</a>,</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <a class="code" href="remmina__pref_8c.html#a6982152fd0492586819ce1760a853e99">remmina_pref_get_sshtunnel_port</a>,</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    <a class="code" href="remmina__pref_8c.html#a12e52ee4ab89912280605e36ee069267">remmina_pref_get_ssh_loglevel</a>,</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <a class="code" href="remmina__pref_8c.html#a98b783e4c5c1dae695fe554f52f94a23">remmina_pref_get_ssh_parseconfig</a>,</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    <a class="code" href="remmina__pref_8c.html#aaac087c000b0863a296f2739f6344af8">remmina_pref_keymap_get_keyval</a>,</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <a class="code" href="remmina__log_8c.html#aa90e751e7bd5d477179188273c095d9a">remmina_debug</a>,</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    <a class="code" href="remmina__log_8c.html#aca8f826a273194e22f4467421af9b3aa">remmina_log_print</a>,</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    <a class="code" href="remmina__log_8c.html#ac7848510c1fe1990c992e28cd31af9d8">remmina_log_printf</a>,</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    <a class="code" href="remmina__widget__pool_8c.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool_register</a>,</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    <a class="code" href="rcw_8c.html#ad3c2fe67b137c757bd21b79ad5dcc5ff">rcw_open_from_file_full</a>,</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <a class="code" href="remmina__public_8c.html#adc8b77823386e00e610527d6b0b61149">remmina_public_get_server_port</a>,</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <a class="code" href="remmina__masterthread__exec_8c.html#a3a52e863a3a3da6da6bb5d36c13b7ff4">remmina_masterthread_exec_is_main_thread</a>,</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    <a class="code" href="remmina__plugin__manager_8c.html#a1ef27b953decb0c707ec9a18da47a38f">remmina_gtksocket_available</a>,</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#ab4c6435ef92e34a94270069ce1861907">remmina_protocol_widget_get_profile_remote_width</a>,</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <a class="code" href="remmina__protocol__widget_8c.html#ad8df6a87e19b7751b26820ef4a668de9">remmina_protocol_widget_get_profile_remote_height</a></div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;};</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8c.html#adfd705f51933350af0f8760d23e85c6e">  254</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__plugin__manager_8c.html#adfd705f51933350af0f8760d23e85c6e">remmina_plugin_manager_load_plugin</a>(<span class="keyword">const</span> gchar *name)</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;{</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    TRACE_CALL(__func__);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    GModule *module;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <a class="code" href="plugin_8h.html#a59fee7dbde41c8d29059ca64622d1948">RemminaPluginEntryFunc</a> entry;</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    module = g_module_open(name, G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL);</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <span class="keywordflow">if</span> (!module) {</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        g_print(<span class="stringliteral">&quot;Failed to load plugin: %s.\n&quot;</span>, name);</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        g_print(<span class="stringliteral">&quot;Error: %s\n&quot;</span>, g_module_error());</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    }</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <span class="keywordflow">if</span> (!g_module_symbol(module, <span class="stringliteral">&quot;remmina_plugin_entry&quot;</span>, (gpointer*)&amp;entry)) {</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        g_print(<span class="stringliteral">&quot;Failed to locate plugin entry: %s.\n&quot;</span>, name);</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    }</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    <span class="keywordflow">if</span> (!entry(&amp;remmina_plugin_manager_service)) {</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;        g_print(<span class="stringliteral">&quot;Plugin entry returned false: %s.\n&quot;</span>, name);</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    }</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    <span class="comment">/* We don’t close the module because we will need it throughout the process lifetime */</span></div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;}</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8c.html#ac90d2ffe3909722ca3daedac28da76e5">  281</a></span>&#160;<span class="keyword">static</span> gint <a class="code" href="remmina__plugin__manager_8c.html#ac90d2ffe3909722ca3daedac28da76e5">compare_secret_plugin_init_order</a>(gconstpointer a, gconstpointer b)</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;{</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    <a class="code" href="struct___remmina_secret_plugin.html">RemminaSecretPlugin</a> *sa, *sb;</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    sa = (<a class="code" href="struct___remmina_secret_plugin.html">RemminaSecretPlugin</a>*)a;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    sb = (<a class="code" href="struct___remmina_secret_plugin.html">RemminaSecretPlugin</a>*)b;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    <span class="keywordflow">if</span> (sa-&gt;<a class="code" href="struct___remmina_secret_plugin.html#a0155c6684591e0dd843c7145792fef09">init_order</a> &gt; sb-&gt;<a class="code" href="struct___remmina_secret_plugin.html#a0155c6684591e0dd843c7145792fef09">init_order</a>)</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sa-&gt;<a class="code" href="struct___remmina_secret_plugin.html#a0155c6684591e0dd843c7145792fef09">init_order</a> &lt; sb-&gt;<a class="code" href="struct___remmina_secret_plugin.html#a0155c6684591e0dd843c7145792fef09">init_order</a>)</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;}</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8h.html#a92c2264598a43702594535cebbf4d8cd">  295</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__plugin__manager_8c.html#a92c2264598a43702594535cebbf4d8cd">remmina_plugin_manager_init</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;{</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    TRACE_CALL(__func__);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    GDir *dir;</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    <span class="keyword">const</span> gchar *name, *ptr;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    gchar *fullpath;</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    <a class="code" href="struct___remmina_plugin.html">RemminaPlugin</a> *plugin;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    <a class="code" href="struct___remmina_secret_plugin.html">RemminaSecretPlugin</a> *sp;</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    <span class="keywordtype">int</span> i;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    GSList *secret_plugins;</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    GSList *sple;</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    <a class="code" href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">remmina_plugin_table</a> = g_ptr_array_new();</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <span class="keywordflow">if</span> (!g_module_supported()) {</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;        g_print(<span class="stringliteral">&quot;Dynamic loading of plugins is not supported in this platform!\n&quot;</span>);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    }</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    dir = g_dir_open(REMMINA_RUNTIME_PLUGINDIR, 0, NULL);</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    <span class="keywordflow">if</span> (dir == NULL)</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;        <span class="keywordflow">return</span>;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="keywordflow">while</span> ((name = g_dir_read_name(dir)) != NULL) {</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;        <span class="keywordflow">if</span> ((ptr = strrchr(name, <span class="charliteral">&#39;.&#39;</span>)) == NULL)</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;            <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;        ptr++;</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;        <span class="keywordflow">if</span> (g_strcmp0(ptr, G_MODULE_SUFFIX) != 0)</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;            <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        fullpath = g_strdup_printf(REMMINA_RUNTIME_PLUGINDIR <span class="stringliteral">&quot;/%s&quot;</span>, name);</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;        <a class="code" href="remmina__plugin__manager_8c.html#adfd705f51933350af0f8760d23e85c6e">remmina_plugin_manager_load_plugin</a>(fullpath);</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;        g_free(fullpath);</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    }</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;    g_dir_close(dir);</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    <span class="comment">/* Now all secret plugins needs to initialize, following their init_order.</span></div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="comment">     * The 1st plugin which will initialize correctly will be</span></div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="comment">     * the default remmina_secret_plugin */</span></div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    <span class="keywordflow">if</span> (remmina_secret_plugin)</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;        g_print(<span class="stringliteral">&quot;Internal ERROR: remmina_secret_plugin must be null here\n&quot;</span>);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    secret_plugins = NULL;</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">remmina_plugin_table</a>-&gt;len; i++) {</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;        plugin = (<a class="code" href="struct___remmina_plugin.html">RemminaPlugin</a>*)g_ptr_array_index(<a class="code" href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">remmina_plugin_table</a>, i);</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;        <span class="keywordflow">if</span> (plugin-&gt;<a class="code" href="struct___remmina_plugin.html#ac7f294cb3a5e989e95f619780ede87d3">type</a> == <a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aa0d17e841a53921a7a6156f5d30e9f09c">REMMINA_PLUGIN_TYPE_SECRET</a>) {</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;            secret_plugins = g_slist_insert_sorted(secret_plugins, (gpointer)plugin, <a class="code" href="remmina__plugin__manager_8c.html#ac90d2ffe3909722ca3daedac28da76e5">compare_secret_plugin_init_order</a>);</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;        }</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    }</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    sple = secret_plugins;</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    <span class="keywordflow">while</span>(sple != NULL) {</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;        sp = (<a class="code" href="struct___remmina_secret_plugin.html">RemminaSecretPlugin</a>*)sple-&gt;data;</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        if (sp-&gt;<a class="code" href="struct___remmina_secret_plugin.html#ad433f24a09d962e66a336eb461cecd56">init</a>()) {</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;            g_print(<span class="stringliteral">&quot;Secret plugin %s has been successfully initialized and will be your default secret plugin\n&quot;</span>,</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;                sp-&gt;<a class="code" href="struct___remmina_secret_plugin.html#a197b28d8b71ccb0c91ce8bf27690968a">name</a>);</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;            remmina_secret_plugin = sp;</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;        }</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;        sple = sple-&gt;next;</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    }</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    g_slist_free(secret_plugins);</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;}</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;</div><div class="line"><a name="l00359"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8h.html#a3872c8656a8a3d5147bcc603471c1932">  359</a></span>&#160;<a class="code" href="struct___remmina_plugin.html">RemminaPlugin</a>* <a class="code" href="remmina__plugin__manager_8c.html#a3872c8656a8a3d5147bcc603471c1932">remmina_plugin_manager_get_plugin</a>(<a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624a">RemminaPluginType</a> type, <span class="keyword">const</span> gchar *name)</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;{</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    TRACE_CALL(__func__);</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    <a class="code" href="struct___remmina_plugin.html">RemminaPlugin</a> *plugin;</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    gint i;</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">remmina_plugin_table</a>-&gt;len; i++) {</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        plugin = (<a class="code" href="struct___remmina_plugin.html">RemminaPlugin</a>*)g_ptr_array_index(<a class="code" href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">remmina_plugin_table</a>, i);</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;        <span class="keywordflow">if</span> (plugin-&gt;<a class="code" href="struct___remmina_plugin.html#ac7f294cb3a5e989e95f619780ede87d3">type</a> == type &amp;&amp; g_strcmp0(plugin-&gt;<a class="code" href="struct___remmina_plugin.html#a3f09b29bb3b0c044780d56a8b1a51582">name</a>, name) == 0) {</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;            <span class="keywordflow">return</span> plugin;</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        }</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    }</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;}</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;</div><div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8h.html#af60b8edfa50563ae4c7593efc3deed55">  374</a></span>&#160;<span class="keyword">const</span> gchar *<a class="code" href="remmina__plugin__manager_8c.html#af60b8edfa50563ae4c7593efc3deed55">remmina_plugin_manager_get_canonical_setting_name</a>(<span class="keyword">const</span> <a class="code" href="struct___remmina_protocol_setting.html">RemminaProtocolSetting</a>* setting)</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;{</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    <span class="keywordflow">if</span> (setting-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ac4cd339607204c5f478727e2a0c04857">name</a> == NULL) {</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;        <span class="keywordflow">if</span> (setting-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a6274d44b592a54162ff583135e55ffc9">type</a> == <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350a579ed0f0f6624dd55a25665693c92a92">REMMINA_PROTOCOL_SETTING_TYPE_SERVER</a>)</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;            <span class="keywordflow">return</span> <span class="stringliteral">&quot;server&quot;</span>;</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;        <span class="keywordflow">if</span> (setting-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a6274d44b592a54162ff583135e55ffc9">type</a> == <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ae76d06b6e313971e5f420dd6e7f4c5aa">REMMINA_PROTOCOL_SETTING_TYPE_PASSWORD</a>)</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;            <span class="keywordflow">return</span> <span class="stringliteral">&quot;password&quot;</span>;</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;        <span class="keywordflow">if</span> (setting-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a6274d44b592a54162ff583135e55ffc9">type</a> == <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350aa045109309280606ff11a9de1862e2ba">REMMINA_PROTOCOL_SETTING_TYPE_RESOLUTION</a>)</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;            <span class="keywordflow">return</span> <span class="stringliteral">&quot;resolution&quot;</span>;</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;        <span class="keywordflow">return</span> <span class="stringliteral">&quot;missing_setting_name_into_plugin_RemminaProtocolSetting&quot;</span>;</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    }</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;    <span class="keywordflow">return</span> setting-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ac4cd339607204c5f478727e2a0c04857">name</a>;</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;}</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;</div><div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8h.html#a13f13a6a4280268656f258cb5aeff031">  388</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__plugin__manager_8c.html#a13f13a6a4280268656f258cb5aeff031">remmina_plugin_manager_for_each_plugin</a>(<a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624a">RemminaPluginType</a> type, <a class="code" href="remmina__plugin__manager_8h.html#a68d4ed61b9d039dd06ba4252a8971c18">RemminaPluginFunc</a> func, gpointer data)</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;{</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;    TRACE_CALL(__func__);</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;    <a class="code" href="struct___remmina_plugin.html">RemminaPlugin</a> *plugin;</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    gint i;</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;    <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">remmina_plugin_table</a>-&gt;len; i++) {</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;        plugin = (<a class="code" href="struct___remmina_plugin.html">RemminaPlugin</a>*)g_ptr_array_index(<a class="code" href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">remmina_plugin_table</a>, i);</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        <span class="keywordflow">if</span> (plugin-&gt;<a class="code" href="struct___remmina_plugin.html#ac7f294cb3a5e989e95f619780ede87d3">type</a> == type) {</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;            func((gchar*)plugin-&gt;<a class="code" href="struct___remmina_plugin.html#a3f09b29bb3b0c044780d56a8b1a51582">name</a>, plugin, data);</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;        }</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    }</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;}</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<span class="comment">/* A copy of remmina_plugin_manager_show and remmina_plugin_manager_show_for_each</span></div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="comment"> * This is because we want to print the list of plugins, and their versions, to the standard output</span></div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<span class="comment"> * with the remmina command line option --full-version instead of using the plugins widget</span></div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;<span class="comment"> ** @todo Investigate to use only GListStore and than pass the elements to be shown to 2 separate</span></div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;<span class="comment"> *       functions</span></div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;<span class="comment"> * WARNING: GListStore is supported only from GLib 2.44 */</span></div><div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8c.html#a3fdc160c477f9f5e1d881c0c054d4b07">  408</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__plugin__manager_8c.html#a3fdc160c477f9f5e1d881c0c054d4b07">remmina_plugin_manager_show_for_each_stdout</a>(<a class="code" href="struct___remmina_plugin.html">RemminaPlugin</a> *plugin)</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;{</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;    TRACE_CALL(__func__);</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    g_print(<span class="stringliteral">&quot;%-20s%-16s%-64s%-10s\n&quot;</span>, plugin-&gt;<a class="code" href="struct___remmina_plugin.html#a3f09b29bb3b0c044780d56a8b1a51582">name</a>,</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;        _(<a class="code" href="remmina__plugin__manager_8c.html#a719ce18a83ed7ecb3388f179a8590c10">remmina_plugin_type_name</a>[plugin-&gt;<a class="code" href="struct___remmina_plugin.html#ac7f294cb3a5e989e95f619780ede87d3">type</a>]),</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;        g_dgettext(plugin-&gt;<a class="code" href="struct___remmina_plugin.html#a024d3e6d752dd29828b31c60c8c7c201">domain</a>, plugin-&gt;<a class="code" href="struct___remmina_plugin.html#a4ac66b7ebefb9bd8167737eb1af83cde">description</a>),</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;        plugin-&gt;<a class="code" href="struct___remmina_plugin.html#aecdad5d7ff5bdfbf0ce80b4b73f65099">version</a>);</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;}</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;</div><div class="line"><a name="l00419"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8h.html#afe0881986b2a64bfb5460981dadcf28d">  419</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__plugin__manager_8c.html#afe0881986b2a64bfb5460981dadcf28d">remmina_plugin_manager_show_stdout</a>()</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;{</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    TRACE_CALL(__func__);</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;    g_print(<span class="stringliteral">&quot;%-20s%-16s%-64s%-10s\n&quot;</span>, <span class="stringliteral">&quot;NAME&quot;</span>, <span class="stringliteral">&quot;TYPE&quot;</span>, <span class="stringliteral">&quot;DESCRIPTION&quot;</span>, <span class="stringliteral">&quot;PLUGIN AND LIBRARY VERSION&quot;</span>);</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;    g_ptr_array_foreach(<a class="code" href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">remmina_plugin_table</a>, (GFunc)<a class="code" href="remmina__plugin__manager_8c.html#a3fdc160c477f9f5e1d881c0c054d4b07">remmina_plugin_manager_show_for_each_stdout</a>, NULL);</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;}</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;</div><div class="line"><a name="l00426"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8c.html#a634fadd9871f76bc60c3da0aa95e719c">  426</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__plugin__manager_8c.html#a634fadd9871f76bc60c3da0aa95e719c">remmina_plugin_manager_show_for_each</a>(<a class="code" href="struct___remmina_plugin.html">RemminaPlugin</a> *plugin, GtkListStore *<a class="code" href="structmpchanger__params.html#a3f0a338901d8e6195eb872b0f2098e73">store</a>)</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;{</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    TRACE_CALL(__func__);</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    GtkTreeIter <a class="code" href="structmpchanger__params.html#a3cb4141ca61b0b9a5584239386dbbe46">iter</a>;</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;    gtk_list_store_append(store, &amp;iter);</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;    gtk_list_store_set(store, &amp;iter, 0, plugin-&gt;<a class="code" href="struct___remmina_plugin.html#a3f09b29bb3b0c044780d56a8b1a51582">name</a>, 1, _(<a class="code" href="remmina__plugin__manager_8c.html#a719ce18a83ed7ecb3388f179a8590c10">remmina_plugin_type_name</a>[plugin-&gt;<a class="code" href="struct___remmina_plugin.html#ac7f294cb3a5e989e95f619780ede87d3">type</a>]), 2,</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;        g_dgettext(plugin-&gt;<a class="code" href="struct___remmina_plugin.html#a024d3e6d752dd29828b31c60c8c7c201">domain</a>, plugin-&gt;<a class="code" href="struct___remmina_plugin.html#a4ac66b7ebefb9bd8167737eb1af83cde">description</a>), 3, plugin-&gt;<a class="code" href="struct___remmina_plugin.html#aecdad5d7ff5bdfbf0ce80b4b73f65099">version</a>, -1);</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;}</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;</div><div class="line"><a name="l00437"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8h.html#aedec4e9cf18d99a559aa51065c2bc276">  437</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__plugin__manager_8c.html#aedec4e9cf18d99a559aa51065c2bc276">remmina_plugin_manager_show</a>(GtkWindow *parent)</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;{</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    TRACE_CALL(__func__);</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    GtkWidget *<a class="code" href="structmpchanger__params.html#adf52357ac6f70f8bead49111deff9568">dialog</a>;</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    GtkWidget *scrolledwindow;</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    GtkWidget *tree;</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    GtkCellRenderer *renderer;</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    GtkTreeViewColumn *column;</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    GtkListStore *<a class="code" href="structmpchanger__params.html#a3f0a338901d8e6195eb872b0f2098e73">store</a>;</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    dialog = gtk_dialog_new_with_buttons(_(<span class="stringliteral">&quot;Plugins&quot;</span>), parent, GTK_DIALOG_MODAL, _(<span class="stringliteral">&quot;_OK&quot;</span>), GTK_RESPONSE_ACCEPT, NULL);</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;    g_signal_connect(G_OBJECT(dialog), <span class="stringliteral">&quot;response&quot;</span>, G_CALLBACK(gtk_widget_destroy), dialog);</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;    gtk_window_set_default_size(GTK_WINDOW(dialog), 500, 350);</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;    scrolledwindow = gtk_scrolled_window_new(NULL, NULL);</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;    gtk_widget_show(scrolledwindow);</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;    gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;    gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), scrolledwindow, TRUE, TRUE, 0);</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;    tree = gtk_tree_view_new();</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;    gtk_container_add(GTK_CONTAINER(scrolledwindow), tree);</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    gtk_widget_show(tree);</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    store = gtk_list_store_new(4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    g_ptr_array_foreach(<a class="code" href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">remmina_plugin_table</a>, (GFunc)<a class="code" href="remmina__plugin__manager_8c.html#a634fadd9871f76bc60c3da0aa95e719c">remmina_plugin_manager_show_for_each</a>, store);</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    gtk_tree_view_set_model(GTK_TREE_VIEW(tree), GTK_TREE_MODEL(store));</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    renderer = gtk_cell_renderer_text_new();</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;    column = gtk_tree_view_column_new_with_attributes(_(<span class="stringliteral">&quot;Name&quot;</span>), renderer, <span class="stringliteral">&quot;text&quot;</span>, 0, NULL);</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    gtk_tree_view_column_set_resizable(column, TRUE);</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    gtk_tree_view_column_set_sort_column_id(column, 0);</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    renderer = gtk_cell_renderer_text_new();</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;    column = gtk_tree_view_column_new_with_attributes(_(<span class="stringliteral">&quot;Type&quot;</span>), renderer, <span class="stringliteral">&quot;text&quot;</span>, 1, NULL);</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;    gtk_tree_view_column_set_resizable(column, TRUE);</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;    gtk_tree_view_column_set_sort_column_id(column, 1);</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;    gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    renderer = gtk_cell_renderer_text_new();</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;    column = gtk_tree_view_column_new_with_attributes(_(<span class="stringliteral">&quot;Description&quot;</span>), renderer, <span class="stringliteral">&quot;text&quot;</span>, 2, NULL);</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    gtk_tree_view_column_set_resizable(column, TRUE);</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;    gtk_tree_view_column_set_sort_column_id(column, 2);</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;    gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;    renderer = gtk_cell_renderer_text_new();</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;    column = gtk_tree_view_column_new_with_attributes(_(<span class="stringliteral">&quot;Version&quot;</span>), renderer, <span class="stringliteral">&quot;text&quot;</span>, 3, NULL);</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    gtk_tree_view_column_set_resizable(column, TRUE);</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    gtk_tree_view_column_set_sort_column_id(column, 3);</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    gtk_widget_show(dialog);</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;}</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8h.html#a859348bddc9069f06195915692b65076">  491</a></span>&#160;<a class="code" href="struct___remmina_file_plugin.html">RemminaFilePlugin</a>* <a class="code" href="remmina__plugin__manager_8c.html#a859348bddc9069f06195915692b65076">remmina_plugin_manager_get_import_file_handler</a>(<span class="keyword">const</span> gchar *file)</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;{</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;    TRACE_CALL(__func__);</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;    <a class="code" href="struct___remmina_file_plugin.html">RemminaFilePlugin</a> *plugin;</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    gint i;</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;    <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">remmina_plugin_table</a>-&gt;len; i++) {</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;        plugin = (<a class="code" href="struct___remmina_file_plugin.html">RemminaFilePlugin</a>*)g_ptr_array_index(<a class="code" href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">remmina_plugin_table</a>, i);</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;        <span class="keywordflow">if</span> (plugin-&gt;<a class="code" href="struct___remmina_file_plugin.html#a3ff85e56bf902817630aafea67e3e494">type</a> != <a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aa9af260da7aa2ad0ee90e8dae5439dbac">REMMINA_PLUGIN_TYPE_FILE</a>)</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;            <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;        <span class="keywordflow">if</span> (plugin-&gt;<a class="code" href="struct___remmina_file_plugin.html#ac00efb2a471517b35fbd386c29ee18f4">import_test_func</a>(file)) {</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;            <span class="keywordflow">return</span> plugin;</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;        }</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;    }</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;    <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;}</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;</div><div class="line"><a name="l00510"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8h.html#afce14b101da527ada9b44a4503e91e07">  510</a></span>&#160;<a class="code" href="struct___remmina_file_plugin.html">RemminaFilePlugin</a>* <a class="code" href="remmina__plugin__manager_8c.html#afce14b101da527ada9b44a4503e91e07">remmina_plugin_manager_get_export_file_handler</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile)</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;{</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;    TRACE_CALL(__func__);</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;    <a class="code" href="struct___remmina_file_plugin.html">RemminaFilePlugin</a> *plugin;</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    gint i;</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;    <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">remmina_plugin_table</a>-&gt;len; i++) {</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;        plugin = (<a class="code" href="struct___remmina_file_plugin.html">RemminaFilePlugin</a>*)g_ptr_array_index(<a class="code" href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">remmina_plugin_table</a>, i);</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;        <span class="keywordflow">if</span> (plugin-&gt;<a class="code" href="struct___remmina_file_plugin.html#a3ff85e56bf902817630aafea67e3e494">type</a> != <a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aa9af260da7aa2ad0ee90e8dae5439dbac">REMMINA_PLUGIN_TYPE_FILE</a>)</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;            <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;        <span class="keywordflow">if</span> (plugin-&gt;<a class="code" href="struct___remmina_file_plugin.html#aafae42901b54bcb08f0cb24451836b03">export_test_func</a>(remminafile)) {</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;            <span class="keywordflow">return</span> plugin;</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;        }</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;    }</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;    <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;}</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;</div><div class="line"><a name="l00527"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8h.html#ad380a98f6624aa8c830015c8b428b7b4">  527</a></span>&#160;<a class="code" href="struct___remmina_secret_plugin.html">RemminaSecretPlugin</a>* <a class="code" href="remmina__plugin__manager_8c.html#ad380a98f6624aa8c830015c8b428b7b4">remmina_plugin_manager_get_secret_plugin</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;{</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;    TRACE_CALL(__func__);</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="remmina__plugin__manager_8c.html#a5e79d6abd0b12c1ed2bb33988e41857e">remmina_secret_plugin</a>;</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;}</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;</div><div class="line"><a name="l00533"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8h.html#a1668951fd7067f2c405e001836855080">  533</a></span>&#160;gboolean <a class="code" href="remmina__plugin__manager_8c.html#a1668951fd7067f2c405e001836855080">remmina_plugin_manager_query_feature_by_type</a>(<a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624a">RemminaPluginType</a> ptype, <span class="keyword">const</span> gchar* name, <a class="code" href="types_8h.html#a77ae46c4fd739dcd8e819fe9cdae27c5">RemminaProtocolFeatureType</a> ftype)</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;{</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;    TRACE_CALL(__func__);</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;    <span class="keyword">const</span> <a class="code" href="struct___remmina_protocol_feature.html">RemminaProtocolFeature</a> *feature;</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;    <a class="code" href="struct___remmina_protocol_plugin.html">RemminaProtocolPlugin</a>* plugin;</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;    plugin = (<a class="code" href="struct___remmina_protocol_plugin.html">RemminaProtocolPlugin</a>*)<a class="code" href="remmina__plugin__manager_8c.html#a3872c8656a8a3d5147bcc603471c1932">remmina_plugin_manager_get_plugin</a>(ptype, name);</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;    <span class="keywordflow">if</span> (plugin == NULL) {</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;        <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    }</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;    <span class="keywordflow">for</span> (feature = plugin-&gt;<a class="code" href="struct___remmina_protocol_plugin.html#afa1a3a21c504b386cecfb42d1c9e6bff">features</a>; feature &amp;&amp; feature-&gt;<a class="code" href="struct___remmina_protocol_feature.html#a1826baafd2d7b5dc8a009ef4fcad77e9">type</a>; feature++) {</div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;        <span class="keywordflow">if</span> (feature-&gt;<a class="code" href="struct___remmina_protocol_feature.html#a1826baafd2d7b5dc8a009ef4fcad77e9">type</a> == ftype)</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;            <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;    }</div><div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;    <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;}</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;</div><div class="line"><a name="l00552"></a><span class="lineno"><a class="line" href="remmina__plugin__manager_8h.html#aef243c58b9e8c778232d5acb32c7729b">  552</a></span>&#160;gboolean <a class="code" href="remmina__plugin__manager_8c.html#aef243c58b9e8c778232d5acb32c7729b">remmina_plugin_manager_is_encrypted_setting</a>(<a class="code" href="struct___remmina_protocol_plugin.html">RemminaProtocolPlugin</a> *pp, <span class="keyword">const</span> <span class="keywordtype">char</span> *setting)</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;{</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;    TRACE_CALL(__func__);</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;    GHashTable *pht;</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="remmina__plugin__manager_8c.html#a150a4a8a8dcd21a51008250bb38bce49">encrypted_settings_cache</a> == NULL)</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;        <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;</div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;    <span class="keywordflow">if</span> (!(pht = g_hash_table_lookup(<a class="code" href="remmina__plugin__manager_8c.html#a150a4a8a8dcd21a51008250bb38bce49">encrypted_settings_cache</a>, pp-&gt;<a class="code" href="struct___remmina_protocol_plugin.html#a6e04143450eeb71e3d0b2c14983860a4">name</a>)))</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;        <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;    <span class="keywordflow">if</span> (!g_hash_table_lookup(pht, setting))</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;        <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;    <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;}</div><div class="ttc" id="remmina__protocol__widget_8c_html_a25bcb2ae99449624fed6f770218e3d25"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a25bcb2ae99449624fed6f770218e3d25">remmina_protocol_widget_get_expand</a></div><div class="ttdeci">gboolean remmina_protocol_widget_get_expand(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01153">remmina_protocol_widget.c:1153</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a843c2455a10c9382aee454515f9e7f8b"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a843c2455a10c9382aee454515f9e7f8b">remmina_protocol_widget_panel_show</a></div><div class="ttdeci">void remmina_protocol_widget_panel_show(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01695">remmina_protocol_widget.c:1695</a></div></div>
<div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350a579ed0f0f6624dd55a25665693c92a92"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350a579ed0f0f6624dd55a25665693c92a92">REMMINA_PROTOCOL_SETTING_TYPE_SERVER</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00081">types.h:81</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a5e79d6abd0b12c1ed2bb33988e41857e"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a5e79d6abd0b12c1ed2bb33988e41857e">remmina_secret_plugin</a></div><div class="ttdeci">static RemminaSecretPlugin * remmina_secret_plugin</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00067">remmina_plugin_manager.c:67</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_af60b8edfa50563ae4c7593efc3deed55"><div class="ttname"><a href="remmina__plugin__manager_8c.html#af60b8edfa50563ae4c7593efc3deed55">remmina_plugin_manager_get_canonical_setting_name</a></div><div class="ttdeci">const gchar * remmina_plugin_manager_get_canonical_setting_name(const RemminaProtocolSetting *setting)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00374">remmina_plugin_manager.c:374</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a95088334da86faf9520383629fff48af"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a95088334da86faf9520383629fff48af">remmina_protocol_widget_set_error</a></div><div class="ttdeci">void remmina_protocol_widget_set_error(RemminaProtocolWidget *gp, const gchar *fmt,...)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01178">remmina_protocol_widget.c:1178</a></div></div>
<div class="ttc" id="struct___remmina_plugin_html"><div class="ttname"><a href="struct___remmina_plugin.html">_RemminaPlugin</a></div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00053">plugin.h:53</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_aef243c58b9e8c778232d5acb32c7729b"><div class="ttname"><a href="remmina__plugin__manager_8c.html#aef243c58b9e8c778232d5acb32c7729b">remmina_plugin_manager_is_encrypted_setting</a></div><div class="ttdeci">gboolean remmina_plugin_manager_is_encrypted_setting(RemminaProtocolPlugin *pp, const char *setting)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00552">remmina_plugin_manager.c:552</a></div></div>
<div class="ttc" id="remmina__pref_8c_html_a37cd589f00c94cb28eabb1bce4646d0b"><div class="ttname"><a href="remmina__pref_8c.html#a37cd589f00c94cb28eabb1bce4646d0b">remmina_pref_get_scale_quality</a></div><div class="ttdeci">gint remmina_pref_get_scale_quality(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8c_source.html#l00974">remmina_pref.c:974</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8h_html"><div class="ttname"><a href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a8eb1b213d9d08c6ad13683ce05f4355e"><div class="ttname"><a href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a></div><div class="ttdeci">const gchar * remmina_file_get_string(RemminaFile *remminafile, const gchar *setting)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00449">remmina_file.c:449</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a8ef0523afadadc9984d53fb02ecc01ad"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a8ef0523afadadc9984d53fb02ecc01ad">remmina_protocol_widget_panel_hide</a></div><div class="ttdeci">void remmina_protocol_widget_panel_hide(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01701">remmina_protocol_widget.c:1701</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a7e75f54171749cfec5c0cbbb1095ed86"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a7e75f54171749cfec5c0cbbb1095ed86">htdestroy</a></div><div class="ttdeci">static void htdestroy(gpointer ht)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00078">remmina_plugin_manager.c:78</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a9d55210413d6a313478f81cf76ecf1b7"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a9d55210413d6a313478f81cf76ecf1b7">remmina_protocol_widget_start_direct_tunnel</a></div><div class="ttdeci">gchar * remmina_protocol_widget_start_direct_tunnel(RemminaProtocolWidget *gp, gint default_port, gboolean port_plus)</div><div class="ttdoc">Start an SSH tunnel if possible and return the host:port string. </div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00816">remmina_protocol_widget.c:816</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_ae2522242b3f39ee84ee8cf75170de0c0"><div class="ttname"><a href="remmina__protocol__widget_8c.html#ae2522242b3f39ee84ee8cf75170de0c0">remmina_protocol_widget_chat_receive</a></div><div class="ttdeci">void remmina_protocol_widget_chat_receive(RemminaProtocolWidget *gp, const gchar *text)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01736">remmina_protocol_widget.c:1736</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_aaf355ea7103fc57a4cbc7b815cde2995"><div class="ttname"><a href="remmina__protocol__widget_8c.html#aaf355ea7103fc57a4cbc7b815cde2995">remmina_protocol_widget_get_width</a></div><div class="ttdeci">gint remmina_protocol_widget_get_width(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01117">remmina_protocol_widget.c:1117</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_ab4c6435ef92e34a94270069ce1861907"><div class="ttname"><a href="remmina__protocol__widget_8c.html#ab4c6435ef92e34a94270069ce1861907">remmina_protocol_widget_get_profile_remote_width</a></div><div class="ttdeci">gint remmina_protocol_widget_get_profile_remote_width(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01102">remmina_protocol_widget.c:1102</a></div></div>
<div class="ttc" id="remmina__pref_8c_html_a6982152fd0492586819ce1760a853e99"><div class="ttname"><a href="remmina__pref_8c.html#a6982152fd0492586819ce1760a853e99">remmina_pref_get_sshtunnel_port</a></div><div class="ttdeci">gint remmina_pref_get_sshtunnel_port(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8c_source.html#l00996">remmina_pref.c:996</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_aebc7c7d34c470081a52aa35d998ce868"><div class="ttname"><a href="remmina__protocol__widget_8c.html#aebc7c7d34c470081a52aa35d998ce868">remmina_protocol_widget_panel_auth</a></div><div class="ttdeci">gint remmina_protocol_widget_panel_auth(RemminaProtocolWidget *gp, RemminaMessagePanelFlags pflags, const gchar *title, const gchar *default_username, const gchar *default_password, const gchar *default_domain, const gchar *password_prompt)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01419">remmina_protocol_widget.c:1419</a></div></div>
<div class="ttc" id="remmina__file__manager_8h_html"><div class="ttname"><a href="remmina__file__manager_8h.html">remmina_file_manager.h</a></div></div>
<div class="ttc" id="struct___remmina_file_plugin_html"><div class="ttname"><a href="struct___remmina_file_plugin.html">_RemminaFilePlugin</a></div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00094">plugin.h:94</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_ab863cc1442a992adfa323bc77ab88504"><div class="ttname"><a href="remmina__protocol__widget_8c.html#ab863cc1442a992adfa323bc77ab88504">remmina_protocol_widget_save_cred</a></div><div class="ttdeci">void remmina_protocol_widget_save_cred(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01592">remmina_protocol_widget.c:1592</a></div></div>
<div class="ttc" id="remmina__file_8c_html_ad1e4f3a0f64cd98e301044b6c38a1f1d"><div class="ttname"><a href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a></div><div class="ttdeci">const gchar * remmina_file_get_filename(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00184">remmina_file.c:184</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_ac90d2ffe3909722ca3daedac28da76e5"><div class="ttname"><a href="remmina__plugin__manager_8c.html#ac90d2ffe3909722ca3daedac28da76e5">compare_secret_plugin_init_order</a></div><div class="ttdeci">static gint compare_secret_plugin_init_order(gconstpointer a, gconstpointer b)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00281">remmina_plugin_manager.c:281</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a9ed3110b7b030bccd0ff9ed70e86da2d"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a9ed3110b7b030bccd0ff9ed70e86da2d">remmina_protocol_widget_get_savepassword</a></div><div class="ttdeci">gboolean remmina_protocol_widget_get_savepassword(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01550">remmina_protocol_widget.c:1550</a></div></div>
<div class="ttc" id="types_8h_html_a112d7cc6c755209cabb68cf2a62ad515"><div class="ttname"><a href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a></div><div class="ttdeci">typedefG_BEGIN_DECLS struct _RemminaFile RemminaFile</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00041">types.h:41</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_aab2f304822ccfd4979854ef1afd81771"><div class="ttname"><a href="remmina__protocol__widget_8c.html#aab2f304822ccfd4979854ef1afd81771">remmina_protocol_widget_has_error</a></div><div class="ttdeci">gboolean remmina_protocol_widget_has_error(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01166">remmina_protocol_widget.c:1166</a></div></div>
<div class="ttc" id="struct___remmina_plugin_html_ac7f294cb3a5e989e95f619780ede87d3"><div class="ttname"><a href="struct___remmina_plugin.html#ac7f294cb3a5e989e95f619780ede87d3">_RemminaPlugin::type</a></div><div class="ttdeci">RemminaPluginType type</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00054">plugin.h:54</a></div></div>
<div class="ttc" id="plugin_8h_html_aaf53c620d115a4642130227cff4a624aa9af260da7aa2ad0ee90e8dae5439dbac"><div class="ttname"><a href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aa9af260da7aa2ad0ee90e8dae5439dbac">REMMINA_PLUGIN_TYPE_FILE</a></div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00047">plugin.h:47</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a13e14fa81f7ca52942415a7caf5b932c"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a13e14fa81f7ca52942415a7caf5b932c">remmina_protocol_widget_register_hostkey</a></div><div class="ttdeci">void remmina_protocol_widget_register_hostkey(RemminaProtocolWidget *gp, GtkWidget *widget)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00674">remmina_protocol_widget.c:674</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_aa6d9f2f558fcd9e7fe58eefcde1c3c5c"><div class="ttname"><a href="remmina__protocol__widget_8c.html#aa6d9f2f558fcd9e7fe58eefcde1c3c5c">remmina_protocol_widget_start_reverse_tunnel</a></div><div class="ttdeci">gboolean remmina_protocol_widget_start_reverse_tunnel(RemminaProtocolWidget *gp, gint local_port)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00912">remmina_protocol_widget.c:912</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8h_html_a68d4ed61b9d039dd06ba4252a8971c18"><div class="ttname"><a href="remmina__plugin__manager_8h.html#a68d4ed61b9d039dd06ba4252a8971c18">RemminaPluginFunc</a></div><div class="ttdeci">G_BEGIN_DECLS typedef gboolean(* RemminaPluginFunc)(gchar *name, RemminaPlugin *plugin, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8h_source.html#l00043">remmina_plugin_manager.h:43</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a13f13a6a4280268656f258cb5aeff031"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a13f13a6a4280268656f258cb5aeff031">remmina_plugin_manager_for_each_plugin</a></div><div class="ttdeci">void remmina_plugin_manager_for_each_plugin(RemminaPluginType type, RemminaPluginFunc func, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00388">remmina_plugin_manager.c:388</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a7c15fa81642c52ef382e1dbe34ffb6ac"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a7c15fa81642c52ef382e1dbe34ffb6ac">remmina_protocol_widget_get_domain</a></div><div class="ttdeci">gchar * remmina_protocol_widget_get_domain(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01544">remmina_protocol_widget.c:1544</a></div></div>
<div class="ttc" id="rcw_8c_html_ad3c2fe67b137c757bd21b79ad5dcc5ff"><div class="ttname"><a href="rcw_8c.html#ad3c2fe67b137c757bd21b79ad5dcc5ff">rcw_open_from_file_full</a></div><div class="ttdeci">GtkWidget * rcw_open_from_file_full(RemminaFile *remminafile, GCallback disconnect_cb, gpointer data, guint *handler)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l03898">rcw.c:3898</a></div></div>
<div class="ttc" id="remmina__widget__pool_8c_html_ae3c9c9853eb5bedbfeadbfac1d495b95"><div class="ttname"><a href="remmina__widget__pool_8c.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool_register</a></div><div class="ttdeci">void remmina_widget_pool_register(GtkWidget *widget)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__widget__pool_8c_source.html#l00057">remmina_widget_pool.c:57</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_adfd705f51933350af0f8760d23e85c6e"><div class="ttname"><a href="remmina__plugin__manager_8c.html#adfd705f51933350af0f8760d23e85c6e">remmina_plugin_manager_load_plugin</a></div><div class="ttdeci">static void remmina_plugin_manager_load_plugin(const gchar *name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00254">remmina_plugin_manager.c:254</a></div></div>
<div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350ae76d06b6e313971e5f420dd6e7f4c5aa"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350ae76d06b6e313971e5f420dd6e7f4c5aa">REMMINA_PROTOCOL_SETTING_TYPE_PASSWORD</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00082">types.h:82</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a92c2264598a43702594535cebbf4d8cd"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a92c2264598a43702594535cebbf4d8cd">remmina_plugin_manager_init</a></div><div class="ttdeci">void remmina_plugin_manager_init(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00295">remmina_plugin_manager.c:295</a></div></div>
<div class="ttc" id="remmina__widget__pool_8h_html"><div class="ttname"><a href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a></div></div>
<div class="ttc" id="structmpchanger__params_html_adf52357ac6f70f8bead49111deff9568"><div class="ttname"><a href="structmpchanger__params.html#adf52357ac6f70f8bead49111deff9568">mpchanger_params::dialog</a></div><div class="ttdeci">GtkDialog * dialog</div><div class="ttdef"><b>Definition:</b> <a href="remmina__mpchange_8c_source.html#l00061">remmina_mpchange.c:61</a></div></div>
<div class="ttc" id="struct___remmina_secret_plugin_html_a0155c6684591e0dd843c7145792fef09"><div class="ttname"><a href="struct___remmina_secret_plugin.html#a0155c6684591e0dd843c7145792fef09">_RemminaSecretPlugin::init_order</a></div><div class="ttdeci">int init_order</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00135">plugin.h:135</a></div></div>
<div class="ttc" id="remmina__file_8c_html_ad514c2523ff0c919ddf535e3dbad9f3a"><div class="ttname"><a href="remmina__file_8c.html#ad514c2523ff0c919ddf535e3dbad9f3a">remmina_file_get_secret</a></div><div class="ttdeci">gchar * remmina_file_get_secret(RemminaFile *remminafile, const gchar *setting)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00484">remmina_file.c:484</a></div></div>
<div class="ttc" id="remmina__pref_8c_html_a12e52ee4ab89912280605e36ee069267"><div class="ttname"><a href="remmina__pref_8c.html#a12e52ee4ab89912280605e36ee069267">remmina_pref_get_ssh_loglevel</a></div><div class="ttdeci">gint remmina_pref_get_ssh_loglevel(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8c_source.html#l00984">remmina_pref.c:984</a></div></div>
<div class="ttc" id="plugin_8h_html_aaf53c620d115a4642130227cff4a624aa45e094c248384c12cdafd9d088e4aa24"><div class="ttname"><a href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aa45e094c248384c12cdafd9d088e4aa24">REMMINA_PLUGIN_TYPE_PROTOCOL</a></div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00045">plugin.h:45</a></div></div>
<div class="ttc" id="struct___remmina_protocol_plugin_html_afa1a3a21c504b386cecfb42d1c9e6bff"><div class="ttname"><a href="struct___remmina_protocol_plugin.html#afa1a3a21c504b386cecfb42d1c9e6bff">_RemminaProtocolPlugin::features</a></div><div class="ttdeci">const RemminaProtocolFeature * features</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00073">plugin.h:73</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_afce14b101da527ada9b44a4503e91e07"><div class="ttname"><a href="remmina__plugin__manager_8c.html#afce14b101da527ada9b44a4503e91e07">remmina_plugin_manager_get_export_file_handler</a></div><div class="ttdeci">RemminaFilePlugin * remmina_plugin_manager_get_export_file_handler(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00510">remmina_plugin_manager.c:510</a></div></div>
<div class="ttc" id="remmina__trace__calls_8h_html"><div class="ttname"><a href="remmina__trace__calls_8h.html">remmina_trace_calls.h</a></div></div>
<div class="ttc" id="struct___remmina_plugin_html_a024d3e6d752dd29828b31c60c8c7c201"><div class="ttname"><a href="struct___remmina_plugin.html#a024d3e6d752dd29828b31c60c8c7c201">_RemminaPlugin::domain</a></div><div class="ttdeci">const gchar * domain</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00057">plugin.h:57</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a859348bddc9069f06195915692b65076"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a859348bddc9069f06195915692b65076">remmina_plugin_manager_get_import_file_handler</a></div><div class="ttdeci">RemminaFilePlugin * remmina_plugin_manager_get_import_file_handler(const gchar *file)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00491">remmina_plugin_manager.c:491</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_ad380a98f6624aa8c830015c8b428b7b4"><div class="ttname"><a href="remmina__plugin__manager_8c.html#ad380a98f6624aa8c830015c8b428b7b4">remmina_plugin_manager_get_secret_plugin</a></div><div class="ttdeci">RemminaSecretPlugin * remmina_plugin_manager_get_secret_plugin(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00527">remmina_plugin_manager.c:527</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a9473da27fd10eb46ef8360f9ad4be86d"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget_get_cacert</a></div><div class="ttdeci">gchar * remmina_protocol_widget_get_cacert(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01556">remmina_protocol_widget.c:1556</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_ae609b351fff17c235251b0ba7c480da5"><div class="ttname"><a href="remmina__protocol__widget_8c.html#ae609b351fff17c235251b0ba7c480da5">remmina_protocol_widget_get_height</a></div><div class="ttdeci">gint remmina_protocol_widget_get_height(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01129">remmina_protocol_widget.c:1129</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a5ec62969da54155e24edcb1d998f93f7"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a5ec62969da54155e24edcb1d998f93f7">remmina_protocol_widget_get_current_scale_mode</a></div><div class="ttdeci">RemminaScaleMode remmina_protocol_widget_get_current_scale_mode(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01141">remmina_protocol_widget.c:1141</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_aa88afa1e3f04974974a8be324b0a930e"><div class="ttname"><a href="remmina__protocol__widget_8c.html#aa88afa1e3f04974974a8be324b0a930e">remmina_protocol_widget_update_align</a></div><div class="ttdeci">void remmina_protocol_widget_update_align(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00394">remmina_protocol_widget.c:394</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_aa674c14f3a46dd5eb6b53d6f8ce6bd31"><div class="ttname"><a href="remmina__protocol__widget_8c.html#aa674c14f3a46dd5eb6b53d6f8ce6bd31">remmina_protocol_widget_panel_authx509</a></div><div class="ttdeci">gint remmina_protocol_widget_panel_authx509(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01481">remmina_protocol_widget.c:1481</a></div></div>
<div class="ttc" id="remmina__pref_8c_html_a4fbb2aff07d1fef416352d8b80d79e02"><div class="ttname"><a href="remmina__pref_8c.html#a4fbb2aff07d1fef416352d8b80d79e02">remmina_pref_set_value</a></div><div class="ttdeci">void remmina_pref_set_value(const gchar *key, const gchar *value)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8c_source.html#l01026">remmina_pref.c:1026</a></div></div>
<div class="ttc" id="struct___remmina_protocol_plugin_html"><div class="ttname"><a href="struct___remmina_protocol_plugin.html">_RemminaProtocolPlugin</a></div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00061">plugin.h:61</a></div></div>
<div class="ttc" id="struct___remmina_plugin_html_a4ac66b7ebefb9bd8167737eb1af83cde"><div class="ttname"><a href="struct___remmina_plugin.html#a4ac66b7ebefb9bd8167737eb1af83cde">_RemminaPlugin::description</a></div><div class="ttdeci">const gchar * description</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00056">plugin.h:56</a></div></div>
<div class="ttc" id="struct___remmina_plugin_html_aecdad5d7ff5bdfbf0ce80b4b73f65099"><div class="ttname"><a href="struct___remmina_plugin.html#aecdad5d7ff5bdfbf0ce80b4b73f65099">_RemminaPlugin::version</a></div><div class="ttdeci">const gchar * version</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00058">plugin.h:58</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a15368afcbeb770f8cf25941bd49e7b54"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a15368afcbeb770f8cf25941bd49e7b54">remmina_protocol_widget_set_display</a></div><div class="ttdeci">void remmina_protocol_widget_set_display(RemminaProtocolWidget *gp, gint display)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01089">remmina_protocol_widget.c:1089</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a41b62f211a8a8e960bc80aa1ba6b0380"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a41b62f211a8a8e960bc80aa1ba6b0380">remmina_protocol_widget_set_width</a></div><div class="ttdeci">void remmina_protocol_widget_set_width(RemminaProtocolWidget *gp, gint width)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01123">remmina_protocol_widget.c:1123</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a634fadd9871f76bc60c3da0aa95e719c"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a634fadd9871f76bc60c3da0aa95e719c">remmina_plugin_manager_show_for_each</a></div><div class="ttdeci">static gboolean remmina_plugin_manager_show_for_each(RemminaPlugin *plugin, GtkListStore *store)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00426">remmina_plugin_manager.c:426</a></div></div>
<div class="ttc" id="remmina__pref_8c_html_a6bcbf4cc3a58ed4ee9f087b4270d8fd6"><div class="ttname"><a href="remmina__pref_8c.html#a6bcbf4cc3a58ed4ee9f087b4270d8fd6">remmina_pref_get_value</a></div><div class="ttdeci">gchar * remmina_pref_get_value(const gchar *key)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8c_source.html#l01043">remmina_pref.c:1043</a></div></div>
<div class="ttc" id="struct___remmina_secret_plugin_html"><div class="ttname"><a href="struct___remmina_secret_plugin.html">_RemminaSecretPlugin</a></div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00129">plugin.h:129</a></div></div>
<div class="ttc" id="remmina__log_8c_html_aa90e751e7bd5d477179188273c095d9a"><div class="ttname"><a href="remmina__log_8c.html#aa90e751e7bd5d477179188273c095d9a">remmina_debug</a></div><div class="ttdeci">void remmina_debug(const gchar *fmt,...)</div><div class="ttdoc">Print a string in the Remmina Debug Windows and in the terminal. </div><div class="ttdef"><b>Definition:</b> <a href="remmina__log_8c_source.html#l00194">remmina_log.c:194</a></div></div>
<div class="ttc" id="remmina__pref_8c_html_a98b783e4c5c1dae695fe554f52f94a23"><div class="ttname"><a href="remmina__pref_8c.html#a98b783e4c5c1dae695fe554f52f94a23">remmina_pref_get_ssh_parseconfig</a></div><div class="ttdeci">gboolean remmina_pref_get_ssh_parseconfig(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8c_source.html#l00990">remmina_pref.c:990</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a278e13b53a4fdb65498e00e908edb98d"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a278e13b53a4fdb65498e00e908edb98d">remmina_protocol_widget_panel_show_listen</a></div><div class="ttdeci">void remmina_protocol_widget_panel_show_listen(RemminaProtocolWidget *gp, gint port)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01646">remmina_protocol_widget.c:1646</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_aedec4e9cf18d99a559aa51065c2bc276"><div class="ttname"><a href="remmina__plugin__manager_8c.html#aedec4e9cf18d99a559aa51065c2bc276">remmina_plugin_manager_show</a></div><div class="ttdeci">void remmina_plugin_manager_show(GtkWindow *parent)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00437">remmina_plugin_manager.c:437</a></div></div>
<div class="ttc" id="remmina__public_8h_html"><div class="ttname"><a href="remmina__public_8h.html">remmina_public.h</a></div></div>
<div class="ttc" id="remmina__masterthread__exec_8c_html_a3a52e863a3a3da6da6bb5d36c13b7ff4"><div class="ttname"><a href="remmina__masterthread__exec_8c.html#a3a52e863a3a3da6da6bb5d36c13b7ff4">remmina_masterthread_exec_is_main_thread</a></div><div class="ttdeci">gboolean remmina_masterthread_exec_is_main_thread()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__masterthread__exec_8c_source.html#l00144">remmina_masterthread_exec.c:144</a></div></div>
<div class="ttc" id="struct___remmina_file_plugin_html_aafae42901b54bcb08f0cb24451836b03"><div class="ttname"><a href="struct___remmina_file_plugin.html#aafae42901b54bcb08f0cb24451836b03">_RemminaFilePlugin::export_test_func</a></div><div class="ttdeci">gboolean(* export_test_func)(RemminaFile *file)</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00103">plugin.h:103</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a1cae52cad394f317c712eb4fd709d261"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a1cae52cad394f317c712eb4fd709d261">remmina_protocol_widget_signal_connection_closed</a></div><div class="ttdeci">void remmina_protocol_widget_signal_connection_closed(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00343">remmina_protocol_widget.c:343</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a3996819fdb2c833f3c64c2ad399e5f10"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a3996819fdb2c833f3c64c2ad399e5f10">remmina_plugin_manager_service</a></div><div class="ttdeci">RemminaPluginService remmina_plugin_manager_service</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00172">remmina_plugin_manager.c:172</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a719ce18a83ed7ecb3388f179a8590c10"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a719ce18a83ed7ecb3388f179a8590c10">remmina_plugin_type_name</a></div><div class="ttdeci">static const gchar * remmina_plugin_type_name[]</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00069">remmina_plugin_manager.c:69</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a9acf045c5a3eec5b7f748678dee0d3ee"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a9acf045c5a3eec5b7f748678dee0d3ee">remmina_protocol_widget_desktop_resize</a></div><div class="ttdeci">void remmina_protocol_widget_desktop_resize(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00424">remmina_protocol_widget.c:424</a></div></div>
<div class="ttc" id="remmina__log_8h_html"><div class="ttname"><a href="remmina__log_8h.html">remmina_log.h</a></div></div>
<div class="ttc" id="struct___remmina_protocol_feature_html_a1826baafd2d7b5dc8a009ef4fcad77e9"><div class="ttname"><a href="struct___remmina_protocol_feature.html#a1826baafd2d7b5dc8a009ef4fcad77e9">_RemminaProtocolFeature::type</a></div><div class="ttdeci">RemminaProtocolFeatureType type</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00057">types.h:57</a></div></div>
<div class="ttc" id="structmpchanger__params_html_a3cb4141ca61b0b9a5584239386dbbe46"><div class="ttname"><a href="structmpchanger__params.html#a3cb4141ca61b0b9a5584239386dbbe46">mpchanger_params::iter</a></div><div class="ttdeci">GtkTreeIter iter</div><div class="ttdef"><b>Definition:</b> <a href="remmina__mpchange_8c_source.html#l00066">remmina_mpchange.c:66</a></div></div>
<div class="ttc" id="struct___remmina_secret_plugin_html_a197b28d8b71ccb0c91ce8bf27690968a"><div class="ttname"><a href="struct___remmina_secret_plugin.html#a197b28d8b71ccb0c91ce8bf27690968a">_RemminaSecretPlugin::name</a></div><div class="ttdeci">const gchar * name</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00131">plugin.h:131</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_acf75fd4bac28a3d53da064b2905f23c1"><div class="ttname"><a href="remmina__protocol__widget_8c.html#acf75fd4bac28a3d53da064b2905f23c1">remmina_protocol_widget_panel_changed_certificate</a></div><div class="ttdeci">gint remmina_protocol_widget_panel_changed_certificate(RemminaProtocolWidget *gp, const gchar *subject, const gchar *issuer, const gchar *new_fingerprint, const gchar *old_fingerprint)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01510">remmina_protocol_widget.c:1510</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a1668951fd7067f2c405e001836855080"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a1668951fd7067f2c405e001836855080">remmina_plugin_manager_query_feature_by_type</a></div><div class="ttdeci">gboolean remmina_plugin_manager_query_feature_by_type(RemminaPluginType ptype, const gchar *name, RemminaProtocolFeatureType ftype)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00533">remmina_plugin_manager.c:533</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_ab9632c73b32531b7bea976e10204670b"><div class="ttname"><a href="remmina__protocol__widget_8c.html#ab9632c73b32531b7bea976e10204670b">remmina_protocol_widget_get_clientcert</a></div><div class="ttdeci">gchar * remmina_protocol_widget_get_clientcert(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01574">remmina_protocol_widget.c:1574</a></div></div>
<div class="ttc" id="remmina__file_8c_html_af153b0d289ac93f6ecdaa15d5f3b9b8c"><div class="ttname"><a href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a></div><div class="ttdeci">void remmina_file_set_int(RemminaFile *remminafile, const gchar *setting, gint value)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00518">remmina_file.c:518</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a2551dd6f53480609596d2695040fba5d"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a2551dd6f53480609596d2695040fba5d">remmina_protocol_widget_unlock_dynres</a></div><div class="ttdeci">void remmina_protocol_widget_unlock_dynres(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00409">remmina_protocol_widget.c:409</a></div></div>
<div class="ttc" id="struct___remmina_protocol_feature_html"><div class="ttname"><a href="struct___remmina_protocol_feature.html">_RemminaProtocolFeature</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00056">types.h:56</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a1ef27b953decb0c707ec9a18da47a38f"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a1ef27b953decb0c707ec9a18da47a38f">remmina_gtksocket_available</a></div><div class="ttdeci">gboolean remmina_gtksocket_available()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00151">remmina_plugin_manager.c:151</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a7ed85f4ea19e0660dbf46f4f3dc4b895"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a7ed85f4ea19e0660dbf46f4f3dc4b895">remmina_protocol_widget_panel_show_retry</a></div><div class="ttdeci">void remmina_protocol_widget_panel_show_retry(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01674">remmina_protocol_widget.c:1674</a></div></div>
<div class="ttc" id="struct___remmina_protocol_plugin_html_aae09a7e2c978cc36e85d0f295518978d"><div class="ttname"><a href="struct___remmina_protocol_plugin.html#aae09a7e2c978cc36e85d0f295518978d">_RemminaProtocolPlugin::basic_settings</a></div><div class="ttdeci">const RemminaProtocolSetting * basic_settings</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00070">plugin.h:70</a></div></div>
<div class="ttc" id="struct___remmina_file_plugin_html_ac00efb2a471517b35fbd386c29ee18f4"><div class="ttname"><a href="struct___remmina_file_plugin.html#ac00efb2a471517b35fbd386c29ee18f4">_RemminaFilePlugin::import_test_func</a></div><div class="ttdeci">gboolean(* import_test_func)(const gchar *from_file)</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00101">plugin.h:101</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a262d75d6b535bd8c623e607805db4084"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a262d75d6b535bd8c623e607805db4084">remmina_protocol_widget_panel_new_certificate</a></div><div class="ttdeci">gint remmina_protocol_widget_panel_new_certificate(RemminaProtocolWidget *gp, const gchar *subject, const gchar *issuer, const gchar *fingerprint)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01489">remmina_protocol_widget.c:1489</a></div></div>
<div class="ttc" id="remmina__file__manager_8c_html_aa65bc30beb59d607ba430d966e7e27f5"><div class="ttname"><a href="remmina__file__manager_8c.html#aa65bc30beb59d607ba430d966e7e27f5">remmina_file_get_datadir</a></div><div class="ttdeci">gchar * remmina_file_get_datadir(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__manager_8c_source.html#l00054">remmina_file_manager.c:54</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a12eddf3428a53201ee0a2ec422d2fa4a"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a12eddf3428a53201ee0a2ec422d2fa4a">remmina_protocol_widget_ssh_exec</a></div><div class="ttdeci">gboolean remmina_protocol_widget_ssh_exec(RemminaProtocolWidget *gp, gboolean wait, const gchar *fmt,...)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00942">remmina_protocol_widget.c:942</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a70aecb9af2ea35527e8d058d1d87a0d3"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a70aecb9af2ea35527e8d058d1d87a0d3">remmina_protocol_widget_get_cacrl</a></div><div class="ttdeci">gchar * remmina_protocol_widget_get_cacrl(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01565">remmina_protocol_widget.c:1565</a></div></div>
<div class="ttc" id="types_8h_html_a77ae46c4fd739dcd8e819fe9cdae27c5"><div class="ttname"><a href="types_8h.html#a77ae46c4fd739dcd8e819fe9cdae27c5">RemminaProtocolFeatureType</a></div><div class="ttdeci">RemminaProtocolFeatureType</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00043">types.h:43</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_aadd106cec729a80405c6097e4c662044"><div class="ttname"><a href="remmina__protocol__widget_8c.html#aadd106cec729a80405c6097e4c662044">remmina_protocol_widget_set_height</a></div><div class="ttdeci">void remmina_protocol_widget_set_height(RemminaProtocolWidget *gp, gint height)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01135">remmina_protocol_widget.c:1135</a></div></div>
<div class="ttc" id="struct___remmina_protocol_setting_html_a6274d44b592a54162ff583135e55ffc9"><div class="ttname"><a href="struct___remmina_protocol_setting.html#a6274d44b592a54162ff583135e55ffc9">_RemminaProtocolSetting::type</a></div><div class="ttdeci">RemminaProtocolSettingType type</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00095">types.h:95</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_ac3e5a7f14aef4adb2e57d35e9c180b3b"><div class="ttname"><a href="remmina__protocol__widget_8c.html#ac3e5a7f14aef4adb2e57d35e9c180b3b">remmina_protocol_widget_emit_signal</a></div><div class="ttdeci">void remmina_protocol_widget_emit_signal(RemminaProtocolWidget *gp, const gchar *signal_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00565">remmina_protocol_widget.c:565</a></div></div>
<div class="ttc" id="struct___remmina_protocol_setting_html"><div class="ttname"><a href="struct___remmina_protocol_setting.html">_RemminaProtocolSetting</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00094">types.h:94</a></div></div>
<div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350aa045109309280606ff11a9de1862e2ba"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350aa045109309280606ff11a9de1862e2ba">REMMINA_PROTOCOL_SETTING_TYPE_RESOLUTION</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00083">types.h:83</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a5e421ba636d34e21bba5ece463e98892"><div class="ttname"><a href="remmina__file_8c.html#a5e421ba636d34e21bba5ece463e98892">remmina_file_new</a></div><div class="ttdeci">RemminaFile * remmina_file_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00090">remmina_file.c:90</a></div></div>
<div class="ttc" id="remmina__pref_8c_html_aaac087c000b0863a296f2739f6344af8"><div class="ttname"><a href="remmina__pref_8c.html#aaac087c000b0863a296f2739f6344af8">remmina_pref_keymap_get_keyval</a></div><div class="ttdeci">guint remmina_pref_keymap_get_keyval(const gchar *keymap, guint keyval)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8c_source.html#l00931">remmina_pref.c:931</a></div></div>
<div class="ttc" id="rcw_8h_html"><div class="ttname"><a href="rcw_8h.html">rcw.h</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a2830f756dfc3d735b57b0c5753c429e3"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a2830f756dfc3d735b57b0c5753c429e3">remmina_protocol_widget_is_closed</a></div><div class="ttdeci">gboolean remmina_protocol_widget_is_closed(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01198">remmina_protocol_widget.c:1198</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a08d312825fc0de9f9286279d99f763a1"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a08d312825fc0de9f9286279d99f763a1">remmina_protocol_widget_get_clientkey</a></div><div class="ttdeci">gchar * remmina_protocol_widget_get_clientkey(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01583">remmina_protocol_widget.c:1583</a></div></div>
<div class="ttc" id="plugin_8h_html_a59fee7dbde41c8d29059ca64622d1948"><div class="ttname"><a href="plugin_8h.html#a59fee7dbde41c8d29059ca64622d1948">RemminaPluginEntryFunc</a></div><div class="ttdeci">gboolean(* RemminaPluginEntryFunc)(RemminaPluginService *service)</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00229">plugin.h:229</a></div></div>
<div class="ttc" id="struct___remmina_file_plugin_html_a3ff85e56bf902817630aafea67e3e494"><div class="ttname"><a href="struct___remmina_file_plugin.html#a3ff85e56bf902817630aafea67e3e494">_RemminaFilePlugin::type</a></div><div class="ttdeci">RemminaPluginType type</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00095">plugin.h:95</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a4884356c195dcfb4ceacf641a1e74e66"><div class="ttname"><a href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a></div><div class="ttdeci">gint remmina_file_get_int(RemminaFile *remminafile, const gchar *setting, gint default_value)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00524">remmina_file.c:524</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a172fa9cf2ce196c9846a3e47ea9036b4"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a172fa9cf2ce196c9846a3e47ea9036b4">remmina_protocol_widget_start_xport_tunnel</a></div><div class="ttdeci">gboolean remmina_protocol_widget_start_xport_tunnel(RemminaProtocolWidget *gp, RemminaXPortTunnelInitFunc init_func)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01046">remmina_protocol_widget.c:1046</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a3872c8656a8a3d5147bcc603471c1932"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a3872c8656a8a3d5147bcc603471c1932">remmina_plugin_manager_get_plugin</a></div><div class="ttdeci">RemminaPlugin * remmina_plugin_manager_get_plugin(RemminaPluginType type, const gchar *name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00359">remmina_plugin_manager.c:359</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a05b5edfc3d3d0dcff1745d1d35aaca5c"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a05b5edfc3d3d0dcff1745d1d35aaca5c">remmina_protocol_widget_signal_connection_opened</a></div><div class="ttdeci">void remmina_protocol_widget_signal_connection_opened(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00377">remmina_protocol_widget.c:377</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a65313d34bb7e940f388e45818fd5889e"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a65313d34bb7e940f388e45818fd5889e">remmina_plugin_table</a></div><div class="ttdeci">static GPtrArray * remmina_plugin_table</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00061">remmina_plugin_manager.c:61</a></div></div>
<div class="ttc" id="remmina__masterthread__exec_8h_html"><div class="ttname"><a href="remmina__masterthread__exec_8h.html">remmina_masterthread_exec.h</a></div></div>
<div class="ttc" id="structmpchanger__params_html_a3f0a338901d8e6195eb872b0f2098e73"><div class="ttname"><a href="structmpchanger__params.html#a3f0a338901d8e6195eb872b0f2098e73">mpchanger_params::store</a></div><div class="ttdeci">GtkListStore * store</div><div class="ttdef"><b>Definition:</b> <a href="remmina__mpchange_8c_source.html#l00060">remmina_mpchange.c:60</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_ad8df6a87e19b7751b26820ef4a668de9"><div class="ttname"><a href="remmina__protocol__widget_8c.html#ad8df6a87e19b7751b26820ef4a668de9">remmina_protocol_widget_get_profile_remote_height</a></div><div class="ttdeci">gint remmina_protocol_widget_get_profile_remote_height(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01109">remmina_protocol_widget.c:1109</a></div></div>
<div class="ttc" id="remmina__pref_8h_html"><div class="ttname"><a href="remmina__pref_8h.html">remmina_pref.h</a></div></div>
<div class="ttc" id="struct___remmina_secret_plugin_html_ad433f24a09d962e66a336eb461cecd56"><div class="ttname"><a href="struct___remmina_secret_plugin.html#ad433f24a09d962e66a336eb461cecd56">_RemminaSecretPlugin::init</a></div><div class="ttdeci">gboolean(* init)(void)</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00137">plugin.h:137</a></div></div>
<div class="ttc" id="struct___remmina_protocol_plugin_html_a6e04143450eeb71e3d0b2c14983860a4"><div class="ttname"><a href="struct___remmina_protocol_plugin.html#a6e04143450eeb71e3d0b2c14983860a4">_RemminaProtocolPlugin::name</a></div><div class="ttdeci">const gchar * name</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00063">plugin.h:63</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a3fc52d61f77327534286f57e563e0923"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget_get_password</a></div><div class="ttdeci">gchar * remmina_protocol_widget_get_password(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01538">remmina_protocol_widget.c:1538</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_ae78fa0b2eab8c987d810c6997b136d2e"><div class="ttname"><a href="remmina__plugin__manager_8c.html#ae78fa0b2eab8c987d810c6997b136d2e">remmina_plugin_manager_compare_func</a></div><div class="ttdeci">static gint remmina_plugin_manager_compare_func(RemminaPlugin **a, RemminaPlugin **b)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00072">remmina_plugin_manager.c:72</a></div></div>
<div class="ttc" id="struct___remmina_protocol_plugin_html_aceb00d9dff794500ccb04a1373eb32db"><div class="ttname"><a href="struct___remmina_protocol_plugin.html#aceb00d9dff794500ccb04a1373eb32db">_RemminaProtocolPlugin::advanced_settings</a></div><div class="ttdeci">const RemminaProtocolSetting * advanced_settings</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00071">plugin.h:71</a></div></div>
<div class="ttc" id="plugin_8h_html_aaf53c620d115a4642130227cff4a624a"><div class="ttname"><a href="plugin_8h.html#aaf53c620d115a4642130227cff4a624a">RemminaPluginType</a></div><div class="ttdeci">RemminaPluginType</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00044">plugin.h:44</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a150a4a8a8dcd21a51008250bb38bce49"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a150a4a8a8dcd21a51008250bb38bce49">encrypted_settings_cache</a></div><div class="ttdeci">static GHashTable * encrypted_settings_cache</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00064">remmina_plugin_manager.c:64</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a0b19dbe685e4465e7f06706270e120fa"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a0b19dbe685e4465e7f06706270e120fa">remmina_protocol_widget_set_expand</a></div><div class="ttdeci">void remmina_protocol_widget_set_expand(RemminaProtocolWidget *gp, gboolean expand)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01159">remmina_protocol_widget.c:1159</a></div></div>
<div class="ttc" id="remmina__log_8c_html_ac7848510c1fe1990c992e28cd31af9d8"><div class="ttname"><a href="remmina__log_8c.html#ac7848510c1fe1990c992e28cd31af9d8">remmina_log_printf</a></div><div class="ttdeci">void remmina_log_printf(const gchar *fmt,...)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__log_8c_source.html#l00215">remmina_log.c:215</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a3fdc160c477f9f5e1d881c0c054d4b07"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a3fdc160c477f9f5e1d881c0c054d4b07">remmina_plugin_manager_show_for_each_stdout</a></div><div class="ttdeci">static gboolean remmina_plugin_manager_show_for_each_stdout(RemminaPlugin *plugin)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00408">remmina_plugin_manager.c:408</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a85ca1ca2d0bf9ef29e490c6f4527a954"><div class="ttname"><a href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a></div><div class="ttdeci">void remmina_file_set_string(RemminaFile *remminafile, const gchar *setting, const gchar *value)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00423">remmina_file.c:423</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a9bcd0d356c7215dc0f791c9744360705"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a9bcd0d356c7215dc0f791c9744360705">remmina_protocol_widget_send_keys_signals</a></div><div class="ttdeci">void remmina_protocol_widget_send_keys_signals(GtkWidget *widget, const guint *keyvals, int keyvals_length, GdkEventType action)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01790">remmina_protocol_widget.c:1790</a></div></div>
<div class="ttc" id="remmina__log_8c_html_aca8f826a273194e22f4467421af9b3aa"><div class="ttname"><a href="remmina__log_8c.html#aca8f826a273194e22f4467421af9b3aa">remmina_log_print</a></div><div class="ttdeci">void remmina_log_print(const gchar *text)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__log_8c_source.html#l00181">remmina_log.c:181</a></div></div>
<div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350ad898beb6ae625dee1ae27de75f1ab4e3"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350ad898beb6ae625dee1ae27de75f1ab4e3">REMMINA_PROTOCOL_SETTING_TYPE_END</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00079">types.h:79</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a503e53fe49430a5ed310c342c946c014"><div class="ttname"><a href="remmina__file_8c.html#a503e53fe49430a5ed310c342c946c014">remmina_file_unsave_passwords</a></div><div class="ttdeci">void remmina_file_unsave_passwords(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00736">remmina_file.c:736</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8h_html"><div class="ttname"><a href="remmina__protocol__widget_8h.html">remmina_protocol_widget.h</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a4a3a9ba7422fc302b0b412ac771c9953"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a4a3a9ba7422fc302b0b412ac771c9953">remmina_protocol_widget_chat_close</a></div><div class="ttdeci">void remmina_protocol_widget_chat_close(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01729">remmina_protocol_widget.c:1729</a></div></div>
<div class="ttc" id="remmina__public_8c_html_adc8b77823386e00e610527d6b0b61149"><div class="ttname"><a href="remmina__public_8c.html#adc8b77823386e00e610527d6b0b61149">remmina_public_get_server_port</a></div><div class="ttdeci">void remmina_public_get_server_port(const gchar *server, gint defaultport, gchar **host, gint *port)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__public_8c_source.html#l00333">remmina_public.c:333</a></div></div>
<div class="ttc" id="plugin_8h_html_aaf53c620d115a4642130227cff4a624aa0d17e841a53921a7a6156f5d30e9f09c"><div class="ttname"><a href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aa0d17e841a53921a7a6156f5d30e9f09c">REMMINA_PLUGIN_TYPE_SECRET</a></div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00050">plugin.h:50</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_ad4cb2d85f9cf76089a082122f2891fb8"><div class="ttname"><a href="remmina__plugin__manager_8c.html#ad4cb2d85f9cf76089a082122f2891fb8">remmina_plugin_manager_register_plugin</a></div><div class="ttdeci">static gboolean remmina_plugin_manager_register_plugin(RemminaPlugin *plugin)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00135">remmina_plugin_manager.c:135</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_afe0881986b2a64bfb5460981dadcf28d"><div class="ttname"><a href="remmina__plugin__manager_8c.html#afe0881986b2a64bfb5460981dadcf28d">remmina_plugin_manager_show_stdout</a></div><div class="ttdeci">void remmina_plugin_manager_show_stdout()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00419">remmina_plugin_manager.c:419</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a2506e80d482c34532d0e534856452069"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a2506e80d482c34532d0e534856452069">remmina_protocol_widget_get_file</a></div><div class="ttdeci">RemminaFile * remmina_protocol_widget_get_file(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01204">remmina_protocol_widget.c:1204</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a72f0dbafb41acc4a5834f5c0719e6046"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a72f0dbafb41acc4a5834f5c0719e6046">init_settings_cache</a></div><div class="ttdeci">static void init_settings_cache(RemminaPlugin *plugin)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00083">remmina_plugin_manager.c:83</a></div></div>
<div class="ttc" id="vnc__plugin_8c_html_ab96ef9227ecef94018f2729f72e7651e"><div class="ttname"><a href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a></div><div class="ttdeci">N_(&quot;Unable to connect to VNC server&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="vnc__plugin_8c_source.html#l00907">vnc_plugin.c:907</a></div></div>
<div class="ttc" id="struct___remmina_plugin_service_html"><div class="ttname"><a href="struct___remmina_plugin_service.html">_RemminaPluginService</a></div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00147">plugin.h:147</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a66263e6e7da79357ceb80d32b191d9f2"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a66263e6e7da79357ceb80d32b191d9f2">remmina_protocol_widget_chat_open</a></div><div class="ttdeci">void remmina_protocol_widget_chat_open(RemminaProtocolWidget *gp, const gchar *name, void(*on_send)(RemminaProtocolWidget *gp, const gchar *text), void(*on_destroy)(RemminaProtocolWidget *gp))</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01713">remmina_protocol_widget.c:1713</a></div></div>
<div class="ttc" id="struct___remmina_plugin_html_a3f09b29bb3b0c044780d56a8b1a51582"><div class="ttname"><a href="struct___remmina_plugin.html#a3f09b29bb3b0c044780d56a8b1a51582">_RemminaPlugin::name</a></div><div class="ttdeci">const gchar * name</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00055">plugin.h:55</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a96159bd8e9d70c74967e666e2f188df0"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a96159bd8e9d70c74967e666e2f188df0">remmina_protocol_widget_get_username</a></div><div class="ttdeci">gchar * remmina_protocol_widget_get_username(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01532">remmina_protocol_widget.c:1532</a></div></div>
<div class="ttc" id="struct___remmina_protocol_setting_html_ac4cd339607204c5f478727e2a0c04857"><div class="ttname"><a href="struct___remmina_protocol_setting.html#ac4cd339607204c5f478727e2a0c04857">_RemminaProtocolSetting::name</a></div><div class="ttdeci">const gchar * name</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00096">types.h:96</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="remmina__plugin__manager_8c.html">remmina_plugin_manager.c</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>