This repository was archived by the owner on Dec 5, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathblackmisc_2network_2textmessage_8cpp_source.html
555 lines (553 loc) · 137 KB
/
blackmisc_2network_2textmessage_8cpp_source.html
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
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>swift: src/blackmisc/network/textmessage.cpp 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="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" />
<link href="doxygen-awesome.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="projectalign" style="padding-left: 0.5em;">
<div id="projectname">swift
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_9687d2aaac47be79d7525830e55feee8.html">blackmisc</a></li><li class="navelem"><a class="el" href="dir_50149a2609836f559515ca30e8019fb6.html">network</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">textmessage.cpp</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// SPDX-FileCopyrightText: Copyright (C) 2013 swift Project Community / Contributors</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>  </div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include "<a class="code" href="blackmisc_2network_2textmessage_8h.html">blackmisc/network/textmessage.h</a>"</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#include "<a class="code" href="callsign_8h.html">blackmisc/aviation/callsign.h</a>"</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#include "<a class="code" href="comsystem_8h.html">blackmisc/aviation/comsystem.h</a>"</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#include "<a class="code" href="selcal_8h.html">blackmisc/aviation/selcal.h</a>"</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include "<a class="code" href="blackmisc_2pq_2constants_8h.html">blackmisc/pq/constants.h</a>"</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#include "<a class="code" href="physicalquantity_8h.html">blackmisc/pq/physicalquantity.h</a>"</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include "<a class="code" href="stringutils_8h.html">blackmisc/stringutils.h</a>"</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  </div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <Qt></span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include <QtGlobal></span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include <QStringBuilder></span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="keyword">using namespace </span>BlackMisc::Aviation;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="keyword">using namespace </span>BlackMisc::PhysicalQuantities;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <a class="code" href="valueobject_8h.html#ad5f912fe153560479a337770f6d8db43">BLACK_DEFINE_VALUEOBJECT_MIXINS</a>(BlackMisc::Network, CTextMessage)</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">namespace </span>BlackMisc::Network</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> {</div>
<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a3722e7576f91e468a99697730dbfea2a"> 23</a></span>  CTextMessage::CTextMessage(<span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> &message, <span class="keyword">const</span> <a class="code" href="class_black_misc_1_1_physical_quantities_1_1_c_frequency.html">CFrequency</a> &frequency, <span class="keyword">const</span> <a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html">CCallsign</a> &senderCallsign)</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  : m_senderCallsign(senderCallsign), m_frequency(frequency)</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  {</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#aef234bbd2692869d2e106831c8acc33c">setMessage</a>(message); <span class="comment">// single place to modify message</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  m_frequency.<a class="code" href="class_black_misc_1_1_physical_quantities_1_1_c_physical_quantity.html#a596de833c722adbb5366f761caa12282">switchUnit</a>(<a class="code" href="class_black_misc_1_1_physical_quantities_1_1_c_frequency_unit.html#a658e450d90e3539b3f8c074eed2dadb6">PhysicalQuantities::CFrequencyUnit::MHz</a>());</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  }</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  </div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#af709929e8da7a15c2755d12b824bdfc7"> 30</a></span>  <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a408ca3cb831a8fadc447af725fd32f01">CTextMessage::CTextMessage</a>(<span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> &message, <span class="keyword">const</span> <a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html">CCallsign</a> &senderCallsign, <span class="keyword">const</span> <a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html">CCallsign</a> &recipientCallsign)</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  : m_senderCallsign(senderCallsign), m_recipientCallsign(recipientCallsign), m_frequency(0, nullptr)</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  {</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#aef234bbd2692869d2e106831c8acc33c">setMessage</a>(message); <span class="comment">// single place to modify message</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  }</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  </div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a19c5b4c59759294271d728ddd6ab70ba"> 36</a></span>  <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a19c5b4c59759294271d728ddd6ab70ba">CTextMessage::convertToQString</a>(<span class="keywordtype">bool</span> i18n)<span class="keyword"> const</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keywordflow">if</span> (this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a2391f4c268c77ec0b0651ffaa5ccf6dc">isPrivateMessage</a>())</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  {</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keywordflow">return</span> m_message %</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  u<span class="charliteral">' '</span> % m_senderCallsign.<a class="code" href="class_black_misc_1_1_mixin_1_1_string.html#a742439b46e1c8a650b9424277f79c98f">toQString</a>(i18n) %</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  u<span class="charliteral">' '</span> % m_recipientCallsign.<a class="code" href="class_black_misc_1_1_mixin_1_1_string.html#a742439b46e1c8a650b9424277f79c98f">toQString</a>(i18n);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  }</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">return</span> m_message % u<span class="charliteral">' '</span> % m_frequency.<a class="code" href="class_black_misc_1_1_mixin_1_1_string.html#a742439b46e1c8a650b9424277f79c98f">toQString</a>(i18n);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  }</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  </div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#ace06956e632effffc920d74032fda2f8"> 47</a></span>  <span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> &<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ace06956e632effffc920d74032fda2f8">CTextMessage::swiftRelayMessage</a>()</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  {</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> s(<span class="stringliteral">"swift relayed: "</span>);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">return</span> s;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  }</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  </div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a2391f4c268c77ec0b0651ffaa5ccf6dc"> 53</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a2391f4c268c77ec0b0651ffaa5ccf6dc">CTextMessage::isPrivateMessage</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordflow">return</span> !m_senderCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a26923f4ca5abc09d358cedb7cc7d09ff">isEmpty</a>() && !m_recipientCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a26923f4ca5abc09d358cedb7cc7d09ff">isEmpty</a>();</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  }</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  </div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a31d68be0212abff2668f7100733487ff"> 58</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a31d68be0212abff2668f7100733487ff">CTextMessage::isSupervisorMessage</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="comment">// ignore broadcast messages</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">if</span> (this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a758c0ab414c4986fcab99bd82befb69c">isBroadcastMessage</a>()) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="comment">// normal SUP message</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">return</span> m_senderCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#ae167afae6291f603c3319ffb5142961c">isSupervisorCallsign</a>();</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  }</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  </div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a2183c8f3e2cff3a12b57abf0089f3452"> 67</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a2183c8f3e2cff3a12b57abf0089f3452">CTextMessage::markAsSent</a>()</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  {</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  m_wasSent = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">if</span> (!this-><a class="code" href="class_black_misc_1_1_i_timestamp_based.html#a4968ec2a6e7482b91f4e23d5d3aa407c">hasValidTimestamp</a>())</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  {</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  this-><a class="code" href="class_black_misc_1_1_i_timestamp_based.html#afd3e54f43ad2c17794e645c6502dbf13">setCurrentUtcTime</a>();</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  }</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  }</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  </div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a9dc9c4ef669b431c8e0954a3edcd1557"> 76</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a9dc9c4ef669b431c8e0954a3edcd1557">CTextMessage::isRelayedMessage</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">return</span> m_relayedMessage || this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ae37a749b71e10e6e4206b77aadafed2b">getMessage</a>().<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#startsWith">startsWith</a>(<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ace06956e632effffc920d74032fda2f8">CTextMessage::swiftRelayMessage</a>());</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  }</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  </div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a9aa392010b7c0fa1b6d536f61945e19c"> 81</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a9aa392010b7c0fa1b6d536f61945e19c">CTextMessage::markAsBroadcastMessage</a>()</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  {</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  }</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  </div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a12ff99c11549adc5c8c9255098ebdb47"> 85</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a12ff99c11549adc5c8c9255098ebdb47">CTextMessage::makeRelayedMessage</a>(<span class="keyword">const</span> <a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html">CCallsign</a> &partnerCallsign)</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  {</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">if</span> (this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ae37a749b71e10e6e4206b77aadafed2b">getMessage</a>().startsWith(<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ace06956e632effffc920d74032fda2f8">CTextMessage::swiftRelayMessage</a>())) { <span class="keywordflow">return</span>; }</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> sender = this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a073941b4ec87ada4e5e685912b8f2e38">getSenderCallsign</a>().<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a2129dfb5014e00032356e4c7d651fd50">asString</a>();</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> recipient = this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a2d778c5f8976a25192e276dbb1b789a8">getRecipientCallsign</a>().<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a2129dfb5014e00032356e4c7d651fd50">asString</a>();</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a5f1b13f12b8910102504280b6ef34fb9">markAsRelayedMessage</a>();</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ad9bf3cb85653141ae2d910347a5e54ca">setRecipientCallsign</a>(partnerCallsign);</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  m_recipientCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a1e78c26613e4c4ce6319733344cf72d3">setTypeHint</a>(CCallsign::Aircraft);</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> newMessage = <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ace06956e632effffc920d74032fda2f8">CTextMessage::swiftRelayMessage</a>() % sender % u<span class="stringliteral">" "</span> % recipient % u<span class="stringliteral">";"</span> % this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ae37a749b71e10e6e4206b77aadafed2b">getMessage</a>();</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  m_message = newMessage;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  }</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  </div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a46e4014e77f58f96c0ef880ccc18ec3d"> 97</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a46e4014e77f58f96c0ef880ccc18ec3d">CTextMessage::relayedMessageToPrivateMessage</a>()</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  {</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">if</span> (!this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a9dc9c4ef669b431c8e0954a3edcd1557">isRelayedMessage</a>()) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> index = m_message.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#indexOf-1">indexOf</a>(<span class="charliteral">';'</span>);</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">if</span> (index < <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ace06956e632effffc920d74032fda2f8">CTextMessage::swiftRelayMessage</a>().length()) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">if</span> (m_message.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#length">length</a>() <= index + 1) { <span class="keywordflow">return</span> <span class="keyword">false</span>; } <span class="comment">// no next line</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> senderRecipient = m_message.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#left">left</a>(index).<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#remove">remove</a>(<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ace06956e632effffc920d74032fda2f8">CTextMessage::swiftRelayMessage</a>()).<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#trimmed">trimmed</a>();</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qstringlist.html">QStringList</a> sr = senderRecipient.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring-obsolete.html#split-1">split</a>(<span class="charliteral">' '</span>);</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">if</span> (sr.<a class="codeRef" href="http://doc.qt.io/qt-5/qlist.html#size">size</a>() != 2) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> originalSender = sr.<a class="codeRef" href="http://doc.qt.io/qt-5/qlist.html#first">first</a>();</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> originalRecipient = sr.<a class="codeRef" href="http://doc.qt.io/qt-5/qlist.html#last">last</a>();</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#aed483768147f34915be402ce38f9cd1c">setSenderCallsign</a>(<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html">CCallsign</a>(originalSender)); <span class="comment">// sender can be aircraft or ATC</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ad9bf3cb85653141ae2d910347a5e54ca">setRecipientCallsign</a>(<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html">CCallsign</a>(originalRecipient)); <span class="comment">// recipient can be aircraft or ATC</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  m_message = m_message.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#mid">mid</a>(index + 1);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  }</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  </div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#aea594ca493f40287ae467d7ba431ee16"> 114</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#aea594ca493f40287ae467d7ba431ee16">CTextMessage::canBeAppended</a>(<span class="keyword">const</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html">CTextMessage</a> &textMessage)<span class="keyword"> const</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">if</span> (textMessage.<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a69ebfb0d81cba86fa26dd45f18ff5103">isEmpty</a>()) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">if</span> (this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a073941b4ec87ada4e5e685912b8f2e38">getSenderCallsign</a>() != textMessage.<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a073941b4ec87ada4e5e685912b8f2e38">getSenderCallsign</a>()) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">if</span> (this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a958de9820f1ce3fdb185407e851acc4b">isRadioMessage</a>() && textMessage.<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a958de9820f1ce3fdb185407e851acc4b">isRadioMessage</a>())</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  {</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">if</span> (this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a126ee7c3d66bdff0df8a42e3f7081254">getFrequency</a>() != textMessage.<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a126ee7c3d66bdff0df8a42e3f7081254">getFrequency</a>()) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  }</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a2391f4c268c77ec0b0651ffaa5ccf6dc">isPrivateMessage</a>() && textMessage.<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a2391f4c268c77ec0b0651ffaa5ccf6dc">isPrivateMessage</a>())</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">if</span> (this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a2d778c5f8976a25192e276dbb1b789a8">getRecipientCallsign</a>() != textMessage.<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a2d778c5f8976a25192e276dbb1b789a8">getRecipientCallsign</a>()) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  }</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  }</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  </div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a0bac35f9d3e01fa70704b9cbe19c3d29"> 131</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a0bac35f9d3e01fa70704b9cbe19c3d29">CTextMessage::appendIfPossible</a>(<span class="keyword">const</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html">CTextMessage</a> &textMessage)</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  {</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">if</span> (textMessage.<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a69ebfb0d81cba86fa26dd45f18ff5103">isEmpty</a>()) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">if</span> (!this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#aea594ca493f40287ae467d7ba431ee16">canBeAppended</a>(textMessage)) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  m_message += u<span class="charliteral">' '</span> % textMessage.<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ae37a749b71e10e6e4206b77aadafed2b">getMessage</a>();</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  }</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  </div>
<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#ac2b37f3ec0cdc179077916958d06cda0"> 139</a></span>  <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ac2b37f3ec0cdc179077916958d06cda0">CTextMessage::getRecipientCallsignOrFrequency</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">if</span> (!m_recipientCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a26923f4ca5abc09d358cedb7cc7d09ff">isEmpty</a>()) { <span class="keywordflow">return</span> m_recipientCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a2129dfb5014e00032356e4c7d651fd50">asString</a>(); }</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">if</span> (m_frequency.<a class="code" href="class_black_misc_1_1_physical_quantities_1_1_c_physical_quantity.html#aff90526c73f7bb7ff9411d9a335456c6">isNull</a>()) { <span class="keywordflow">return</span> {}; }</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">return</span> m_frequency.<a class="code" href="class_black_misc_1_1_physical_quantities_1_1_c_physical_quantity.html#ab14f287b45c4f93f79c1398e3e8501a8">valueRoundedWithUnit</a>(CFrequencyUnit::MHz(), 3);</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  }</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  </div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#ab5d5fe2dec3c4f6c625fa6b6a9d766c7"> 146</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ab5d5fe2dec3c4f6c625fa6b6a9d766c7">CTextMessage::isSendToFrequency</a>(<span class="keyword">const</span> <a class="code" href="class_black_misc_1_1_physical_quantities_1_1_c_frequency.html">CFrequency</a> &frequency)<span class="keyword"> const</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">if</span> (!this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a958de9820f1ce3fdb185407e851acc4b">isRadioMessage</a>()) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">return</span> m_frequency == frequency;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  }</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  </div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a76ef93a989fc64e24b91812a3de1c046"> 152</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a76ef93a989fc64e24b91812a3de1c046">CTextMessage::isSendToUnicom</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">return</span> this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ab5d5fe2dec3c4f6c625fa6b6a9d766c7">isSendToFrequency</a>(CPhysicalQuantitiesConstants::FrequencyUnicom());</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  }</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  </div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a45887068aabad7791c9e0d8791c26f73"> 157</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a45887068aabad7791c9e0d8791c26f73">CTextMessage::hasValidRecipient</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">if</span> (!m_recipientCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a26923f4ca5abc09d358cedb7cc7d09ff">isEmpty</a>()) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">return</span> CComSystem::isValidCivilAviationFrequency(m_frequency);</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  }</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  </div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a1e18773b5e39000141c7077f311e74ee"> 163</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a1e18773b5e39000141c7077f311e74ee">CTextMessage::mentionsCallsign</a>(<span class="keyword">const</span> <a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html">CCallsign</a> &callsign)<span class="keyword"> const</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">if</span> (callsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a26923f4ca5abc09d358cedb7cc7d09ff">isEmpty</a>()) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">if</span> (m_message.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#length">length</a>() < callsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a2129dfb5014e00032356e4c7d651fd50">asString</a>().<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#length">length</a>()) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">return</span> m_message.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#contains-1">contains</a>(callsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a2129dfb5014e00032356e4c7d651fd50">asString</a>(), <a class="codeRef" href="http://doc.qt.io/qt-5/qt.html#CaseSensitivity-enum">Qt::CaseInsensitive</a>);</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  }</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  </div>
<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a54065814499c419b994496b7b38c7c86"> 170</a></span>  <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a54065814499c419b994496b7b38c7c86">CTextMessage::getAsciiOnlyMessage</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">if</span> (m_message.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#isEmpty">isEmpty</a>()) { <span class="keywordflow">return</span> {}; }</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">return</span> <a class="code" href="namespace_black_misc.html#af87b450f1e599e5d08d1a2ee0ce7b073">asciiOnlyString</a>(<a class="code" href="namespace_black_misc.html#ada73faf3c31c86a105983da8628ab8c0">simplifyAccents</a>(m_message));</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  }</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  </div>
<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a5152784d15a3dc54d55bbaf2659620f2"> 176</a></span>  <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a5152784d15a3dc54d55bbaf2659620f2">CTextMessage::getHtmlEncodedMessage</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">if</span> (m_message.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#isEmpty">isEmpty</a>()) { <span class="keywordflow">return</span> {}; }</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">return</span> m_message.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#toHtmlEscaped">toHtmlEscaped</a>();</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  }</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  </div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#aef234bbd2692869d2e106831c8acc33c"> 182</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#aef234bbd2692869d2e106831c8acc33c">CTextMessage::setMessage</a>(<span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> &message)</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  {</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  m_message = message.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#simplified">simplified</a>().<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#trimmed">trimmed</a>();</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  }</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  </div>
<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a958de9820f1ce3fdb185407e851acc4b"> 187</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a958de9820f1ce3fdb185407e851acc4b">CTextMessage::isRadioMessage</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">return</span> (CComSystem::isValidCivilAviationFrequency(m_frequency));</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  }</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  </div>
<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a0d8a0ad5d0cf54473083707f90d07f4b"> 192</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a0d8a0ad5d0cf54473083707f90d07f4b">CTextMessage::isServerMessage</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">if</span> (!this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a2391f4c268c77ec0b0651ffaa5ccf6dc">isPrivateMessage</a>()) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keyword">const</span> <a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html">CCallsign</a> cs = this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a073941b4ec87ada4e5e685912b8f2e38">getSenderCallsign</a>();</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">return</span> (cs.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a2129dfb5014e00032356e4c7d651fd50">asString</a>().<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#startsWith">startsWith</a>(<span class="stringliteral">"SERVER"</span>, <a class="codeRef" href="http://doc.qt.io/qt-5/qt.html#CaseSensitivity-enum">Qt::CaseInsensitive</a>));</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  }</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  </div>
<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a758c0ab414c4986fcab99bd82befb69c"> 199</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a758c0ab414c4986fcab99bd82befb69c">CTextMessage::isBroadcastMessage</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keyword">const</span> <a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html">CCallsign</a> cs = this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a2d778c5f8976a25192e276dbb1b789a8">getRecipientCallsign</a>();</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">return</span> cs.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a4bacc1c42e59c9332bd23ebdaa6d4b61">isBroadcastCallsign</a>();</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  }</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  </div>
<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a61ece3c8521067b20c79e4efa009c1a6"> 205</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a61ece3c8521067b20c79e4efa009c1a6">CTextMessage::isWallopMessage</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keyword">const</span> <a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html">CCallsign</a> cs = this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a2d778c5f8976a25192e276dbb1b789a8">getRecipientCallsign</a>();</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">return</span> cs.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#affe918cb418d0f63b5e24f65ba027650">getStringAsSet</a>() == <span class="stringliteral">"*S"</span>;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  }</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  </div>
<div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a11bf4c8ba32ee6e7575b3b0e7f3862d6"> 211</a></span>  <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a11bf4c8ba32ee6e7575b3b0e7f3862d6">CTextMessage::asString</a>(<span class="keywordtype">bool</span> withSender, <span class="keywordtype">bool</span> withRecipient, <span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> &separator)<span class="keyword"> const</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> s(this-><a class="code" href="class_black_misc_1_1_i_timestamp_based.html#a92d9e174984057e78def9eaf7ecca381">getFormattedUtcTimestampHms</a>());</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">if</span> (withSender)</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  {</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">if</span> (!m_senderCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a26923f4ca5abc09d358cedb7cc7d09ff">isEmpty</a>())</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  {</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordflow">if</span> (!s.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#isEmpty">isEmpty</a>()) { s += separator % m_senderCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#affe918cb418d0f63b5e24f65ba027650">getStringAsSet</a>(); }</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  }</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  }</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  </div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">if</span> (withRecipient)</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  {</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">if</span> (!m_recipientCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a26923f4ca5abc09d358cedb7cc7d09ff">isEmpty</a>())</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  {</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">if</span> (!s.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#isEmpty">isEmpty</a>()) { s += separator % m_recipientCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#affe918cb418d0f63b5e24f65ba027650">getStringAsSet</a>(); }</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  }</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">else</span></div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  {</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">if</span> (CComSystem::isValidCivilAviationFrequency(m_frequency))</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  {</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">if</span> (!s.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#isEmpty">isEmpty</a>()) { s += separator % m_frequency.<a class="code" href="class_black_misc_1_1_physical_quantities_1_1_c_physical_quantity.html#ab14f287b45c4f93f79c1398e3e8501a8">valueRoundedWithUnit</a>(3, <span class="keyword">true</span>); }</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  }</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  }</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  } <span class="comment">// to</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  </div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">if</span> (m_message.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#isEmpty">isEmpty</a>()) { <span class="keywordflow">return</span> s; }</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">if</span> (!s.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#isEmpty">isEmpty</a>()) { s += separator % m_message; }</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">return</span> s;</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  }</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  </div>
<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a7792ffe93c9fb97ddb6fb0e6b452fcb7"> 242</a></span>  <a class="code" href="class_black_misc_1_1_c_status_message.html">CStatusMessage</a> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a7792ffe93c9fb97ddb6fb0e6b452fcb7">CTextMessage::asStatusMessage</a>(<span class="keywordtype">bool</span> withSender, <span class="keywordtype">bool</span> withRecipient, <span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> &separator)<span class="keyword"> const</span></div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> m = this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a11bf4c8ba32ee6e7575b3b0e7f3862d6">asString</a>(withSender, withRecipient, separator);</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">return</span> { <span class="keyword">this</span>, <a class="code" href="class_black_misc_1_1_c_status_message.html#a78b4f753deecdc3f14ee20a0233bdc2a">CStatusMessage::SeverityInfo</a>, m };</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  }</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  </div>
<div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a36e2dbecdb75828ad9ac11267249da56"> 248</a></span>  <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a36e2dbecdb75828ad9ac11267249da56">CTextMessage::asHtmlSummary</a>(<span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> &separator)<span class="keyword"> const</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">return</span> this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a11bf4c8ba32ee6e7575b3b0e7f3862d6">asString</a>(<span class="keyword">true</span>, <span class="keyword">true</span>, separator);</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  }</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  </div>
<div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a6ecd2043b80193b50df3826e9fff9a29"> 253</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a6ecd2043b80193b50df3826e9fff9a29">CTextMessage::toggleSenderRecipient</a>()</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  {</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <a class="code" href="namespace_black_misc.html#a028a88f53ee80258f333a2b3c8685b58">std::swap</a>(m_senderCallsign, m_recipientCallsign);</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  }</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  </div>
<div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a455040063498fccd3d05bfe74bc38781"> 258</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a455040063498fccd3d05bfe74bc38781">CTextMessage::isSelcalMessage</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="comment">// some first level checks, before really parsing the message</span></div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">if</span> (this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a69ebfb0d81cba86fa26dd45f18ff5103">isEmpty</a>()) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">if</span> (this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a2391f4c268c77ec0b0651ffaa5ccf6dc">isPrivateMessage</a>()) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">if</span> (m_message.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#length">length</a>() > 15 || m_message.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#length">length</a>() < 10) { <span class="keywordflow">return</span> <span class="keyword">false</span>; } <span class="comment">// SELCAL AB-CD -> 12, I allow some more characters as I do not know wheter in real life it exactly matches</span></div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">return</span> this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#af7b160d6fe95e18e7cb08e202d9d9d3a">getSelcalCode</a>().<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#length">length</a>() == 4;</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  }</div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  </div>
<div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#aa1f12006f01084a2b28fa3615fcea206"> 267</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#aa1f12006f01084a2b28fa3615fcea206">CTextMessage::isSelcalMessageFor</a>(<span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> &selcal)<span class="keyword"> const</span></div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">if</span> (!CSelcal::isValidCode(selcal)) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">return</span> selcal.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#toUpper">toUpper</a>() == this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#af7b160d6fe95e18e7cb08e202d9d9d3a">getSelcalCode</a>();</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  }</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  </div>
<div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#af7b160d6fe95e18e7cb08e202d9d9d3a"> 273</a></span>  <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#af7b160d6fe95e18e7cb08e202d9d9d3a">CTextMessage::getSelcalCode</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="comment">// http://forums.vatsim.net/viewtopic.php?f=8&t=63467#p458062</span></div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="comment">// When the ATC client sends a selcal, it goes out as a text message</span></div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="comment">// on their primary frequency, formatted like so:</span></div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="comment">// SELCAL AB-CD</span></div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  </div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordflow">if</span> (this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a69ebfb0d81cba86fa26dd45f18ff5103">isEmpty</a>()) <span class="keywordflow">return</span> {};</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">if</span> (this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a2391f4c268c77ec0b0651ffaa5ccf6dc">isPrivateMessage</a>()) <span class="keywordflow">return</span> {};</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="keywordflow">if</span> (!m_message.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#startsWith">startsWith</a>(<a class="codeRef" href="http://doc.qt.io/qt-5/qlatin1string.html">QLatin1String</a>(<span class="stringliteral">"SELCAL"</span>), <a class="codeRef" href="http://doc.qt.io/qt-5/qt.html#CaseSensitivity-enum">Qt::CaseInsensitive</a>)) <span class="keywordflow">return</span> {};</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordflow">if</span> (m_message.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#length">length</a>() > 15 || m_message.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#length">length</a>() < 10) <span class="keywordflow">return</span> {}; <span class="comment">// SELCAL AB-CD -> 12, I allow some more characters as I do not know wheter in real life it exactly matches</span></div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a> candidate = <a class="code" href="namespace_black_misc.html#abd935508db034e2c5e39c2d50f98375a">removeChars</a>(m_message, [](<a class="codeRef" href="http://doc.qt.io/qt-5/qchar.html">QChar</a> c) { <span class="keywordflow">return</span> !c.<a class="codeRef" href="http://doc.qt.io/qt-5/qchar.html#isLetter">isLetter</a>(); }); <span class="comment">// SELCALABCD</span></div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">if</span> (candidate.<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#length">length</a>() != 10) <span class="keywordflow">return</span> {};</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">return</span> std::move(candidate).<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#right">right</a>(4).<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html#toUpper">toUpper</a>();</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  }</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  </div>
<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#ab9f44dab3a6b2da2d89b6fe6eb6fc310"> 289</a></span>  <a class="code" href="class_black_misc_1_1_c_icons.html#a151754c8e40279c213b81c67d1ce906f">CIcons::IconIndex</a> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ab9f44dab3a6b2da2d89b6fe6eb6fc310">CTextMessage::toIcon</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">return</span> m_senderCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#af801eeb4b131366e680eb75874e015ab">toIcon</a>();</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  }</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  </div>
<div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#ae5483e9c9a5d467b3d6b3306ccbf05c2"> 294</a></span>  <a class="codeRef" href="http://doc.qt.io/qt-5/qpixmap.html">QPixmap</a> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ae5483e9c9a5d467b3d6b3306ccbf05c2">CTextMessage::toPixmap</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">return</span> <a class="code" href="class_black_misc_1_1_c_icon.html">CIcon</a>(<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ab9f44dab3a6b2da2d89b6fe6eb6fc310">toIcon</a>()).<a class="code" href="class_black_misc_1_1_c_icon.html#a2c0fb5934c26c9c700344931fac121d0">toPixmap</a>();</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  }</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  </div>
<div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#a66735aa3d014fce5b5bb68286db33b2d"> 299</a></span>  <a class="codeRef" href="http://doc.qt.io/qt-5/qvariant.html">QVariant</a> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a66735aa3d014fce5b5bb68286db33b2d">CTextMessage::propertyByIndex</a>(<a class="code" href="class_black_misc_1_1_c_property_index_ref.html">BlackMisc::CPropertyIndexRef</a> index)<span class="keyword"> const</span></div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">if</span> (index.<a class="code" href="class_black_misc_1_1_c_property_index_ref.html#aaf08b52075df4aab66e508bd2f2a7ab1">isMyself</a>()) { <span class="keywordflow">return</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qvariant.html#fromValue">QVariant::fromValue</a>(*<span class="keyword">this</span>); }</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">if</span> (<a class="code" href="class_black_misc_1_1_i_timestamp_based.html#a7b16f67da4c07bcdb471b6d6007d54ab">ITimestampBased::canHandleIndex</a>(index)) { <span class="keywordflow">return</span> <a class="code" href="class_black_misc_1_1_i_timestamp_based.html#a57266c9cf4b5ded057bef9b25e29eeda">ITimestampBased::propertyByIndex</a>(index); }</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  </div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keyword">const</span> <a class="code" href="class_black_misc_1_1_mixin_1_1_index.html#aebec8d99484f213daa8a89eb2cd3288f">ColumnIndex</a> i = index.<a class="code" href="class_black_misc_1_1_c_property_index_ref.html#a6c47afd9adcc062130832b1d8a1d035c">frontCasted</a><<a class="code" href="class_black_misc_1_1_mixin_1_1_index.html#aebec8d99484f213daa8a89eb2cd3288f">ColumnIndex</a>>();</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">switch</span> (i)</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  {</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordflow">case</span> IndexSenderCallsign: <span class="keywordflow">return</span> m_senderCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#afbb9534cb3d843e9b493e5ec15b50207">propertyByIndex</a>(index.<a class="code" href="class_black_misc_1_1_c_property_index_ref.html#a53741180f816bc4e8158f2062e3f4dc1">copyFrontRemoved</a>());</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keywordflow">case</span> IndexRecipientCallsign: <span class="keywordflow">return</span> m_recipientCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#afbb9534cb3d843e9b493e5ec15b50207">propertyByIndex</a>(index.<a class="code" href="class_black_misc_1_1_c_property_index_ref.html#a53741180f816bc4e8158f2062e3f4dc1">copyFrontRemoved</a>());</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keywordflow">case</span> IndexRecipientCallsignOrFrequency: <span class="keywordflow">return</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qvariant.html#fromValue">QVariant::fromValue</a>(this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#ac2b37f3ec0cdc179077916958d06cda0">getRecipientCallsignOrFrequency</a>());</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordflow">case</span> IndexMessage: <span class="keywordflow">return</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qvariant.html#fromValue">QVariant::fromValue</a>(m_message);</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordflow">default</span>: <span class="keywordflow">return</span> <a class="code" href="class_black_misc_1_1_mixin_1_1_index.html#a1b10090f323bdf4c97e372219b157a45">CValueObject::propertyByIndex</a>(index);</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  }</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  }</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  </div>
<div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#aa7922683d285a34217739e57451717a7"> 315</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#aa7922683d285a34217739e57451717a7">CTextMessage::setPropertyByIndex</a>(<a class="code" href="class_black_misc_1_1_c_property_index_ref.html">CPropertyIndexRef</a> index, <span class="keyword">const</span> <a class="codeRef" href="http://doc.qt.io/qt-5/qvariant.html">QVariant</a> &variant)</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  {</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keywordflow">if</span> (index.<a class="code" href="class_black_misc_1_1_c_property_index_ref.html#aaf08b52075df4aab66e508bd2f2a7ab1">isMyself</a>())</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  {</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  (*this) = variant.<a class="codeRef" href="http://doc.qt.io/qt-5/qvariant.html#value">value</a><<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html">CTextMessage</a>>();</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  }</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">if</span> (<a class="code" href="class_black_misc_1_1_i_timestamp_based.html#a7b16f67da4c07bcdb471b6d6007d54ab">ITimestampBased::canHandleIndex</a>(index))</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  {</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <a class="code" href="class_black_misc_1_1_i_timestamp_based.html#a6cb41ce165e65472a7f98aa9176136cb">ITimestampBased::setPropertyByIndex</a>(index, variant);</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  }</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  </div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keyword">const</span> <a class="code" href="class_black_misc_1_1_mixin_1_1_index.html#aebec8d99484f213daa8a89eb2cd3288f">ColumnIndex</a> i = index.<a class="code" href="class_black_misc_1_1_c_property_index_ref.html#a6c47afd9adcc062130832b1d8a1d035c">frontCasted</a><<a class="code" href="class_black_misc_1_1_mixin_1_1_index.html#aebec8d99484f213daa8a89eb2cd3288f">ColumnIndex</a>>();</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">switch</span> (i)</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  {</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">case</span> IndexSenderCallsign: m_senderCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a4e14e127b485435e29accc25298da2d3">setPropertyByIndex</a>(index.<a class="code" href="class_black_misc_1_1_c_property_index_ref.html#a53741180f816bc4e8158f2062e3f4dc1">copyFrontRemoved</a>(), variant); <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordflow">case</span> IndexRecipientCallsign: m_recipientCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a4e14e127b485435e29accc25298da2d3">setPropertyByIndex</a>(index.<a class="code" href="class_black_misc_1_1_c_property_index_ref.html#a53741180f816bc4e8158f2062e3f4dc1">copyFrontRemoved</a>(), variant); <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">case</span> IndexMessage: m_message = variant.<a class="codeRef" href="http://doc.qt.io/qt-5/qvariant.html#value">value</a><<a class="codeRef" href="http://doc.qt.io/qt-5/qstring.html">QString</a>>(); <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">default</span>: <a class="code" href="class_black_misc_1_1_mixin_1_1_index.html#a8d275c6b21e915ca9c8b9dda4559a7d7">CValueObject::setPropertyByIndex</a>(index, variant); <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  }</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  }</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  </div>
<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="class_black_misc_1_1_network_1_1_c_text_message.html#aef73e8e38207e8119ae5a983317c8401"> 338</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#aef73e8e38207e8119ae5a983317c8401">CTextMessage::comparePropertyByIndex</a>(<a class="code" href="class_black_misc_1_1_c_property_index_ref.html">CPropertyIndexRef</a> index, <span class="keyword">const</span> <a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html">CTextMessage</a> &compareValue)<span class="keyword"> const</span></div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keywordflow">if</span> (<a class="code" href="class_black_misc_1_1_i_timestamp_based.html#a7b16f67da4c07bcdb471b6d6007d54ab">ITimestampBased::canHandleIndex</a>(index)) { <span class="keywordflow">return</span> <a class="code" href="class_black_misc_1_1_i_timestamp_based.html#a4d4b1f7564bb5e30b7e937262fdf7b7e">ITimestampBased::comparePropertyByIndex</a>(index, compareValue); }</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keyword">const</span> <a class="code" href="class_black_misc_1_1_mixin_1_1_index.html#aebec8d99484f213daa8a89eb2cd3288f">ColumnIndex</a> i = index.<a class="code" href="class_black_misc_1_1_c_property_index_ref.html#a6c47afd9adcc062130832b1d8a1d035c">frontCasted</a><<a class="code" href="class_black_misc_1_1_mixin_1_1_index.html#aebec8d99484f213daa8a89eb2cd3288f">ColumnIndex</a>>();</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordflow">switch</span> (i)</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  {</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">case</span> IndexSenderCallsign: <span class="keywordflow">return</span> m_senderCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a3d093e6fa67825c6501e6ea8e564b99b">comparePropertyByIndex</a>(index.<a class="code" href="class_black_misc_1_1_c_property_index_ref.html#a53741180f816bc4e8158f2062e3f4dc1">copyFrontRemoved</a>(), compareValue.<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a073941b4ec87ada4e5e685912b8f2e38">getSenderCallsign</a>());</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keywordflow">case</span> IndexRecipientCallsign: <span class="keywordflow">return</span> m_recipientCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a3d093e6fa67825c6501e6ea8e564b99b">comparePropertyByIndex</a>(index.<a class="code" href="class_black_misc_1_1_c_property_index_ref.html#a53741180f816bc4e8158f2062e3f4dc1">copyFrontRemoved</a>(), compareValue.<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a2d778c5f8976a25192e276dbb1b789a8">getRecipientCallsign</a>());</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">case</span> IndexRecipientCallsignOrFrequency:</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordflow">if</span> (this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a958de9820f1ce3fdb185407e851acc4b">isRadioMessage</a>()) { <span class="keywordflow">return</span> this-><a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a126ee7c3d66bdff0df8a42e3f7081254">getFrequency</a>().<a class="code" href="class_black_misc_1_1_physical_quantities_1_1_c_physical_quantity.html#a980199a77ddba3b93196eb5f24233c50">compare</a>(compareValue.<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a126ee7c3d66bdff0df8a42e3f7081254">getFrequency</a>()); }</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">return</span> m_recipientCallsign.<a class="code" href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a3d093e6fa67825c6501e6ea8e564b99b">comparePropertyByIndex</a>(index.<a class="code" href="class_black_misc_1_1_c_property_index_ref.html#a53741180f816bc4e8158f2062e3f4dc1">copyFrontRemoved</a>(), compareValue.<a class="code" href="class_black_misc_1_1_network_1_1_c_text_message.html#a2d778c5f8976a25192e276dbb1b789a8">getRecipientCallsign</a>());</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">default</span>: <span class="keywordflow">return</span> <a class="code" href="class_black_misc_1_1_mixin_1_1_index.html#ada8d566d4869357c30c80b6c2ffe3790">CValueObject::comparePropertyByIndex</a>(index, *<span class="keyword">this</span>);</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  }</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  Q_ASSERT_X(<span class="keyword">false</span>, Q_FUNC_INFO, <span class="stringliteral">"No comparison"</span>);</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  }</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> } <span class="comment">// namespace</span></div>
<div class="ttc" id="ablackmisc_2network_2textmessage_8h_html"><div class="ttname"><a href="blackmisc_2network_2textmessage_8h.html">textmessage.h</a></div></div>
<div class="ttc" id="ablackmisc_2pq_2constants_8h_html"><div class="ttname"><a href="blackmisc_2pq_2constants_8h.html">constants.h</a></div></div>
<div class="ttc" id="acallsign_8h_html"><div class="ttname"><a href="callsign_8h.html">callsign.h</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_aviation_1_1_c_callsign_html"><div class="ttname"><a href="class_black_misc_1_1_aviation_1_1_c_callsign.html">BlackMisc::Aviation::CCallsign</a></div><div class="ttdoc">Value object encapsulating information of a callsign.</div><div class="ttdef"><b>Definition:</b> <a href="callsign_8h_source.html#l00029">callsign.h:30</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_aviation_1_1_c_callsign_html_a1e78c26613e4c4ce6319733344cf72d3"><div class="ttname"><a href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a1e78c26613e4c4ce6319733344cf72d3">BlackMisc::Aviation::CCallsign::setTypeHint</a></div><div class="ttdeci">void setTypeHint(TypeHint hint)</div><div class="ttdoc">Type hint.</div><div class="ttdef"><b>Definition:</b> <a href="callsign_8h_source.html#l00114">callsign.h:114</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_aviation_1_1_c_callsign_html_a2129dfb5014e00032356e4c7d651fd50"><div class="ttname"><a href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a2129dfb5014e00032356e4c7d651fd50">BlackMisc::Aviation::CCallsign::asString</a></div><div class="ttdeci">const QString & asString() const</div><div class="ttdoc">Get callsign (normalized)</div><div class="ttdef"><b>Definition:</b> <a href="callsign_8h_source.html#l00096">callsign.h:96</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_aviation_1_1_c_callsign_html_a26923f4ca5abc09d358cedb7cc7d09ff"><div class="ttname"><a href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a26923f4ca5abc09d358cedb7cc7d09ff">BlackMisc::Aviation::CCallsign::isEmpty</a></div><div class="ttdeci">bool isEmpty() const</div><div class="ttdoc">Is empty?</div><div class="ttdef"><b>Definition:</b> <a href="callsign_8h_source.html#l00063">callsign.h:63</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_aviation_1_1_c_callsign_html_a3d093e6fa67825c6501e6ea8e564b99b"><div class="ttname"><a href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a3d093e6fa67825c6501e6ea8e564b99b">BlackMisc::Aviation::CCallsign::comparePropertyByIndex</a></div><div class="ttdeci">int comparePropertyByIndex(CPropertyIndexRef index, const CCallsign &compareValue) const</div><div class="ttdoc">Compare for index.</div><div class="ttdef"><b>Definition:</b> <a href="callsign_8cpp_source.html#l00357">callsign.cpp:357</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_aviation_1_1_c_callsign_html_a4bacc1c42e59c9332bd23ebdaa6d4b61"><div class="ttname"><a href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a4bacc1c42e59c9332bd23ebdaa6d4b61">BlackMisc::Aviation::CCallsign::isBroadcastCallsign</a></div><div class="ttdeci">bool isBroadcastCallsign() const</div><div class="ttdoc">Pseudo callsing for broadcast messages.</div><div class="ttdef"><b>Definition:</b> <a href="callsign_8cpp_source.html#l00148">callsign.cpp:148</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_aviation_1_1_c_callsign_html_a4e14e127b485435e29accc25298da2d3"><div class="ttname"><a href="class_black_misc_1_1_aviation_1_1_c_callsign.html#a4e14e127b485435e29accc25298da2d3">BlackMisc::Aviation::CCallsign::setPropertyByIndex</a></div><div class="ttdeci">void setPropertyByIndex(CPropertyIndexRef index, const QVariant &variant)</div><div class="ttdoc">Set property by index.</div><div class="ttdef"><b>Definition:</b> <a href="callsign_8cpp_source.html#l00338">callsign.cpp:338</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_aviation_1_1_c_callsign_html_ae167afae6291f603c3319ffb5142961c"><div class="ttname"><a href="class_black_misc_1_1_aviation_1_1_c_callsign.html#ae167afae6291f603c3319ffb5142961c">BlackMisc::Aviation::CCallsign::isSupervisorCallsign</a></div><div class="ttdeci">bool isSupervisorCallsign() const</div><div class="ttdoc">Supervisor?</div><div class="ttdef"><b>Definition:</b> <a href="callsign_8cpp_source.html#l00142">callsign.cpp:142</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_aviation_1_1_c_callsign_html_af801eeb4b131366e680eb75874e015ab"><div class="ttname"><a href="class_black_misc_1_1_aviation_1_1_c_callsign.html#af801eeb4b131366e680eb75874e015ab">BlackMisc::Aviation::CCallsign::toIcon</a></div><div class="ttdeci">CIcons::IconIndex toIcon() const</div><div class="ttdoc">As icon, not implemented by all classes.</div><div class="ttdef"><b>Definition:</b> <a href="callsign_8h_source.html#l00157">callsign.h:157</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_aviation_1_1_c_callsign_html_afbb9534cb3d843e9b493e5ec15b50207"><div class="ttname"><a href="class_black_misc_1_1_aviation_1_1_c_callsign.html#afbb9534cb3d843e9b493e5ec15b50207">BlackMisc::Aviation::CCallsign::propertyByIndex</a></div><div class="ttdeci">QVariant propertyByIndex(CPropertyIndexRef index) const</div><div class="ttdoc">Property by index.</div><div class="ttdef"><b>Definition:</b> <a href="callsign_8cpp_source.html#l00324">callsign.cpp:324</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_aviation_1_1_c_callsign_html_affe918cb418d0f63b5e24f65ba027650"><div class="ttname"><a href="class_black_misc_1_1_aviation_1_1_c_callsign.html#affe918cb418d0f63b5e24f65ba027650">BlackMisc::Aviation::CCallsign::getStringAsSet</a></div><div class="ttdeci">const QString & getStringAsSet() const</div><div class="ttdoc">Get callsign.</div><div class="ttdef"><b>Definition:</b> <a href="callsign_8h_source.html#l00099">callsign.h:99</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_c_icon_html"><div class="ttname"><a href="class_black_misc_1_1_c_icon.html">BlackMisc::CIcon</a></div><div class="ttdoc">Value object for icons. An icon is stored in the global icon repository and identified by its index....</div><div class="ttdef"><b>Definition:</b> <a href="icon_8h_source.html#l00031">icon.h:41</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_c_icon_html_a2c0fb5934c26c9c700344931fac121d0"><div class="ttname"><a href="class_black_misc_1_1_c_icon.html#a2c0fb5934c26c9c700344931fac121d0">BlackMisc::CIcon::toPixmap</a></div><div class="ttdeci">QPixmap toPixmap() const</div><div class="ttdoc">Corresponding pixmap.</div><div class="ttdef"><b>Definition:</b> <a href="icon_8cpp_source.html#l00054">icon.cpp:54</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_c_icons_html_a151754c8e40279c213b81c67d1ce906f"><div class="ttname"><a href="class_black_misc_1_1_c_icons.html#a151754c8e40279c213b81c67d1ce906f">BlackMisc::CIcons::IconIndex</a></div><div class="ttdeci">IconIndex</div><div class="ttdoc">Index for each icon, allows to send them via DBus, efficiently store them, etc.</div><div class="ttdef"><b>Definition:</b> <a href="icons_8h_source.html#l00031">icons.h:32</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_c_property_index_ref_html"><div class="ttname"><a href="class_black_misc_1_1_c_property_index_ref.html">BlackMisc::CPropertyIndexRef</a></div><div class="ttdoc">Non-owning reference to a CPropertyIndex with a subset of its features.</div><div class="ttdef"><b>Definition:</b> <a href="propertyindexref_8h_source.html#l00018">propertyindexref.h:19</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_c_property_index_ref_html_a53741180f816bc4e8158f2062e3f4dc1"><div class="ttname"><a href="class_black_misc_1_1_c_property_index_ref.html#a53741180f816bc4e8158f2062e3f4dc1">BlackMisc::CPropertyIndexRef::copyFrontRemoved</a></div><div class="ttdeci">Q_REQUIRED_RESULT CPropertyIndexRef copyFrontRemoved() const</div><div class="ttdoc">Copy with first element removed.</div><div class="ttdef"><b>Definition:</b> <a href="propertyindexref_8cpp_source.html#l00020">propertyindexref.cpp:20</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_c_property_index_ref_html_a6c47afd9adcc062130832b1d8a1d035c"><div class="ttname"><a href="class_black_misc_1_1_c_property_index_ref.html#a6c47afd9adcc062130832b1d8a1d035c">BlackMisc::CPropertyIndexRef::frontCasted</a></div><div class="ttdeci">CastType frontCasted() const</div><div class="ttdoc">First element casted to given type, usually the PropertIndex enum.</div><div class="ttdef"><b>Definition:</b> <a href="propertyindexref_8h_source.html#l00161">propertyindexref.h:161</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_c_property_index_ref_html_aaf08b52075df4aab66e508bd2f2a7ab1"><div class="ttname"><a href="class_black_misc_1_1_c_property_index_ref.html#aaf08b52075df4aab66e508bd2f2a7ab1">BlackMisc::CPropertyIndexRef::isMyself</a></div><div class="ttdeci">bool isMyself() const</div><div class="ttdoc">Myself index, used with nesting.</div><div class="ttdef"><b>Definition:</b> <a href="propertyindexref_8cpp_source.html#l00035">propertyindexref.cpp:35</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_c_status_message_html"><div class="ttname"><a href="class_black_misc_1_1_c_status_message.html">BlackMisc::CStatusMessage</a></div><div class="ttdoc">Streamable status message, e.g.</div><div class="ttdef"><b>Definition:</b> <a href="statusmessage_8h_source.html#l00386">statusmessage.h:391</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_c_status_message_html_a78b4f753deecdc3f14ee20a0233bdc2a"><div class="ttname"><a href="class_black_misc_1_1_c_status_message.html#a78b4f753deecdc3f14ee20a0233bdc2a">BlackMisc::CStatusMessage::SeverityInfo</a></div><div class="ttdeci">constexpr static auto SeverityInfo</div><div class="ttdoc">Status severities.</div><div class="ttdef"><b>Definition:</b> <a href="statusmessage_8h_source.html#l00397">statusmessage.h:397</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_i_timestamp_based_html_a4968ec2a6e7482b91f4e23d5d3aa407c"><div class="ttname"><a href="class_black_misc_1_1_i_timestamp_based.html#a4968ec2a6e7482b91f4e23d5d3aa407c">BlackMisc::ITimestampBased::hasValidTimestamp</a></div><div class="ttdeci">bool hasValidTimestamp() const</div><div class="ttdoc">Valid timestamp?</div><div class="ttdef"><b>Definition:</b> <a href="timestampbased_8cpp_source.html#l00164">timestampbased.cpp:164</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_i_timestamp_based_html_a4d4b1f7564bb5e30b7e937262fdf7b7e"><div class="ttname"><a href="class_black_misc_1_1_i_timestamp_based.html#a4d4b1f7564bb5e30b7e937262fdf7b7e">BlackMisc::ITimestampBased::comparePropertyByIndex</a></div><div class="ttdeci">int comparePropertyByIndex(CPropertyIndexRef index, const ITimestampBased &compareValue) const</div><div class="ttdoc">Compare for index.</div><div class="ttdef"><b>Definition:</b> <a href="timestampbased_8cpp_source.html#l00231">timestampbased.cpp:231</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_i_timestamp_based_html_a57266c9cf4b5ded057bef9b25e29eeda"><div class="ttname"><a href="class_black_misc_1_1_i_timestamp_based.html#a57266c9cf4b5ded057bef9b25e29eeda">BlackMisc::ITimestampBased::propertyByIndex</a></div><div class="ttdeci">QVariant propertyByIndex(CPropertyIndexRef index) const</div><div class="ttdoc">Property by index.</div><div class="ttdef"><b>Definition:</b> <a href="timestampbased_8cpp_source.html#l00181">timestampbased.cpp:181</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_i_timestamp_based_html_a6cb41ce165e65472a7f98aa9176136cb"><div class="ttname"><a href="class_black_misc_1_1_i_timestamp_based.html#a6cb41ce165e65472a7f98aa9176136cb">BlackMisc::ITimestampBased::setPropertyByIndex</a></div><div class="ttdeci">void setPropertyByIndex(CPropertyIndexRef index, const QVariant &variant)</div><div class="ttdoc">Set property by index.</div><div class="ttdef"><b>Definition:</b> <a href="timestampbased_8cpp_source.html#l00205">timestampbased.cpp:205</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_i_timestamp_based_html_a7b16f67da4c07bcdb471b6d6007d54ab"><div class="ttname"><a href="class_black_misc_1_1_i_timestamp_based.html#a7b16f67da4c07bcdb471b6d6007d54ab">BlackMisc::ITimestampBased::canHandleIndex</a></div><div class="ttdeci">static bool canHandleIndex(CPropertyIndexRef index)</div><div class="ttdoc">Can given index be handled.</div><div class="ttdef"><b>Definition:</b> <a href="timestampbased_8cpp_source.html#l00174">timestampbased.cpp:174</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_i_timestamp_based_html_a92d9e174984057e78def9eaf7ecca381"><div class="ttname"><a href="class_black_misc_1_1_i_timestamp_based.html#a92d9e174984057e78def9eaf7ecca381">BlackMisc::ITimestampBased::getFormattedUtcTimestampHms</a></div><div class="ttdeci">QString getFormattedUtcTimestampHms() const</div><div class="ttdoc">As hh:mm:ss.</div><div class="ttdef"><b>Definition:</b> <a href="timestampbased_8cpp_source.html#l00129">timestampbased.cpp:129</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_i_timestamp_based_html_afd3e54f43ad2c17794e645c6502dbf13"><div class="ttname"><a href="class_black_misc_1_1_i_timestamp_based.html#afd3e54f43ad2c17794e645c6502dbf13">BlackMisc::ITimestampBased::setCurrentUtcTime</a></div><div class="ttdeci">void setCurrentUtcTime()</div><div class="ttdoc">Set the current time as timestamp.</div><div class="ttdef"><b>Definition:</b> <a href="timestampbased_8cpp_source.html#l00098">timestampbased.cpp:98</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_mixin_1_1_index_html_a1b10090f323bdf4c97e372219b157a45"><div class="ttname"><a href="class_black_misc_1_1_mixin_1_1_index.html#a1b10090f323bdf4c97e372219b157a45">BlackMisc::Mixin::Index::propertyByIndex</a></div><div class="ttdeci">QVariant propertyByIndex(CPropertyIndexRef index) const</div><div class="ttdoc">Property by index.</div><div class="ttdef"><b>Definition:</b> <a href="mixinindex_8h_source.html#l00170">mixinindex.h:170</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_mixin_1_1_index_html_a8d275c6b21e915ca9c8b9dda4559a7d7"><div class="ttname"><a href="class_black_misc_1_1_mixin_1_1_index.html#a8d275c6b21e915ca9c8b9dda4559a7d7">BlackMisc::Mixin::Index::setPropertyByIndex</a></div><div class="ttdeci">void setPropertyByIndex(CPropertyIndexRef index, const QVariant &variant)</div><div class="ttdoc">Set property by index.</div><div class="ttdef"><b>Definition:</b> <a href="mixinindex_8h_source.html#l00157">mixinindex.h:157</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_mixin_1_1_index_html_ada8d566d4869357c30c80b6c2ffe3790"><div class="ttname"><a href="class_black_misc_1_1_mixin_1_1_index.html#ada8d566d4869357c30c80b6c2ffe3790">BlackMisc::Mixin::Index::comparePropertyByIndex</a></div><div class="ttdeci">int comparePropertyByIndex(CPropertyIndexRef index, const Derived &compareValue) const</div><div class="ttdoc">Compare for index.</div><div class="ttdef"><b>Definition:</b> <a href="mixinindex_8h_source.html#l00190">mixinindex.h:190</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_mixin_1_1_index_html_aebec8d99484f213daa8a89eb2cd3288f"><div class="ttname"><a href="class_black_misc_1_1_mixin_1_1_index.html#aebec8d99484f213daa8a89eb2cd3288f">BlackMisc::Mixin::Index::ColumnIndex</a></div><div class="ttdeci">ColumnIndex</div><div class="ttdoc">Base class enums.</div><div class="ttdef"><b>Definition:</b> <a href="mixinindex_8h_source.html#l00041">mixinindex.h:42</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_mixin_1_1_string_html_a742439b46e1c8a650b9424277f79c98f"><div class="ttname"><a href="class_black_misc_1_1_mixin_1_1_string.html#a742439b46e1c8a650b9424277f79c98f">BlackMisc::Mixin::String::toQString</a></div><div class="ttdeci">QString toQString(bool i18n=false) const</div><div class="ttdoc">Cast as QString.</div><div class="ttdef"><b>Definition:</b> <a href="mixinstring_8h_source.html#l00079">mixinstring.h:79</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html">BlackMisc::Network::CTextMessage</a></div><div class="ttdoc">Value object encapsulating information of a text message.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8h_source.html#l00030">textmessage.h:33</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a073941b4ec87ada4e5e685912b8f2e38"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a073941b4ec87ada4e5e685912b8f2e38">BlackMisc::Network::CTextMessage::getSenderCallsign</a></div><div class="ttdeci">const Aviation::CCallsign & getSenderCallsign() const</div><div class="ttdoc">Get callsign (from)</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8h_source.html#l00054">textmessage.h:54</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a0bac35f9d3e01fa70704b9cbe19c3d29"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a0bac35f9d3e01fa70704b9cbe19c3d29">BlackMisc::Network::CTextMessage::appendIfPossible</a></div><div class="ttdeci">bool appendIfPossible(const CTextMessage &textMessage)</div><div class="ttdoc">Append if possible.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00131">textmessage.cpp:131</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a0d8a0ad5d0cf54473083707f90d07f4b"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a0d8a0ad5d0cf54473083707f90d07f4b">BlackMisc::Network::CTextMessage::isServerMessage</a></div><div class="ttdeci">bool isServerMessage() const</div><div class="ttdoc">Initial message of server?</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00192">textmessage.cpp:192</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a11bf4c8ba32ee6e7575b3b0e7f3862d6"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a11bf4c8ba32ee6e7575b3b0e7f3862d6">BlackMisc::Network::CTextMessage::asString</a></div><div class="ttdeci">QString asString(bool withSender, bool withRecipient, const QString &separator=", ") const</div><div class="ttdoc">Whole message as formatted string. Used to display message in a console window.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00211">textmessage.cpp:211</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a126ee7c3d66bdff0df8a42e3f7081254"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a126ee7c3d66bdff0df8a42e3f7081254">BlackMisc::Network::CTextMessage::getFrequency</a></div><div class="ttdeci">const PhysicalQuantities::CFrequency & getFrequency() const</div><div class="ttdoc">Get frequency.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8h_source.html#l00096">textmessage.h:96</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a12ff99c11549adc5c8c9255098ebdb47"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a12ff99c11549adc5c8c9255098ebdb47">BlackMisc::Network::CTextMessage::makeRelayedMessage</a></div><div class="ttdeci">void makeRelayedMessage(const Aviation::CCallsign &partnerCallsign)</div><div class="ttdoc">Mark as relayed and keep original sender.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00085">textmessage.cpp:85</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a19c5b4c59759294271d728ddd6ab70ba"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a19c5b4c59759294271d728ddd6ab70ba">BlackMisc::Network::CTextMessage::convertToQString</a></div><div class="ttdeci">QString convertToQString(bool i18n=false) const</div><div class="ttdoc">Cast as QString.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00036">textmessage.cpp:36</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a1e18773b5e39000141c7077f311e74ee"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a1e18773b5e39000141c7077f311e74ee">BlackMisc::Network::CTextMessage::mentionsCallsign</a></div><div class="ttdeci">bool mentionsCallsign(const Aviation::CCallsign &callsign) const</div><div class="ttdoc">Is the callsign given mentioned in that message.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00163">textmessage.cpp:163</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a2183c8f3e2cff3a12b57abf0089f3452"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a2183c8f3e2cff3a12b57abf0089f3452">BlackMisc::Network::CTextMessage::markAsSent</a></div><div class="ttdeci">void markAsSent()</div><div class="ttdoc">Mark as sent.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00067">textmessage.cpp:67</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a2391f4c268c77ec0b0651ffaa5ccf6dc"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a2391f4c268c77ec0b0651ffaa5ccf6dc">BlackMisc::Network::CTextMessage::isPrivateMessage</a></div><div class="ttdeci">bool isPrivateMessage() const</div><div class="ttdoc">Is private message?</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00053">textmessage.cpp:53</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a2d778c5f8976a25192e276dbb1b789a8"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a2d778c5f8976a25192e276dbb1b789a8">BlackMisc::Network::CTextMessage::getRecipientCallsign</a></div><div class="ttdeci">const Aviation::CCallsign & getRecipientCallsign() const</div><div class="ttdoc">Get callsign (to)</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8h_source.html#l00060">textmessage.h:60</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a31d68be0212abff2668f7100733487ff"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a31d68be0212abff2668f7100733487ff">BlackMisc::Network::CTextMessage::isSupervisorMessage</a></div><div class="ttdeci">bool isSupervisorMessage() const</div><div class="ttdoc">Supervisor message?</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00058">textmessage.cpp:58</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a36e2dbecdb75828ad9ac11267249da56"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a36e2dbecdb75828ad9ac11267249da56">BlackMisc::Network::CTextMessage::asHtmlSummary</a></div><div class="ttdeci">QString asHtmlSummary(const QString &separator="<br>") const</div><div class="ttdoc">Summary HTML code.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00248">textmessage.cpp:248</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a408ca3cb831a8fadc447af725fd32f01"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a408ca3cb831a8fadc447af725fd32f01">BlackMisc::Network::CTextMessage::CTextMessage</a></div><div class="ttdeci">CTextMessage()</div><div class="ttdoc">Default constructor.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8h_source.html#l00045">textmessage.h:45</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a455040063498fccd3d05bfe74bc38781"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a455040063498fccd3d05bfe74bc38781">BlackMisc::Network::CTextMessage::isSelcalMessage</a></div><div class="ttdeci">bool isSelcalMessage() const</div><div class="ttdoc">Is this a text message encapsulating a SELCAL.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00258">textmessage.cpp:258</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a45887068aabad7791c9e0d8791c26f73"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a45887068aabad7791c9e0d8791c26f73">BlackMisc::Network::CTextMessage::hasValidRecipient</a></div><div class="ttdeci">bool hasValidRecipient() const</div><div class="ttdoc">Valid receviver?</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00157">textmessage.cpp:157</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a46e4014e77f58f96c0ef880ccc18ec3d"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a46e4014e77f58f96c0ef880ccc18ec3d">BlackMisc::Network::CTextMessage::relayedMessageToPrivateMessage</a></div><div class="ttdeci">bool relayedMessageToPrivateMessage()</div><div class="ttdoc">Turn relayed message into private message.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00097">textmessage.cpp:97</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a5152784d15a3dc54d55bbaf2659620f2"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a5152784d15a3dc54d55bbaf2659620f2">BlackMisc::Network::CTextMessage::getHtmlEncodedMessage</a></div><div class="ttdeci">QString getHtmlEncodedMessage() const</div><div class="ttdoc">Get HTML escaped message.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00176">textmessage.cpp:176</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a54065814499c419b994496b7b38c7c86"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a54065814499c419b994496b7b38c7c86">BlackMisc::Network::CTextMessage::getAsciiOnlyMessage</a></div><div class="ttdeci">QString getAsciiOnlyMessage() const</div><div class="ttdoc">Get ASCII only message.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00170">textmessage.cpp:170</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a5f1b13f12b8910102504280b6ef34fb9"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a5f1b13f12b8910102504280b6ef34fb9">BlackMisc::Network::CTextMessage::markAsRelayedMessage</a></div><div class="ttdeci">void markAsRelayedMessage()</div><div class="ttdoc">Mark as relayed message.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8h_source.html#l00156">textmessage.h:156</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a61ece3c8521067b20c79e4efa009c1a6"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a61ece3c8521067b20c79e4efa009c1a6">BlackMisc::Network::CTextMessage::isWallopMessage</a></div><div class="ttdeci">bool isWallopMessage() const</div><div class="ttdoc">Is this a message send via .wallop.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00205">textmessage.cpp:205</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a66735aa3d014fce5b5bb68286db33b2d"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a66735aa3d014fce5b5bb68286db33b2d">BlackMisc::Network::CTextMessage::propertyByIndex</a></div><div class="ttdeci">QVariant propertyByIndex(BlackMisc::CPropertyIndexRef index) const</div><div class="ttdoc">Property by index.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00299">textmessage.cpp:299</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a69ebfb0d81cba86fa26dd45f18ff5103"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a69ebfb0d81cba86fa26dd45f18ff5103">BlackMisc::Network::CTextMessage::isEmpty</a></div><div class="ttdeci">bool isEmpty() const</div><div class="ttdoc">Empty message.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8h_source.html#l00090">textmessage.h:90</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a6ecd2043b80193b50df3826e9fff9a29"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a6ecd2043b80193b50df3826e9fff9a29">BlackMisc::Network::CTextMessage::toggleSenderRecipient</a></div><div class="ttdeci">void toggleSenderRecipient()</div><div class="ttdoc">Toggle sender receiver, can be used to ping my own message.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00253">textmessage.cpp:253</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a758c0ab414c4986fcab99bd82befb69c"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a758c0ab414c4986fcab99bd82befb69c">BlackMisc::Network::CTextMessage::isBroadcastMessage</a></div><div class="ttdeci">bool isBroadcastMessage() const</div><div class="ttdoc">Is this a broadcast message.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00199">textmessage.cpp:199</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a76ef93a989fc64e24b91812a3de1c046"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a76ef93a989fc64e24b91812a3de1c046">BlackMisc::Network::CTextMessage::isSendToUnicom</a></div><div class="ttdeci">bool isSendToUnicom() const</div><div class="ttdoc">Send to UNICOM?</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00152">textmessage.cpp:152</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a7792ffe93c9fb97ddb6fb0e6b452fcb7"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a7792ffe93c9fb97ddb6fb0e6b452fcb7">BlackMisc::Network::CTextMessage::asStatusMessage</a></div><div class="ttdeci">CStatusMessage asStatusMessage(bool withSender, bool withRecipient, const QString &separator=", ") const</div><div class="ttdoc">Whole message as BlackMisc::CStatusMessage. Used to display message in logs, or any other situation w...</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00242">textmessage.cpp:242</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a958de9820f1ce3fdb185407e851acc4b"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a958de9820f1ce3fdb185407e851acc4b">BlackMisc::Network::CTextMessage::isRadioMessage</a></div><div class="ttdeci">bool isRadioMessage() const</div><div class="ttdoc">Is radio message?</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00187">textmessage.cpp:187</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a9aa392010b7c0fa1b6d536f61945e19c"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a9aa392010b7c0fa1b6d536f61945e19c">BlackMisc::Network::CTextMessage::markAsBroadcastMessage</a></div><div class="ttdeci">void markAsBroadcastMessage()</div><div class="ttdoc">Mark as broadcast message.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00081">textmessage.cpp:81</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_a9dc9c4ef669b431c8e0954a3edcd1557"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#a9dc9c4ef669b431c8e0954a3edcd1557">BlackMisc::Network::CTextMessage::isRelayedMessage</a></div><div class="ttdeci">bool isRelayedMessage() const</div><div class="ttdoc">Is relayed message.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00076">textmessage.cpp:76</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_aa1f12006f01084a2b28fa3615fcea206"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#aa1f12006f01084a2b28fa3615fcea206">BlackMisc::Network::CTextMessage::isSelcalMessageFor</a></div><div class="ttdeci">bool isSelcalMessageFor(const QString &selcal) const</div><div class="ttdoc">Is this a text message encapsulating a SELCAL for given code?</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00267">textmessage.cpp:267</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_aa7922683d285a34217739e57451717a7"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#aa7922683d285a34217739e57451717a7">BlackMisc::Network::CTextMessage::setPropertyByIndex</a></div><div class="ttdeci">void setPropertyByIndex(BlackMisc::CPropertyIndexRef index, const QVariant &variant)</div><div class="ttdoc">Set property by index.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00315">textmessage.cpp:315</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_ab5d5fe2dec3c4f6c625fa6b6a9d766c7"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#ab5d5fe2dec3c4f6c625fa6b6a9d766c7">BlackMisc::Network::CTextMessage::isSendToFrequency</a></div><div class="ttdeci">bool isSendToFrequency(const PhysicalQuantities::CFrequency &frequency) const</div><div class="ttdoc">Send to particular frequency?</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00146">textmessage.cpp:146</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_ab9f44dab3a6b2da2d89b6fe6eb6fc310"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#ab9f44dab3a6b2da2d89b6fe6eb6fc310">BlackMisc::Network::CTextMessage::toIcon</a></div><div class="ttdeci">CIcons::IconIndex toIcon() const</div><div class="ttdoc">As icon, not implement by all classes.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00289">textmessage.cpp:289</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_ac2b37f3ec0cdc179077916958d06cda0"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#ac2b37f3ec0cdc179077916958d06cda0">BlackMisc::Network::CTextMessage::getRecipientCallsignOrFrequency</a></div><div class="ttdeci">QString getRecipientCallsignOrFrequency() const</div><div class="ttdoc">Get recipient or frequency.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00139">textmessage.cpp:139</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_ace06956e632effffc920d74032fda2f8"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#ace06956e632effffc920d74032fda2f8">BlackMisc::Network::CTextMessage::swiftRelayMessage</a></div><div class="ttdeci">static const QString & swiftRelayMessage()</div><div class="ttdoc">swift relay message marker</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00047">textmessage.cpp:47</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_ad9bf3cb85653141ae2d910347a5e54ca"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#ad9bf3cb85653141ae2d910347a5e54ca">BlackMisc::Network::CTextMessage::setRecipientCallsign</a></div><div class="ttdeci">void setRecipientCallsign(const Aviation::CCallsign &callsign)</div><div class="ttdoc">Set callsign (recipient)</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8h_source.html#l00063">textmessage.h:63</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_ae37a749b71e10e6e4206b77aadafed2b"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#ae37a749b71e10e6e4206b77aadafed2b">BlackMisc::Network::CTextMessage::getMessage</a></div><div class="ttdeci">const QString & getMessage() const</div><div class="ttdoc">Get message.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8h_source.html#l00078">textmessage.h:78</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_ae5483e9c9a5d467b3d6b3306ccbf05c2"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#ae5483e9c9a5d467b3d6b3306ccbf05c2">BlackMisc::Network::CTextMessage::toPixmap</a></div><div class="ttdeci">QPixmap toPixmap() const</div><div class="ttdoc">As pixmap, required for most GUI views.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00294">textmessage.cpp:294</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_aea594ca493f40287ae467d7ba431ee16"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#aea594ca493f40287ae467d7ba431ee16">BlackMisc::Network::CTextMessage::canBeAppended</a></div><div class="ttdeci">bool canBeAppended(const CTextMessage &textMessage) const</div><div class="ttdoc">Can another message be appended.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00114">textmessage.cpp:114</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_aed483768147f34915be402ce38f9cd1c"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#aed483768147f34915be402ce38f9cd1c">BlackMisc::Network::CTextMessage::setSenderCallsign</a></div><div class="ttdeci">void setSenderCallsign(const Aviation::CCallsign &callsign)</div><div class="ttdoc">Set callsign (from)</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8h_source.html#l00057">textmessage.h:57</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_aef234bbd2692869d2e106831c8acc33c"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#aef234bbd2692869d2e106831c8acc33c">BlackMisc::Network::CTextMessage::setMessage</a></div><div class="ttdeci">void setMessage(const QString &message)</div><div class="ttdoc">Set message.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00182">textmessage.cpp:182</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_aef73e8e38207e8119ae5a983317c8401"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#aef73e8e38207e8119ae5a983317c8401">BlackMisc::Network::CTextMessage::comparePropertyByIndex</a></div><div class="ttdeci">int comparePropertyByIndex(CPropertyIndexRef index, const CTextMessage &compareValue) const</div><div class="ttdoc">Compare for index.</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00338">textmessage.cpp:338</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_network_1_1_c_text_message_html_af7b160d6fe95e18e7cb08e202d9d9d3a"><div class="ttname"><a href="class_black_misc_1_1_network_1_1_c_text_message.html#af7b160d6fe95e18e7cb08e202d9d9d3a">BlackMisc::Network::CTextMessage::getSelcalCode</a></div><div class="ttdeci">QString getSelcalCode() const</div><div class="ttdoc">Get SELCAL code (if applicable, e.g. ABCD), otherwise "".</div><div class="ttdef"><b>Definition:</b> <a href="blackmisc_2network_2textmessage_8cpp_source.html#l00273">textmessage.cpp:273</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_physical_quantities_1_1_c_frequency_html"><div class="ttname"><a href="class_black_misc_1_1_physical_quantities_1_1_c_frequency.html">BlackMisc::PhysicalQuantities::CFrequency</a></div><div class="ttdoc">Physical unit frequency.</div><div class="ttdef"><b>Definition:</b> <a href="frequency_8h_source.html#l00017">frequency.h:18</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_physical_quantities_1_1_c_frequency_unit_html_a658e450d90e3539b3f8c074eed2dadb6"><div class="ttname"><a href="class_black_misc_1_1_physical_quantities_1_1_c_frequency_unit.html#a658e450d90e3539b3f8c074eed2dadb6">BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz</a></div><div class="ttdeci">static CFrequencyUnit MHz()</div><div class="ttdoc">Megahertz.</div><div class="ttdef"><b>Definition:</b> <a href="units_8h_source.html#l00377">units.h:377</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_physical_quantities_1_1_c_physical_quantity_html_a596de833c722adbb5366f761caa12282"><div class="ttname"><a href="class_black_misc_1_1_physical_quantities_1_1_c_physical_quantity.html#a596de833c722adbb5366f761caa12282">BlackMisc::PhysicalQuantities::CPhysicalQuantity::switchUnit</a></div><div class="ttdeci">PQ & switchUnit(const MU &newUnit)</div><div class="ttdoc">Change unit, and convert value to maintain the same quantity.</div><div class="ttdef"><b>Definition:</b> <a href="physicalquantity_8cpp_source.html#l00262">physicalquantity.cpp:262</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_physical_quantities_1_1_c_physical_quantity_html_a980199a77ddba3b93196eb5f24233c50"><div class="ttname"><a href="class_black_misc_1_1_physical_quantities_1_1_c_physical_quantity.html#a980199a77ddba3b93196eb5f24233c50">BlackMisc::PhysicalQuantities::CPhysicalQuantity::compare</a></div><div class="ttdeci">int compare(const PQ &other) const</div><div class="ttdoc">Compare with other PQ.</div><div class="ttdef"><b>Definition:</b> <a href="physicalquantity_8h_source.html#l00337">physicalquantity.h:337</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_physical_quantities_1_1_c_physical_quantity_html_ab14f287b45c4f93f79c1398e3e8501a8"><div class="ttname"><a href="class_black_misc_1_1_physical_quantities_1_1_c_physical_quantity.html#ab14f287b45c4f93f79c1398e3e8501a8">BlackMisc::PhysicalQuantities::CPhysicalQuantity::valueRoundedWithUnit</a></div><div class="ttdeci">QString valueRoundedWithUnit(const MU &unit, int digits=-1, bool withGroupSeparator=false, bool i18n=false) const</div><div class="ttdoc">Value to QString with the given unit, e.g. "5.00m".</div><div class="ttdef"><b>Definition:</b> <a href="physicalquantity_8cpp_source.html#l00323">physicalquantity.cpp:323</a></div></div>
<div class="ttc" id="aclass_black_misc_1_1_physical_quantities_1_1_c_physical_quantity_html_aff90526c73f7bb7ff9411d9a335456c6"><div class="ttname"><a href="class_black_misc_1_1_physical_quantities_1_1_c_physical_quantity.html#aff90526c73f7bb7ff9411d9a335456c6">BlackMisc::PhysicalQuantities::CPhysicalQuantity::isNull</a></div><div class="ttdeci">bool isNull() const</div><div class="ttdoc">Is quantity null?</div><div class="ttdef"><b>Definition:</b> <a href="physicalquantity_8cpp_source.html#l00288">physicalquantity.cpp:288</a></div></div>
<div class="ttc" id="acomsystem_8h_html"><div class="ttname"><a href="comsystem_8h.html">comsystem.h</a></div></div>
<div class="ttc" id="anamespace_black_misc_html_a028a88f53ee80258f333a2b3c8685b58"><div class="ttname"><a href="namespace_black_misc.html#a028a88f53ee80258f333a2b3c8685b58">BlackMisc::swap</a></div><div class="ttdeci">void swap(Optional< T > &a, Optional< T > &b) noexcept(std::is_nothrow_swappable_v< T >)</div><div class="ttdoc">Efficient swap for two Optional objects.</div><div class="ttdef"><b>Definition:</b> <a href="optional_8h_source.html#l00132">optional.h:132</a></div></div>
<div class="ttc" id="anamespace_black_misc_html_abd935508db034e2c5e39c2d50f98375a"><div class="ttname"><a href="namespace_black_misc.html#abd935508db034e2c5e39c2d50f98375a">BlackMisc::removeChars</a></div><div class="ttdeci">QString removeChars(const QString &s, F predicate)</div><div class="ttdoc">Return a string with characters removed that match the given predicate.</div><div class="ttdef"><b>Definition:</b> <a href="stringutils_8h_source.html#l00039">stringutils.h:39</a></div></div>
<div class="ttc" id="anamespace_black_misc_html_ada73faf3c31c86a105983da8628ab8c0"><div class="ttname"><a href="namespace_black_misc.html#ada73faf3c31c86a105983da8628ab8c0">BlackMisc::simplifyAccents</a></div><div class="ttdeci">BLACKMISC_EXPORT QString simplifyAccents(const QString &candidate)</div><div class="ttdoc">Remove accents / diacritic marks from a string.</div></div>
<div class="ttc" id="anamespace_black_misc_html_af87b450f1e599e5d08d1a2ee0ce7b073"><div class="ttname"><a href="namespace_black_misc.html#af87b450f1e599e5d08d1a2ee0ce7b073">BlackMisc::asciiOnlyString</a></div><div class="ttdeci">QString asciiOnlyString(const QString &string)</div><div class="ttdoc">String only with ASCII values.</div><div class="ttdef"><b>Definition:</b> <a href="stringutils_8h_source.html#l00207">stringutils.h:207</a></div></div>
<div class="ttc" id="aphysicalquantity_8h_html"><div class="ttname"><a href="physicalquantity_8h.html">physicalquantity.h</a></div></div>
<div class="ttc" id="aqchar_html"><div class="ttname"><a href="http://doc.qt.io/qt-5/qchar.html">QChar</a></div></div>
<div class="ttc" id="aqchar_html_isLetter"><div class="ttname"><a href="http://doc.qt.io/qt-5/qchar.html#isLetter">QChar::isLetter</a></div><div class="ttdeci">bool isLetter() const const</div></div>
<div class="ttc" id="aqlatin1string_html"><div class="ttname"><a href="http://doc.qt.io/qt-5/qlatin1string.html">QLatin1String</a></div></div>
<div class="ttc" id="aqlist_html_first"><div class="ttname"><a href="http://doc.qt.io/qt-5/qlist.html#first">QList::first</a></div><div class="ttdeci">T & first()</div></div>
<div class="ttc" id="aqlist_html_last"><div class="ttname"><a href="http://doc.qt.io/qt-5/qlist.html#last">QList::last</a></div><div class="ttdeci">T & last()</div></div>
<div class="ttc" id="aqlist_html_size"><div class="ttname"><a href="http://doc.qt.io/qt-5/qlist.html#size">QList::size</a></div><div class="ttdeci">int size() const const</div></div>
<div class="ttc" id="aqpixmap_html"><div class="ttname"><a href="http://doc.qt.io/qt-5/qpixmap.html">QPixmap</a></div></div>
<div class="ttc" id="aqstring-obsolete_html_split-1"><div class="ttname"><a href="http://doc.qt.io/qt-5/qstring-obsolete.html#split-1">QString::split</a></div><div class="ttdeci">QStringList split(const QString &sep, QString::SplitBehavior behavior, Qt::CaseSensitivity cs) const const</div></div>
<div class="ttc" id="aqstring_html"><div class="ttname"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></div></div>
<div class="ttc" id="aqstring_html_contains-1"><div class="ttname"><a href="http://doc.qt.io/qt-5/qstring.html#contains-1">QString::contains</a></div><div class="ttdeci">bool contains(QChar ch, Qt::CaseSensitivity cs) const const</div></div>
<div class="ttc" id="aqstring_html_indexOf-1"><div class="ttname"><a href="http://doc.qt.io/qt-5/qstring.html#indexOf-1">QString::indexOf</a></div><div class="ttdeci">int indexOf(QChar ch, int from, Qt::CaseSensitivity cs) const const</div></div>
<div class="ttc" id="aqstring_html_isEmpty"><div class="ttname"><a href="http://doc.qt.io/qt-5/qstring.html#isEmpty">QString::isEmpty</a></div><div class="ttdeci">bool isEmpty() const const</div></div>
<div class="ttc" id="aqstring_html_left"><div class="ttname"><a href="http://doc.qt.io/qt-5/qstring.html#left">QString::left</a></div><div class="ttdeci">QString left(int n) const const</div></div>
<div class="ttc" id="aqstring_html_length"><div class="ttname"><a href="http://doc.qt.io/qt-5/qstring.html#length">QString::length</a></div><div class="ttdeci">int length() const const</div></div>
<div class="ttc" id="aqstring_html_mid"><div class="ttname"><a href="http://doc.qt.io/qt-5/qstring.html#mid">QString::mid</a></div><div class="ttdeci">QString mid(int position, int n) const const</div></div>
<div class="ttc" id="aqstring_html_remove"><div class="ttname"><a href="http://doc.qt.io/qt-5/qstring.html#remove">QString::remove</a></div><div class="ttdeci">QString & remove(int position, int n)</div></div>
<div class="ttc" id="aqstring_html_right"><div class="ttname"><a href="http://doc.qt.io/qt-5/qstring.html#right">QString::right</a></div><div class="ttdeci">QString right(int n) const const</div></div>
<div class="ttc" id="aqstring_html_simplified"><div class="ttname"><a href="http://doc.qt.io/qt-5/qstring.html#simplified">QString::simplified</a></div><div class="ttdeci">QString simplified() const const</div></div>
<div class="ttc" id="aqstring_html_startsWith"><div class="ttname"><a href="http://doc.qt.io/qt-5/qstring.html#startsWith">QString::startsWith</a></div><div class="ttdeci">bool startsWith(const QString &s, Qt::CaseSensitivity cs) const const</div></div>
<div class="ttc" id="aqstring_html_toHtmlEscaped"><div class="ttname"><a href="http://doc.qt.io/qt-5/qstring.html#toHtmlEscaped">QString::toHtmlEscaped</a></div><div class="ttdeci">QString toHtmlEscaped() const const</div></div>
<div class="ttc" id="aqstring_html_toUpper"><div class="ttname"><a href="http://doc.qt.io/qt-5/qstring.html#toUpper">QString::toUpper</a></div><div class="ttdeci">QString toUpper() const const</div></div>
<div class="ttc" id="aqstring_html_trimmed"><div class="ttname"><a href="http://doc.qt.io/qt-5/qstring.html#trimmed">QString::trimmed</a></div><div class="ttdeci">QString trimmed() const const</div></div>
<div class="ttc" id="aqstringlist_html"><div class="ttname"><a href="http://doc.qt.io/qt-5/qstringlist.html">QStringList</a></div></div>
<div class="ttc" id="aqt_html_CaseSensitivity-enum"><div class="ttname"><a href="http://doc.qt.io/qt-5/qt.html#CaseSensitivity-enum">Qt::CaseInsensitive</a></div><div class="ttdeci">CaseInsensitive</div></div>
<div class="ttc" id="aqvariant_html"><div class="ttname"><a href="http://doc.qt.io/qt-5/qvariant.html">QVariant</a></div></div>
<div class="ttc" id="aqvariant_html_fromValue"><div class="ttname"><a href="http://doc.qt.io/qt-5/qvariant.html#fromValue">QVariant::fromValue</a></div><div class="ttdeci">QVariant fromValue(const T &value)</div></div>
<div class="ttc" id="aqvariant_html_value"><div class="ttname"><a href="http://doc.qt.io/qt-5/qvariant.html#value">QVariant::value</a></div><div class="ttdeci">T value() const const</div></div>
<div class="ttc" id="aselcal_8h_html"><div class="ttname"><a href="selcal_8h.html">selcal.h</a></div></div>
<div class="ttc" id="astringutils_8h_html"><div class="ttname"><a href="stringutils_8h.html">stringutils.h</a></div></div>
<div class="ttc" id="avalueobject_8h_html_ad5f912fe153560479a337770f6d8db43"><div class="ttname"><a href="valueobject_8h.html#ad5f912fe153560479a337770f6d8db43">BLACK_DEFINE_VALUEOBJECT_MIXINS</a></div><div class="ttdeci">#define BLACK_DEFINE_VALUEOBJECT_MIXINS(Namespace, Class)</div><div class="ttdoc">Explicit template definition of mixins for a CValueObject subclass.</div><div class="ttdef"><b>Definition:</b> <a href="valueobject_8h_source.html#l00075">valueobject.h:75</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Dec 3 2023 18:38:36 for swift by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>