summaryrefslogtreecommitdiff
path: root/0.14/abstractpropertytype_8h_source.html
blob: 807fbaae66b4b7dff5cbb88e8ca82e575bdc5e7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>automotive-message-broker: /home/kev/src/automotive-message-broker/lib/abstractpropertytype.h 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>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">automotive-message-broker
   &#160;<span id="projectnumber">0.14.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </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_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">abstractpropertytype.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">    Copyright (C) 2012  Intel Corporation</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">    This library is free software; you can redistribute it and/or</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">    modify it under the terms of the GNU Lesser General Public</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">    License as published by the Free Software Foundation; either</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">    version 2.1 of the License, or (at your option) any later version.</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">    This library is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">    but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">    Lesser General Public License for more details.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">    You should have received a copy of the GNU Lesser General Public</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">    License along with this library; if not, write to the Free Software</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef _ABSTRACTPROPERTYTYPE_H_</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#define _ABSTRACTPROPERTYTYPE_H_</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;stdexcept&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;boost/any.hpp&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;boost/lexical_cast.hpp&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;boost/utility.hpp&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;type_traits&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;glib.h&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;timestamp.h&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="debugout_8h.html">debugout.h</a>&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;boost/algorithm/string.hpp&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;superptr.hpp&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="classZone.html">   39</a></span>&#160;<span class="keyword">class </span><a class="code" href="classZone.html">Zone</a> {</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="keyword">typedef</span> <span class="keywordtype">int</span> Type;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keyword">enum</span> {</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        None = 0,</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        Front = 1,</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        Middle = 1 &lt;&lt; 1,</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        Right = 1 &lt;&lt; 2,</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        Left = 1 &lt;&lt; 3,</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        Rear = 1 &lt;&lt; 4,</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        Center = 1 &lt;&lt; 5,</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        LeftSide = 1 &lt;&lt; 6,</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        RightSide = 1 &lt;&lt; 7,</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        FrontSide = 1 &lt;&lt; 8,</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        BackSide = 1 &lt;&lt; 9</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    };</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> Zone::Type FrontRight;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> Zone::Type FrontLeft;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> Zone::Type MiddleRight;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> Zone::Type MiddleLeft;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> Zone::Type RearRight;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> Zone::Type RearLeft;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">typedef</span> std::vector&lt;Zone::Type&gt; ZoneList;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;};</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classAbstractPropertyType.html">   70</a></span>&#160;<span class="keyword">class </span><a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;{</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classAbstractPropertyType.html#a1e513f66eb2dd2bd2cddbec16422af63">   77</a></span>&#160;    <span class="keyword">enum</span> <a class="code" href="classAbstractPropertyType.html#a1e513f66eb2dd2bd2cddbec16422af63">Priority</a></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    {</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classAbstractPropertyType.html#a1e513f66eb2dd2bd2cddbec16422af63a3412bc77a6a781fb4a832059f1fe5d9a">   80</a></span>&#160;        Normal = 0,</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="classAbstractPropertyType.html#a1e513f66eb2dd2bd2cddbec16422af63a611e6f3b55352cad8a1602ec8cb3c505">   82</a></span>&#160;        Low,</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classAbstractPropertyType.html#a1e513f66eb2dd2bd2cddbec16422af63aabbaad7e0356d6929119fc0e17aa6ad0">   84</a></span>&#160;        High,</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        Instant</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    };</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>(std::string property)</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        : name(property), timestamp(<a class="code" href="namespaceamb.html">amb</a>::currentTime()), sequence(-1), zone(<a class="code" href="classZone.html">Zone</a>::None), priority(Normal)</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    {</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    }</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keyword">virtual</span> ~<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>()</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    {</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        <span class="keywordflow">for</span>(<span class="keyword">auto</span> i : destroyed)</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        {</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;            <span class="keywordflow">if</span>(i) i(<span class="keyword">this</span>);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        }</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    }</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keyword">virtual</span> std::string toString() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> fromString(std::string)= 0;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keyword">virtual</span> GVariant* toVariant() = 0;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> fromVariant(GVariant*) = 0;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>* copy() = 0;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="classAbstractPropertyType.html#a0996989d0082ad3f621fec938b60ed10">  139</a></span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classAbstractPropertyType.html#a0996989d0082ad3f621fec938b60ed10">quickCopy</a>(<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>* other)</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    {</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        sequence = other-&gt;<a class="code" href="classAbstractPropertyType.html#ae74440c78c4a5f6af1c3b9c85f1a34c2">sequence</a>;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        mValue = other-&gt;<a class="code" href="classAbstractPropertyType.html#a7ba4118acb746d2b8fc220a12b0e2666">anyValue</a>();</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        timestamp = other-&gt;<a class="code" href="classAbstractPropertyType.html#a6a391546600fde38a351d3d236be8a9b">timestamp</a>;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    }</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keywordtype">bool</span> operator == (<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a> &amp;other)</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    {</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        std::string one = toString();</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        std::string two = other.<a class="code" href="classAbstractPropertyType.html#a4c359b2e7c3b0ede21c64ba2c90567aa">toString</a>();</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        <span class="keywordflow">return</span> one == two</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;                &amp;&amp; zone == other.<a class="code" href="classAbstractPropertyType.html#a420b96a1fcbcbe513ff3801185e788bc">zone</a></div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;                &amp;&amp; sourceUuid == other.<a class="code" href="classAbstractPropertyType.html#abe2de53722d28e8e7c2a715b97e1ae48">sourceUuid</a></div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;                &amp;&amp; name == other.<a class="code" href="classAbstractPropertyType.html#a0899de35293963a6c18a0f4913916871">name</a>;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    }</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keywordtype">bool</span> operator != (<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a> &amp;other)</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    {</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        std::string one = toString();</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        std::string two = other.<a class="code" href="classAbstractPropertyType.html#a4c359b2e7c3b0ede21c64ba2c90567aa">toString</a>();</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        <span class="keywordflow">return</span> one != two;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    }</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classAbstractPropertyType.html#a0899de35293963a6c18a0f4913916871">  166</a></span>&#160;    std::string <a class="code" href="classAbstractPropertyType.html#a0899de35293963a6c18a0f4913916871">name</a>;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classAbstractPropertyType.html#a6a391546600fde38a351d3d236be8a9b">  174</a></span>&#160;    <span class="keywordtype">double</span> <a class="code" href="classAbstractPropertyType.html#a6a391546600fde38a351d3d236be8a9b">timestamp</a>;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="classAbstractPropertyType.html#ae74440c78c4a5f6af1c3b9c85f1a34c2">  179</a></span>&#160;    int32_t <a class="code" href="classAbstractPropertyType.html#ae74440c78c4a5f6af1c3b9c85f1a34c2">sequence</a>;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="classAbstractPropertyType.html#abe2de53722d28e8e7c2a715b97e1ae48">  185</a></span>&#160;    std::string <a class="code" href="classAbstractPropertyType.html#abe2de53722d28e8e7c2a715b97e1ae48">sourceUuid</a>;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="classAbstractPropertyType.html#a420b96a1fcbcbe513ff3801185e788bc">  190</a></span>&#160;    Zone::Type <a class="code" href="classAbstractPropertyType.html#a420b96a1fcbcbe513ff3801185e788bc">zone</a>;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classAbstractPropertyType.html#a3f831860b5ddc30e5a53dd4937ae5ebe">  198</a></span>&#160;    <a class="code" href="classAbstractPropertyType.html#a1e513f66eb2dd2bd2cddbec16422af63">Priority</a> <a class="code" href="classAbstractPropertyType.html#a3f831860b5ddc30e5a53dd4937ae5ebe">priority</a>;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="classAbstractPropertyType.html#a1b2598b86718911533587a5bd41bfb9c">  205</a></span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classAbstractPropertyType.html#a1b2598b86718911533587a5bd41bfb9c">setValue</a>(boost::any val)</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    {</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;        mValue = val;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;        timestamp = amb::currentTime();</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    }</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classAbstractPropertyType.html#ae723621925382263eba046fa1ca8e36d">  215</a></span>&#160;    T <a class="code" href="classAbstractPropertyType.html#ae723621925382263eba046fa1ca8e36d">value</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;        <span class="keywordflow">return</span> boost::any_cast&lt;T&gt;(mValue);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    }</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="classAbstractPropertyType.html#a7ba4118acb746d2b8fc220a12b0e2666">  224</a></span>&#160;    boost::any <a class="code" href="classAbstractPropertyType.html#a7ba4118acb746d2b8fc220a12b0e2666">anyValue</a>()</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    {</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        <span class="keywordflow">return</span> mValue;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    }</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="classAbstractPropertyType.html#ae87a5dc3ad7315c595a14959e4acedf1">  233</a></span>&#160;    <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">string</span> <a class="code" href="classAbstractPropertyType.html#ae87a5dc3ad7315c595a14959e4acedf1">signature</a>()</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    {</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;        <span class="keyword">auto</span> var = amb::make_super(toVariant());</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;        <span class="keywordflow">if</span>(!var) <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">string</span> s = g_variant_get_type_string(var.get());</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;        <a class="code" href="classDebugOut.html">DebugOut</a>() &lt;&lt; <span class="stringliteral">&quot;returning signature: &quot;</span> &lt;&lt; s &lt;&lt; <span class="stringliteral">&quot; for &quot;</span>&lt;&lt; name &lt;&lt; endl;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        <span class="keywordflow">return</span> s;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    }</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="classAbstractPropertyType.html#ab557c141cce1769d0e4d8213894c9e2c">  248</a></span>&#160;    std::vector&lt;std::function&lt;void(AbstractPropertyType*)&gt;&gt; <a class="code" href="classAbstractPropertyType.html#ab557c141cce1769d0e4d8213894c9e2c">destroyed</a>;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    boost::any mValue;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;};</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceamb.html">amb</a></div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;{</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;</div><div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="structamb_1_1PropertyCompare.html">  259</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structamb_1_1PropertyCompare.html">PropertyCompare</a></div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;{</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    <span class="keywordtype">bool</span> operator()(<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>* <span class="keyword">const</span> &amp; lhs, <a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>* &amp; rhs)<span class="keyword"> const</span></div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        <span class="keywordflow">if</span> (lhs-&gt;<a class="code" href="classAbstractPropertyType.html#a0899de35293963a6c18a0f4913916871">name</a> == rhs-&gt;<a class="code" href="classAbstractPropertyType.html#a0899de35293963a6c18a0f4913916871">name</a></div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;                &amp;&amp; lhs-&gt;<a class="code" href="classAbstractPropertyType.html#abe2de53722d28e8e7c2a715b97e1ae48">sourceUuid</a> == rhs-&gt;<a class="code" href="classAbstractPropertyType.html#abe2de53722d28e8e7c2a715b97e1ae48">sourceUuid</a></div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;                &amp;&amp; lhs-&gt;<a class="code" href="classAbstractPropertyType.html#a420b96a1fcbcbe513ff3801185e788bc">zone</a> == rhs-&gt;<a class="code" href="classAbstractPropertyType.html#a420b96a1fcbcbe513ff3801185e788bc">zone</a>)</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;        {</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        }</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    }</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;};</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;}</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classGVS.html">  279</a></span>&#160;<span class="keyword">class </span><a class="code" href="classGVS.html">GVS</a>;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="classGVS_3_01int_01_4.html">  282</a></span>&#160;<span class="keyword">class </span><a class="code" href="classGVS.html">GVS</a>&lt;int&gt;</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;{</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* signature() { <span class="keywordflow">return</span> <span class="stringliteral">&quot;i&quot;</span>; }</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">int</span> value(GVariant* v)</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    {</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        <span class="keywordtype">int</span> val = 0;</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;        g_variant_get(v, signature(), &amp;val);</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        <span class="keywordflow">return</span> val;</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    }</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    <span class="keyword">static</span> std::string stringize(std::string v)</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    {</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;        <span class="keywordflow">return</span> v;</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    }</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;};</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="classGVS_3_01double_01_4.html">  301</a></span>&#160;<span class="keyword">class </span><a class="code" href="classGVS.html">GVS</a>&lt;double&gt;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;{</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* signature() { <span class="keywordflow">return</span> <span class="stringliteral">&quot;d&quot;</span>; }</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">double</span> value(GVariant* v)</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    {</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;        <span class="keywordflow">return</span> g_variant_get_double(v);</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    }</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <span class="keyword">static</span> std::string stringize(std::string v)</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    {</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        <span class="keywordflow">return</span> v;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    }</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;};</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="classGVS_3_01uint16__t_01_4.html">  317</a></span>&#160;<span class="keyword">class </span><a class="code" href="classGVS.html">GVS</a>&lt;uint16_t&gt;</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;{</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* signature() { <span class="keywordflow">return</span> <span class="stringliteral">&quot;q&quot;</span>; }</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;    <span class="keyword">static</span> uint16_t value(GVariant* v)</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;    {</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;        <span class="keywordflow">return</span> g_variant_get_uint16(v);</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    }</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    <span class="keyword">static</span> std::string stringize(std::string v)</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;    {</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;        <span class="keywordflow">return</span> v;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    }</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;};</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="classGVS_3_01int16__t_01_4.html">  333</a></span>&#160;<span class="keyword">class </span><a class="code" href="classGVS.html">GVS</a>&lt;int16_t&gt;</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;{</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* signature() { <span class="keywordflow">return</span> <span class="stringliteral">&quot;n&quot;</span>; }</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    <span class="keyword">static</span> int16_t value(GVariant* v)</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    {</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        <span class="keywordflow">return</span> g_variant_get_int16(v);</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;    }</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    <span class="keyword">static</span> std::string stringize(std::string v)</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;    {</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;        <span class="keywordflow">return</span> v;</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    }</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;};</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="classGVS_3_01char_01_4.html">  349</a></span>&#160;<span class="keyword">class </span><a class="code" href="classGVS.html">GVS</a>&lt;char&gt;</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;{</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* signature() { <span class="keywordflow">return</span> <span class="stringliteral">&quot;y&quot;</span>; }</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">char</span> value(GVariant* v)</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    {</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;        <span class="keywordflow">return</span> g_variant_get_byte(v);</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    }</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    <span class="keyword">static</span> std::string stringize(std::string v)</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    {</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        <span class="keywordflow">return</span> v;</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    }</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;};</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="classGVS_3_01uint32__t_01_4.html">  365</a></span>&#160;<span class="keyword">class </span><a class="code" href="classGVS.html">GVS</a>&lt;uint32_t&gt;</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;{</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* signature() { <span class="keywordflow">return</span> <span class="stringliteral">&quot;u&quot;</span>; }</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    <span class="keyword">static</span> uint32_t value(GVariant* v)</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    {</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;        <span class="keywordflow">return</span> g_variant_get_uint32(v);</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;    }</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    <span class="keyword">static</span> std::string stringize(std::string v)</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    {</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;        <span class="keywordflow">return</span> v;</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    }</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;};</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="classGVS_3_01int64__t_01_4.html">  381</a></span>&#160;<span class="keyword">class </span><a class="code" href="classGVS.html">GVS</a>&lt;int64_t&gt;</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;{</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* signature() { <span class="keywordflow">return</span> <span class="stringliteral">&quot;x&quot;</span>; }</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;    <span class="keyword">static</span> int64_t value(GVariant* v)</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;    {</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;        <span class="keywordflow">return</span> g_variant_get_int64(v);</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    }</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;    <span class="keyword">static</span> std::string stringize(std::string v)</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;    {</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;        <span class="keywordflow">return</span> v;</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    }</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;};</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="classGVS_3_01uint64__t_01_4.html">  397</a></span>&#160;<span class="keyword">class </span><a class="code" href="classGVS.html">GVS</a>&lt;uint64_t&gt;</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;{</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* signature() { <span class="keywordflow">return</span> <span class="stringliteral">&quot;t&quot;</span>; }</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    <span class="keyword">static</span> uint64_t value(GVariant* v)</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    {</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;        <span class="keywordflow">return</span> g_variant_get_uint64(v);</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    }</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    <span class="keyword">static</span> std::string stringize(std::string v)</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;    {</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;        <span class="keywordflow">return</span> v;</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;    }</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;};</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="classGVS_3_01bool_01_4.html">  413</a></span>&#160;<span class="keyword">class </span><a class="code" href="classGVS.html">GVS</a>&lt;bool&gt;</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;{</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* signature() { <span class="keywordflow">return</span> <span class="stringliteral">&quot;b&quot;</span>; }</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> value(GVariant *v)</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    {</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;        <span class="keywordflow">return</span> g_variant_get_boolean(v);</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    }</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;    <span class="keyword">static</span> std::string stringize(std::string v)</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;    {</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;        <span class="keywordflow">if</span>(v == <span class="stringliteral">&quot;0&quot;</span> || v == <span class="stringliteral">&quot;1&quot;</span>)</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;            <span class="keywordflow">return</span> v;</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;        boost::algorithm::to_lower(v);</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;        <span class="keywordflow">return</span> v == <span class="stringliteral">&quot;true&quot;</span> ? <span class="stringliteral">&quot;1&quot;</span>:<span class="stringliteral">&quot;0&quot;</span>;</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    }</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;};</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="classBasicPropertyType.html">  440</a></span>&#160;<span class="keyword">class </span><a class="code" href="classBasicPropertyType.html">BasicPropertyType</a>: <span class="keyword">public</span> <a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a></div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;{</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    <a class="code" href="classBasicPropertyType.html">BasicPropertyType</a>(): <a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>(<span class="stringliteral">&quot;&quot;</span>)</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    {</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;        mValue = T();</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;    }</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;    <a class="code" href="classBasicPropertyType.html">BasicPropertyType</a>(<a class="code" href="classBasicPropertyType.html">BasicPropertyType</a> <span class="keyword">const</span> &amp; other)</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        :<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>(other.<a class="code" href="classAbstractPropertyType.html#a0899de35293963a6c18a0f4913916871">name</a>)</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;    {</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;        setValue(other.<a class="code" href="classAbstractPropertyType.html#ae723621925382263eba046fa1ca8e36d">value</a>&lt;T&gt;());</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;        timestamp = other.<a class="code" href="classAbstractPropertyType.html#a6a391546600fde38a351d3d236be8a9b">timestamp</a>;</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;        sequence = other.<a class="code" href="classAbstractPropertyType.html#ae74440c78c4a5f6af1c3b9c85f1a34c2">sequence</a>;</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;        sourceUuid = other.<a class="code" href="classAbstractPropertyType.html#abe2de53722d28e8e7c2a715b97e1ae48">sourceUuid</a>;</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;        name = other.<a class="code" href="classAbstractPropertyType.html#a0899de35293963a6c18a0f4913916871">name</a>;</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;        zone = other.<a class="code" href="classAbstractPropertyType.html#a420b96a1fcbcbe513ff3801185e788bc">zone</a>;</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    }</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    <a class="code" href="classBasicPropertyType.html">BasicPropertyType</a> &amp; operator = (<a class="code" href="classBasicPropertyType.html">BasicPropertyType</a> <span class="keyword">const</span> &amp; other)</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    {</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;        setValue(other.<a class="code" href="classAbstractPropertyType.html#ae723621925382263eba046fa1ca8e36d">value</a>&lt;T&gt;());</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;        timestamp = other.<a class="code" href="classAbstractPropertyType.html#a6a391546600fde38a351d3d236be8a9b">timestamp</a>;</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;        sequence = other.<a class="code" href="classAbstractPropertyType.html#ae74440c78c4a5f6af1c3b9c85f1a34c2">sequence</a>;</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;        sourceUuid = other.<a class="code" href="classAbstractPropertyType.html#abe2de53722d28e8e7c2a715b97e1ae48">sourceUuid</a>;</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;        name = other.<a class="code" href="classAbstractPropertyType.html#a0899de35293963a6c18a0f4913916871">name</a>;</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;        zone = other.<a class="code" href="classAbstractPropertyType.html#a420b96a1fcbcbe513ff3801185e788bc">zone</a>;</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    }</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;    <a class="code" href="classBasicPropertyType.html">BasicPropertyType</a> &amp; operator = (T <span class="keyword">const</span> &amp; other)</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;    {</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;        setValue(other);</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    }</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    <a class="code" href="classBasicPropertyType.html">BasicPropertyType</a> &amp; operator ++ ()</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;    {</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;        setValue(basicValue() + 1);</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;    }</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;    <a class="code" href="classBasicPropertyType.html">BasicPropertyType</a> &amp; operator -- ()</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    {</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        setValue(basicValue() - 1);</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    }</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    <span class="keywordtype">bool</span> operator &lt; (const BasicPropertyType&lt;T&gt;&amp; other) <span class="keyword">const</span></div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    {</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;        <span class="keywordflow">return</span> value&lt;T&gt;() &lt; other.value&lt;T&gt;();</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    }</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;    <span class="keywordtype">bool</span> operator &gt; (<span class="keyword">const</span> <a class="code" href="classBasicPropertyType.html">BasicPropertyType&lt;T&gt;</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;        <span class="keywordflow">return</span> value&lt;T&gt;() &gt; other.<a class="code" href="classAbstractPropertyType.html#ae723621925382263eba046fa1ca8e36d">value</a>&lt;T&gt;();</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    }</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;    <a class="code" href="classBasicPropertyType.html">BasicPropertyType</a>( T val)</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;        :<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>(<span class="stringliteral">&quot;&quot;</span>)</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    {</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;        setValue(val);</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;    }</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;    <a class="code" href="classBasicPropertyType.html">BasicPropertyType</a>( std::string propertyName, T val)</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;        :<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>(propertyName)</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;    {</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;        setValue(val);</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;    }</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;    <a class="code" href="classBasicPropertyType.html">BasicPropertyType</a>( std::string propertyName, std::string val)</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;        :<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>(propertyName)</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;    {</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;        <span class="keywordflow">if</span>(!val.empty() &amp;&amp; val != <span class="stringliteral">&quot;&quot;</span>)</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;        {</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;            serialize&lt;T&gt;(val);</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;        }</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;        <span class="keywordflow">else</span> setValue(T());</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;    }</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;    <a class="code" href="classBasicPropertyType.html">BasicPropertyType</a>(std::string propertyName)</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;        :<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>(propertyName)</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;    {</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;        mValue = T();</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;    }</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;</div><div class="line"><a name="l00526"></a><span class="lineno"><a class="line" href="classBasicPropertyType.html#a244d19253bfc42dfadd84570b8c8e404">  526</a></span>&#160;    <a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>* <a class="code" href="classBasicPropertyType.html#a244d19253bfc42dfadd84570b8c8e404">copy</a>()</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;    {</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classBasicPropertyType.html">BasicPropertyType&lt;T&gt;</a>(*this);</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;    }</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;</div><div class="line"><a name="l00531"></a><span class="lineno"><a class="line" href="classBasicPropertyType.html#a3c73a6a2c2c020ec327849f318ae9f2a">  531</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classBasicPropertyType.html#a3c73a6a2c2c020ec327849f318ae9f2a">fromString</a>(std::string val)</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;    {</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;        <span class="keywordflow">if</span>(!val.empty() &amp;&amp; val != <span class="stringliteral">&quot;&quot;</span>)</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;        {</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;            serialize&lt;T&gt;(val);</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;        }</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;    }</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;</div><div class="line"><a name="l00539"></a><span class="lineno"><a class="line" href="classBasicPropertyType.html#a672e2824bcc38da6e60090022fd8d114">  539</a></span>&#160;    std::string <a class="code" href="classBasicPropertyType.html#a672e2824bcc38da6e60090022fd8d114">toString</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;        std::stringstream stream;</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;        stream.precision(10);</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;        stream&lt;&lt;value&lt;T&gt;();</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;        <span class="keywordflow">return</span> stream.str();</div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;    }</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;</div><div class="line"><a name="l00548"></a><span class="lineno"><a class="line" href="classBasicPropertyType.html#a893a2d1f8fec7141159d850caa78bc06">  548</a></span>&#160;    GVariant* <a class="code" href="classBasicPropertyType.html#a893a2d1f8fec7141159d850caa78bc06">toVariant</a>()</div><div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;    {</div><div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;        <span class="keywordflow">return</span> serializeVariant&lt;T&gt;(value&lt;T&gt;());</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;    }</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;</div><div class="line"><a name="l00553"></a><span class="lineno"><a class="line" href="classBasicPropertyType.html#a0e1213ee2df11ecd556b250fe3bad21b">  553</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classBasicPropertyType.html#a0e1213ee2df11ecd556b250fe3bad21b">fromVariant</a>(GVariant *v)</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;    {</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;        setValue(deserializeVariant&lt;T&gt;(v));</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;    }</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;</div><div class="line"><a name="l00563"></a><span class="lineno"><a class="line" href="classBasicPropertyType.html#a6d7f38ef937d8d178957962a4ae78447">  563</a></span>&#160;    T <a class="code" href="classBasicPropertyType.html#a6d7f38ef937d8d178957962a4ae78447">basicValue</a>()</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;    {</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;        <span class="keywordflow">return</span> value&lt;T&gt;();</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;    }</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;    <span class="keywordtype">void</span> setValue(T val)</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;    {</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;        <a class="code" href="classAbstractPropertyType.html#a1b2598b86718911533587a5bd41bfb9c">AbstractPropertyType::setValue</a>(val);</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;    }</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;</div><div class="line"><a name="l00573"></a><span class="lineno"><a class="line" href="classBasicPropertyType.html#aa1893ef55f29b01daeadbc93438afa0e">  573</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classBasicPropertyType.html#aa1893ef55f29b01daeadbc93438afa0e">setValue</a>(boost::any val)</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;    {</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;        <a class="code" href="classAbstractPropertyType.html#a1b2598b86718911533587a5bd41bfb9c">AbstractPropertyType::setValue</a>(val);</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;    }</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;    <span class="comment">//GVariant* mVariant;</span></div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class</span> N&gt;</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;    <span class="keywordtype">void</span> serialize(std::string val,  <span class="keyword">typename</span> std::enable_if&lt;std::is_enum&lt;N&gt;::value, N&gt;::type* = 0)</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;    {</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;        <span class="keywordtype">int</span> someTemp;</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;        std::stringstream stream(val);</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;        stream&gt;&gt;someTemp;</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;        setValue((N)someTemp);</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    }</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class</span> N&gt;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    <span class="keywordtype">void</span> serialize(std::string  val,  <span class="keyword">typename</span> std::enable_if&lt;!std::is_enum&lt;N&gt;::value, N&gt;::type* = 0)</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    {</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;        std::stringstream stream(<a class="code" href="classGVS.html">GVS&lt;T&gt;::stringize</a>(val));</div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;        N someTemp;</div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;        stream&gt;&gt;someTemp;</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;        setValue(someTemp);</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;    }</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class</span> N&gt;</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;    GVariant* serializeVariant(T val, <span class="keyword">typename</span> std::enable_if&lt;std::is_enum&lt;N&gt;::value, N&gt;::type* = 0)</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;    {</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;        <span class="comment">//mVariant = Glib::VariantBase(Glib::Variant&lt;gint16&gt;::create((int)val).gobj());</span></div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;        <span class="keywordflow">return</span> (g_variant_new(<span class="stringliteral">&quot;i&quot;</span>,(<span class="keywordtype">int</span>)val));</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    }</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class</span> N&gt;</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;    GVariant* serializeVariant(T val, <span class="keyword">typename</span> std::enable_if&lt;!std::is_enum&lt;N&gt;::value, N&gt;::type* = 0)</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    {</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;        <span class="comment">//mVariant = Glib::Variant&lt;T&gt;::create(val);</span></div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;        <span class="comment">//mVariant = g_variant_ref(g_variant_new(GVS&lt;T&gt;::signature(),val));</span></div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;        <span class="keywordflow">return</span> g_variant_new(<a class="code" href="classGVS.html">GVS&lt;T&gt;::signature</a>(),val);</div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;    }</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class</span> N&gt;</div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;    T deserializeVariant(GVariant* v, <span class="keyword">typename</span> std::enable_if&lt;std::is_enum&lt;N&gt;::value, N&gt;::type* = 0)</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;    {</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;<span class="comment">//      return (T)((Glib::Variant&lt;int&gt;::cast_dynamic&lt;Glib::Variant&lt;int&gt; &gt;(*v)).get());</span></div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;        <span class="keywordflow">return</span> (T)<a class="code" href="classGVS.html">GVS&lt;int&gt;::value</a>(v);</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;    }</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class</span> N&gt;</div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;    T deserializeVariant(GVariant* v, <span class="keyword">typename</span> std::enable_if&lt;!std::is_enum&lt;N&gt;::value, N&gt;::type* = 0)</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;    {</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;        <span class="comment">//  return Glib::VariantBase::cast_dynamic&lt;Glib::Variant&lt;T&gt; &gt;(*v).get();</span></div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classGVS.html">GVS&lt;T&gt;::value</a>(v);</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;    }</div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;};</div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;</div><div class="line"><a name="l00634"></a><span class="lineno"><a class="line" href="classStringPropertyType.html">  634</a></span>&#160;<span class="keyword">class </span><a class="code" href="classStringPropertyType.html">StringPropertyType</a>: <span class="keyword">public</span> <a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a></div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;{</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;    <a class="code" href="classStringPropertyType.html">StringPropertyType</a>()</div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;        :<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>(<span class="stringliteral">&quot;&quot;</span>)</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;    {</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;        setValue(std::string());</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;    }</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;    <a class="code" href="classStringPropertyType.html">StringPropertyType</a>(std::string propertyName)</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;        :<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>(propertyName)</div><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;    {</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;        setValue(std::string());</div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;    }</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;    <a class="code" href="classStringPropertyType.html">StringPropertyType</a>(std::string propertyName, std::string val)</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;        :<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>(propertyName)</div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;    {</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;        setValue(val);</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;    }</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;    <a class="code" href="classStringPropertyType.html">StringPropertyType</a>(<a class="code" href="classStringPropertyType.html">StringPropertyType</a> <span class="keyword">const</span> &amp; other)</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;    :<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>(other.<a class="code" href="classAbstractPropertyType.html#a0899de35293963a6c18a0f4913916871">name</a>)</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;    {</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;        setValue(other.<a class="code" href="classAbstractPropertyType.html#ae723621925382263eba046fa1ca8e36d">value</a>&lt;std::string&gt;());</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;        timestamp = other.<a class="code" href="classAbstractPropertyType.html#a6a391546600fde38a351d3d236be8a9b">timestamp</a>;</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;        sequence = other.<a class="code" href="classAbstractPropertyType.html#ae74440c78c4a5f6af1c3b9c85f1a34c2">sequence</a>;</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;        sourceUuid = other.<a class="code" href="classAbstractPropertyType.html#abe2de53722d28e8e7c2a715b97e1ae48">sourceUuid</a>;</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;        name = other.<a class="code" href="classAbstractPropertyType.html#a0899de35293963a6c18a0f4913916871">name</a>;</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;        zone = other.<a class="code" href="classAbstractPropertyType.html#a420b96a1fcbcbe513ff3801185e788bc">zone</a>;</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;    }</div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;    <a class="code" href="classStringPropertyType.html">StringPropertyType</a> &amp; operator = (<a class="code" href="classStringPropertyType.html">StringPropertyType</a> <span class="keyword">const</span> &amp; other)</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;    {</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;        setValue(other.<a class="code" href="classAbstractPropertyType.html#ae723621925382263eba046fa1ca8e36d">value</a>&lt;std::string&gt;());</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;        timestamp = other.<a class="code" href="classAbstractPropertyType.html#a6a391546600fde38a351d3d236be8a9b">timestamp</a>;</div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;        sequence = other.<a class="code" href="classAbstractPropertyType.html#ae74440c78c4a5f6af1c3b9c85f1a34c2">sequence</a>;</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;        sourceUuid = other.<a class="code" href="classAbstractPropertyType.html#abe2de53722d28e8e7c2a715b97e1ae48">sourceUuid</a>;</div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;        name = other.<a class="code" href="classAbstractPropertyType.html#a0899de35293963a6c18a0f4913916871">name</a>;</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;        zone = other.<a class="code" href="classAbstractPropertyType.html#a420b96a1fcbcbe513ff3801185e788bc">zone</a>;</div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;</div><div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;    }</div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;</div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;    <a class="code" href="classStringPropertyType.html">StringPropertyType</a> &amp; operator = (std::string <span class="keyword">const</span> &amp; other)</div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;    {</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;        setValue(std::string(other));</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;    }</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;    <span class="keywordtype">bool</span> operator &lt; (<span class="keyword">const</span> <a class="code" href="classStringPropertyType.html">StringPropertyType</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;        <span class="keywordflow">return</span> value&lt;std::string&gt;() &lt; other.<a class="code" href="classAbstractPropertyType.html#ae723621925382263eba046fa1ca8e36d">value</a>&lt;std::string&gt;();</div><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;    }</div><div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;</div><div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;</div><div class="line"><a name="l00692"></a><span class="lineno"><a class="line" href="classStringPropertyType.html#ad9dd60fcfd9fd3ebaa578815c8d552fe">  692</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classStringPropertyType.html#ad9dd60fcfd9fd3ebaa578815c8d552fe">fromString</a>(std::string val)</div><div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;    {</div><div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;        setValue(val);</div><div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;    }</div><div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;</div><div class="line"><a name="l00697"></a><span class="lineno"><a class="line" href="classStringPropertyType.html#a15866eb8e3ee9e1be587740f64353d57">  697</a></span>&#160;    <a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>* <a class="code" href="classStringPropertyType.html#a15866eb8e3ee9e1be587740f64353d57">copy</a>()</div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;    {</div><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classStringPropertyType.html">StringPropertyType</a>(*<span class="keyword">this</span>);</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;    }</div><div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;</div><div class="line"><a name="l00702"></a><span class="lineno"><a class="line" href="classStringPropertyType.html#afb461a0a918e23e66880d0c8d2180b35">  702</a></span>&#160;    std::string <a class="code" href="classStringPropertyType.html#afb461a0a918e23e66880d0c8d2180b35">toString</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;        <span class="keywordflow">return</span> value&lt;std::string&gt;();</div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;    }</div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;</div><div class="line"><a name="l00707"></a><span class="lineno"><a class="line" href="classStringPropertyType.html#a1ec1ba3797194880a1e7576bd3695a28">  707</a></span>&#160;    GVariant* <a class="code" href="classStringPropertyType.html#a1ec1ba3797194880a1e7576bd3695a28">toVariant</a>()</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;    {</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;        <span class="comment">//mVariant = Glib::Variant&lt;std::string&gt;::create(toString());</span></div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;</div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;        <span class="keywordflow">return</span> g_variant_new_string(toString().c_str());</div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;</div><div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;    }</div><div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;</div><div class="line"><a name="l00715"></a><span class="lineno"><a class="line" href="classStringPropertyType.html#ad4a1e7db1f6b381ab956eb70afd1509e">  715</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classStringPropertyType.html#ad4a1e7db1f6b381ab956eb70afd1509e">fromVariant</a>(GVariant *v)</div><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    {</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;        setValue(std::string(g_variant_get_string(v,NULL)));</div><div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;    }</div><div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;};</div><div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> T = AbstractPropertyType&gt;</div><div class="line"><a name="l00725"></a><span class="lineno"><a class="line" href="classListPropertyType.html">  725</a></span>&#160;<span class="keyword">class </span><a class="code" href="classListPropertyType.html">ListPropertyType</a>: <span class="keyword">public</span> <a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a></div><div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;{</div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;    <a class="code" href="classListPropertyType.html">ListPropertyType</a>(std::string propertyName)</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;        : <a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>(propertyName), initialized(<span class="keyword">false</span>)</div><div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;    {</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;    }</div><div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;</div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    <a class="code" href="classListPropertyType.html">ListPropertyType</a>(std::string propertyName, T value)</div><div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;        : <a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>(propertyName), initialized(<span class="keyword">false</span>)</div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;    {</div><div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;        appendPriv(value);</div><div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;    }</div><div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;</div><div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;    <a class="code" href="classListPropertyType.html">ListPropertyType</a>(<a class="code" href="classListPropertyType.html">ListPropertyType</a> &amp; other)</div><div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;        :<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>(other.<a class="code" href="classAbstractPropertyType.html#a0899de35293963a6c18a0f4913916871">name</a>),initialized(<span class="keyword">false</span>)</div><div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;    {</div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;        std::vector&lt;T&gt; l = other.list();</div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;        <span class="keywordflow">for</span>(<span class="keyword">auto</span> i : l)</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;        {</div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;            append(i);</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;        }</div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;</div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;        timestamp = other.<a class="code" href="classAbstractPropertyType.html#a6a391546600fde38a351d3d236be8a9b">timestamp</a>;</div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;        sequence = other.<a class="code" href="classAbstractPropertyType.html#ae74440c78c4a5f6af1c3b9c85f1a34c2">sequence</a>;</div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;        sourceUuid = other.<a class="code" href="classAbstractPropertyType.html#abe2de53722d28e8e7c2a715b97e1ae48">sourceUuid</a>;</div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;        name = other.<a class="code" href="classAbstractPropertyType.html#a0899de35293963a6c18a0f4913916871">name</a>;</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;        zone = other.<a class="code" href="classAbstractPropertyType.html#a420b96a1fcbcbe513ff3801185e788bc">zone</a>;</div><div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;    }</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;    ~<a class="code" href="classListPropertyType.html">ListPropertyType</a>()</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;    {</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;        clear();</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;    }</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;</div><div class="line"><a name="l00765"></a><span class="lineno"><a class="line" href="classListPropertyType.html#a08221e5a0b5f2ba3775e5537415481bb">  765</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classListPropertyType.html#a08221e5a0b5f2ba3775e5537415481bb">append</a>(T property)</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;    {</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;        <span class="keywordflow">if</span>(!initialized)</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;        {</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;            mList.clear();</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;            initialized = <span class="keyword">true</span>;</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;        }</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;        appendPriv(property);</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;    }</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;    uint count()</div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;    {</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;        <span class="keywordflow">return</span> mList.size();</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;    }</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;</div><div class="line"><a name="l00781"></a><span class="lineno"><a class="line" href="classListPropertyType.html#a2b4d928c8fa6c7317a31d4aa376908d1">  781</a></span>&#160;    <a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>* <a class="code" href="classListPropertyType.html#a2b4d928c8fa6c7317a31d4aa376908d1">copy</a>()</div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;    {</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classListPropertyType.html">ListPropertyType</a>(*<span class="keyword">this</span>);</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;    }</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;</div><div class="line"><a name="l00786"></a><span class="lineno"><a class="line" href="classListPropertyType.html#a1e5afbe102ea305d8095ee6e56a08753">  786</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classListPropertyType.html#a1e5afbe102ea305d8095ee6e56a08753">quickCopy</a>(<a class="code" href="classAbstractPropertyType.html">AbstractPropertyType</a>* other)</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;    {</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;        <a class="code" href="classAbstractPropertyType.html#a0996989d0082ad3f621fec938b60ed10">AbstractPropertyType::quickCopy</a>(other);</div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;        <a class="code" href="classListPropertyType.html">ListPropertyType&lt;T&gt;</a>* v = <span class="keyword">static_cast&lt;</span><a class="code" href="classListPropertyType.html">ListPropertyType&lt;T&gt;</a>*<span class="keyword">&gt;</span>(other);</div><div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;        <span class="keywordflow">if</span>(!v)</div><div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;        {</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;            <a class="code" href="classDebugOut.html">DebugOut</a>(<a class="code" href="classDebugOut.html#a40314aef0df2ed8a705d9372d49b0535">DebugOut::Error</a>) &lt;&lt; <span class="stringliteral">&quot;ListPropertyType Quick Copy failed&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;            <span class="keywordflow">return</span>;</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;        }</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;        mList = v-&gt;list();</div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;    }</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;</div><div class="line"><a name="l00798"></a><span class="lineno"><a class="line" href="classListPropertyType.html#a7c0f0a4ab1d1ceaf4d7abfbdade7f5ea">  798</a></span>&#160;    std::string <a class="code" href="classListPropertyType.html#a7c0f0a4ab1d1ceaf4d7abfbdade7f5ea">toString</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;        std::string str = <span class="stringliteral">&quot;[&quot;</span>;</div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;        <span class="keywordflow">for</span>(<span class="keyword">auto</span> itr = mList.begin(); itr != mList.end(); itr++)</div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;        {</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;            <span class="keywordflow">if</span>(str != <span class="stringliteral">&quot;[&quot;</span>)</div><div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;                str += <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;</div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;            T t = *itr;</div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;</div><div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;            str += t.toString();</div><div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;        }</div><div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;</div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;        str += <span class="stringliteral">&quot;]&quot;</span>;</div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;</div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;        <span class="keywordflow">return</span> str;</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;    }</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;</div><div class="line"><a name="l00818"></a><span class="lineno"><a class="line" href="classListPropertyType.html#aa49d1bc6968d7201b4d836b5049133f0">  818</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classListPropertyType.html#aa49d1bc6968d7201b4d836b5049133f0">fromString</a>(std::string str )</div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;    {</div><div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;        clear();</div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;</div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;        <span class="keywordflow">if</span>(!str.length())</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;            <span class="keywordflow">return</span>;</div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;</div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;        <span class="keywordflow">if</span>(str[0] == <span class="charliteral">&#39;[&#39;</span> &amp;&amp; str[str.length()-1] == <span class="charliteral">&#39;]&#39;</span>)</div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;        {</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;            str = str.substr(1,str.length() - 2);</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;        }</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;        std::vector&lt;std::string&gt; elements;</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;        std::istringstream f(str);</div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;</div><div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;        std::string element;</div><div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;        <span class="keywordflow">while</span>(std::getline(f,element,<span class="charliteral">&#39;,&#39;</span>))</div><div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;        {</div><div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;            T foo(<span class="stringliteral">&quot;&quot;</span>, element);</div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;            append (foo);</div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;        }</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;        timestamp = amb::currentTime();</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;    }</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;</div><div class="line"><a name="l00844"></a><span class="lineno"><a class="line" href="classListPropertyType.html#ab0a0e192757158cd9901becacbafdb41">  844</a></span>&#160;    GVariant* <a class="code" href="classListPropertyType.html#ab0a0e192757158cd9901becacbafdb41">toVariant</a>()</div><div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;    {</div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;</div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;        GVariantBuilder params;</div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;        g_variant_builder_init(&amp;params, ((<span class="keyword">const</span> GVariantType *) <span class="stringliteral">&quot;av&quot;</span>));</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;</div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;        <span class="keywordflow">for</span>(<span class="keyword">auto</span> itr = mList.begin(); itr != mList.end(); itr++)</div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;        {</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;            T t = *itr;</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;            <span class="keyword">auto</span> var = t.toVariant();</div><div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;            GVariant *newvar = g_variant_new(<span class="stringliteral">&quot;v&quot;</span>, var);</div><div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;            g_variant_builder_add_value(&amp;params, newvar);</div><div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;        }</div><div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;</div><div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;        GVariant* var =  g_variant_builder_end(&amp;params);</div><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;        g_assert(var);</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;        <span class="keywordflow">return</span> var;</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;</div><div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;    }</div><div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;</div><div class="line"><a name="l00864"></a><span class="lineno"><a class="line" href="classListPropertyType.html#aa76b2385816ce8a12982109d632b6b93">  864</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classListPropertyType.html#aa76b2385816ce8a12982109d632b6b93">fromVariant</a>(GVariant* v)</div><div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;    {</div><div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;        clear();</div><div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;</div><div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;        gsize dictsize = g_variant_n_children(v);</div><div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0;i&lt;dictsize;i++)</div><div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;        {</div><div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;            GVariant *childvariant = g_variant_get_child_value(v,i);</div><div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;            GVariant *innervariant = g_variant_get_variant(childvariant);</div><div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;            T t;</div><div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;            t.fromVariant(innervariant);</div><div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;            appendPriv(t);</div><div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;        }</div><div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;    }</div><div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;</div><div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;    std::vector&lt;T&gt; list() { <span class="keywordflow">return</span> mList; }</div><div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;</div><div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;</div><div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;    <span class="keywordtype">void</span> clear()</div><div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;    {</div><div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;        mList.clear();</div><div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;    }</div><div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;</div><div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;    <span class="keywordtype">void</span> appendPriv(T i)</div><div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;    {</div><div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;        mList.push_back(i);</div><div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;    }</div><div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;</div><div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;    <span class="keywordtype">bool</span> initialized;</div><div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;</div><div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;    std::vector&lt;T&gt; mList;</div><div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;};</div><div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;</div><div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="classAbstractPropertyType_html_ae74440c78c4a5f6af1c3b9c85f1a34c2"><div class="ttname"><a href="classAbstractPropertyType.html#ae74440c78c4a5f6af1c3b9c85f1a34c2">AbstractPropertyType::sequence</a></div><div class="ttdeci">int32_t sequence</div><div class="ttdoc">sequence internal counter. Useful as a unique indentifier. values is -1 if not used (default)...</div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:179</div></div>
<div class="ttc" id="classStringPropertyType_html_ad4a1e7db1f6b381ab956eb70afd1509e"><div class="ttname"><a href="classStringPropertyType.html#ad4a1e7db1f6b381ab956eb70afd1509e">StringPropertyType::fromVariant</a></div><div class="ttdeci">void fromVariant(GVariant *v)</div><div class="ttdoc">fromVariant converts GVariant value into compatible native value. Caller owns GVariant argument...</div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:715</div></div>
<div class="ttc" id="classBasicPropertyType_html_aa1893ef55f29b01daeadbc93438afa0e"><div class="ttname"><a href="classBasicPropertyType.html#aa1893ef55f29b01daeadbc93438afa0e">BasicPropertyType::setValue</a></div><div class="ttdeci">void setValue(boost::any val)</div><div class="ttdoc">setValue </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:573</div></div>
<div class="ttc" id="classAbstractPropertyType_html"><div class="ttname"><a href="classAbstractPropertyType.html">AbstractPropertyType</a></div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:70</div></div>
<div class="ttc" id="classBasicPropertyType_html_a3c73a6a2c2c020ec327849f318ae9f2a"><div class="ttname"><a href="classBasicPropertyType.html#a3c73a6a2c2c020ec327849f318ae9f2a">BasicPropertyType::fromString</a></div><div class="ttdeci">void fromString(std::string val)</div><div class="ttdoc">fromString converts from string value </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:531</div></div>
<div class="ttc" id="classAbstractPropertyType_html_ae87a5dc3ad7315c595a14959e4acedf1"><div class="ttname"><a href="classAbstractPropertyType.html#ae87a5dc3ad7315c595a14959e4acedf1">AbstractPropertyType::signature</a></div><div class="ttdeci">virtual const string signature()</div><div class="ttdoc">signature </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:233</div></div>
<div class="ttc" id="classBasicPropertyType_html_a244d19253bfc42dfadd84570b8c8e404"><div class="ttname"><a href="classBasicPropertyType.html#a244d19253bfc42dfadd84570b8c8e404">BasicPropertyType::copy</a></div><div class="ttdeci">AbstractPropertyType * copy()</div><div class="ttdoc">copy </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:526</div></div>
<div class="ttc" id="classBasicPropertyType_html_a6d7f38ef937d8d178957962a4ae78447"><div class="ttname"><a href="classBasicPropertyType.html#a6d7f38ef937d8d178957962a4ae78447">BasicPropertyType::basicValue</a></div><div class="ttdeci">T basicValue()</div><div class="ttdoc">basicValue </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:563</div></div>
<div class="ttc" id="classListPropertyType_html"><div class="ttname"><a href="classListPropertyType.html">ListPropertyType</a></div><div class="ttdoc">ListPropertyType is a AbstractPropertyType for arrays of AbstractPropertyTypes. </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:725</div></div>
<div class="ttc" id="structamb_1_1PropertyCompare_html"><div class="ttname"><a href="structamb_1_1PropertyCompare.html">amb::PropertyCompare</a></div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:259</div></div>
<div class="ttc" id="classDebugOut_html_a40314aef0df2ed8a705d9372d49b0535"><div class="ttname"><a href="classDebugOut.html#a40314aef0df2ed8a705d9372d49b0535">DebugOut::Error</a></div><div class="ttdeci">static const int Error</div><div class="ttdoc">Error use when essential functionality is blocked. </div><div class="ttdef"><b>Definition:</b> debugout.h:80</div></div>
<div class="ttc" id="classStringPropertyType_html_afb461a0a918e23e66880d0c8d2180b35"><div class="ttname"><a href="classStringPropertyType.html#afb461a0a918e23e66880d0c8d2180b35">StringPropertyType::toString</a></div><div class="ttdeci">std::string toString() const </div><div class="ttdoc">toString </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:702</div></div>
<div class="ttc" id="classListPropertyType_html_a7c0f0a4ab1d1ceaf4d7abfbdade7f5ea"><div class="ttname"><a href="classListPropertyType.html#a7c0f0a4ab1d1ceaf4d7abfbdade7f5ea">ListPropertyType::toString</a></div><div class="ttdeci">std::string toString() const </div><div class="ttdoc">toString </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:798</div></div>
<div class="ttc" id="classAbstractPropertyType_html_a3f831860b5ddc30e5a53dd4937ae5ebe"><div class="ttname"><a href="classAbstractPropertyType.html#a3f831860b5ddc30e5a53dd4937ae5ebe">AbstractPropertyType::priority</a></div><div class="ttdeci">Priority priority</div><div class="ttdoc">priority is used to tell the routing engine how to prioritize routing the value to plugins...</div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:198</div></div>
<div class="ttc" id="classListPropertyType_html_aa49d1bc6968d7201b4d836b5049133f0"><div class="ttname"><a href="classListPropertyType.html#aa49d1bc6968d7201b4d836b5049133f0">ListPropertyType::fromString</a></div><div class="ttdeci">void fromString(std::string str)</div><div class="ttdoc">fromString converts from string value </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:818</div></div>
<div class="ttc" id="classListPropertyType_html_ab0a0e192757158cd9901becacbafdb41"><div class="ttname"><a href="classListPropertyType.html#ab0a0e192757158cd9901becacbafdb41">ListPropertyType::toVariant</a></div><div class="ttdeci">GVariant * toVariant()</div><div class="ttdoc">toVariant </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:844</div></div>
<div class="ttc" id="classZone_html"><div class="ttname"><a href="classZone.html">Zone</a></div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:39</div></div>
<div class="ttc" id="classAbstractPropertyType_html_a6a391546600fde38a351d3d236be8a9b"><div class="ttname"><a href="classAbstractPropertyType.html#a6a391546600fde38a351d3d236be8a9b">AbstractPropertyType::timestamp</a></div><div class="ttdeci">double timestamp</div><div class="ttdoc">timestamp. Timestamp when the value was last updated by the system. This is updated automatically any...</div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:174</div></div>
<div class="ttc" id="classAbstractPropertyType_html_a4c359b2e7c3b0ede21c64ba2c90567aa"><div class="ttname"><a href="classAbstractPropertyType.html#a4c359b2e7c3b0ede21c64ba2c90567aa">AbstractPropertyType::toString</a></div><div class="ttdeci">virtual std::string toString() const =0</div><div class="ttdoc">toString </div></div>
<div class="ttc" id="classBasicPropertyType_html_a672e2824bcc38da6e60090022fd8d114"><div class="ttname"><a href="classBasicPropertyType.html#a672e2824bcc38da6e60090022fd8d114">BasicPropertyType::toString</a></div><div class="ttdeci">std::string toString() const </div><div class="ttdoc">toString </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:539</div></div>
<div class="ttc" id="namespaceamb_html"><div class="ttname"><a href="namespaceamb.html">amb</a></div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:256</div></div>
<div class="ttc" id="classAbstractPropertyType_html_a420b96a1fcbcbe513ff3801185e788bc"><div class="ttname"><a href="classAbstractPropertyType.html#a420b96a1fcbcbe513ff3801185e788bc">AbstractPropertyType::zone</a></div><div class="ttdeci">Zone::Type zone</div><div class="ttdoc">zone that the property is situated in. </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:190</div></div>
<div class="ttc" id="debugout_8h_html"><div class="ttname"><a href="debugout_8h.html">debugout.h</a></div><div class="ttdoc">The DebugOut class represents a class used for outputing debug information The specified debug level ...</div></div>
<div class="ttc" id="classAbstractPropertyType_html_a1e513f66eb2dd2bd2cddbec16422af63"><div class="ttname"><a href="classAbstractPropertyType.html#a1e513f66eb2dd2bd2cddbec16422af63">AbstractPropertyType::Priority</a></div><div class="ttdeci">Priority</div><div class="ttdoc">The Priority enum describes prority of the property type. </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:77</div></div>
<div class="ttc" id="classAbstractPropertyType_html_a0899de35293963a6c18a0f4913916871"><div class="ttname"><a href="classAbstractPropertyType.html#a0899de35293963a6c18a0f4913916871">AbstractPropertyType::name</a></div><div class="ttdeci">std::string name</div><div class="ttdoc">name Property name. </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:166</div></div>
<div class="ttc" id="classStringPropertyType_html_a1ec1ba3797194880a1e7576bd3695a28"><div class="ttname"><a href="classStringPropertyType.html#a1ec1ba3797194880a1e7576bd3695a28">StringPropertyType::toVariant</a></div><div class="ttdeci">GVariant * toVariant()</div><div class="ttdoc">toVariant </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:707</div></div>
<div class="ttc" id="classListPropertyType_html_a08221e5a0b5f2ba3775e5537415481bb"><div class="ttname"><a href="classListPropertyType.html#a08221e5a0b5f2ba3775e5537415481bb">ListPropertyType::append</a></div><div class="ttdeci">void append(T property)</div><div class="ttdoc">append - appends a property to the list </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:765</div></div>
<div class="ttc" id="classStringPropertyType_html_ad9dd60fcfd9fd3ebaa578815c8d552fe"><div class="ttname"><a href="classStringPropertyType.html#ad9dd60fcfd9fd3ebaa578815c8d552fe">StringPropertyType::fromString</a></div><div class="ttdeci">void fromString(std::string val)</div><div class="ttdoc">fromString converts from string value </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:692</div></div>
<div class="ttc" id="classAbstractPropertyType_html_abe2de53722d28e8e7c2a715b97e1ae48"><div class="ttname"><a href="classAbstractPropertyType.html#abe2de53722d28e8e7c2a715b97e1ae48">AbstractPropertyType::sourceUuid</a></div><div class="ttdeci">std::string sourceUuid</div><div class="ttdoc">sourceUuid uuid of the source that produced this property. This is set by the routingengine if left u...</div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:185</div></div>
<div class="ttc" id="classStringPropertyType_html_a15866eb8e3ee9e1be587740f64353d57"><div class="ttname"><a href="classStringPropertyType.html#a15866eb8e3ee9e1be587740f64353d57">StringPropertyType::copy</a></div><div class="ttdeci">AbstractPropertyType * copy()</div><div class="ttdoc">copy </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:697</div></div>
<div class="ttc" id="classBasicPropertyType_html"><div class="ttname"><a href="classBasicPropertyType.html">BasicPropertyType</a></div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:440</div></div>
<div class="ttc" id="classGVS_html"><div class="ttname"><a href="classGVS.html">GVS</a></div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:279</div></div>
<div class="ttc" id="classBasicPropertyType_html_a893a2d1f8fec7141159d850caa78bc06"><div class="ttname"><a href="classBasicPropertyType.html#a893a2d1f8fec7141159d850caa78bc06">BasicPropertyType::toVariant</a></div><div class="ttdeci">GVariant * toVariant()</div><div class="ttdoc">toVariant </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:548</div></div>
<div class="ttc" id="classStringPropertyType_html"><div class="ttname"><a href="classStringPropertyType.html">StringPropertyType</a></div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:634</div></div>
<div class="ttc" id="classAbstractPropertyType_html_ab557c141cce1769d0e4d8213894c9e2c"><div class="ttname"><a href="classAbstractPropertyType.html#ab557c141cce1769d0e4d8213894c9e2c">AbstractPropertyType::destroyed</a></div><div class="ttdeci">std::vector&lt; std::function&lt; void(AbstractPropertyType *)&gt; &gt; destroyed</div><div class="ttdoc">destroyed is called if this property is destroyed. </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:248</div></div>
<div class="ttc" id="classAbstractPropertyType_html_a1b2598b86718911533587a5bd41bfb9c"><div class="ttname"><a href="classAbstractPropertyType.html#a1b2598b86718911533587a5bd41bfb9c">AbstractPropertyType::setValue</a></div><div class="ttdeci">virtual void setValue(boost::any val)</div><div class="ttdoc">setValue </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:205</div></div>
<div class="ttc" id="classAbstractPropertyType_html_a0996989d0082ad3f621fec938b60ed10"><div class="ttname"><a href="classAbstractPropertyType.html#a0996989d0082ad3f621fec938b60ed10">AbstractPropertyType::quickCopy</a></div><div class="ttdeci">virtual void quickCopy(AbstractPropertyType *other)</div><div class="ttdoc">quickCopy is intended as a way to quickly copy the often changing bits from one abstract property to ...</div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:139</div></div>
<div class="ttc" id="classDebugOut_html"><div class="ttname"><a href="classDebugOut.html">DebugOut</a></div><div class="ttdef"><b>Definition:</b> debugout.h:73</div></div>
<div class="ttc" id="classAbstractPropertyType_html_ae723621925382263eba046fa1ca8e36d"><div class="ttname"><a href="classAbstractPropertyType.html#ae723621925382263eba046fa1ca8e36d">AbstractPropertyType::value</a></div><div class="ttdeci">T value() const </div><div class="ttdoc">value() native value. Does not use type coercion. Will throw if types do not match. </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:215</div></div>
<div class="ttc" id="classListPropertyType_html_aa76b2385816ce8a12982109d632b6b93"><div class="ttname"><a href="classListPropertyType.html#aa76b2385816ce8a12982109d632b6b93">ListPropertyType::fromVariant</a></div><div class="ttdeci">void fromVariant(GVariant *v)</div><div class="ttdoc">fromVariant converts GVariant value into compatible native value. Caller owns GVariant argument...</div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:864</div></div>
<div class="ttc" id="classAbstractPropertyType_html_a7ba4118acb746d2b8fc220a12b0e2666"><div class="ttname"><a href="classAbstractPropertyType.html#a7ba4118acb746d2b8fc220a12b0e2666">AbstractPropertyType::anyValue</a></div><div class="ttdeci">boost::any anyValue()</div><div class="ttdoc">anyValue </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:224</div></div>
<div class="ttc" id="classBasicPropertyType_html_a0e1213ee2df11ecd556b250fe3bad21b"><div class="ttname"><a href="classBasicPropertyType.html#a0e1213ee2df11ecd556b250fe3bad21b">BasicPropertyType::fromVariant</a></div><div class="ttdeci">void fromVariant(GVariant *v)</div><div class="ttdoc">fromVariant converts GVariant value into compatible native value. Caller owns GVariant argument...</div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:553</div></div>
<div class="ttc" id="classListPropertyType_html_a1e5afbe102ea305d8095ee6e56a08753"><div class="ttname"><a href="classListPropertyType.html#a1e5afbe102ea305d8095ee6e56a08753">ListPropertyType::quickCopy</a></div><div class="ttdeci">void quickCopy(AbstractPropertyType *other)</div><div class="ttdoc">quickCopy is intended as a way to quickly copy the often changing bits from one abstract property to ...</div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:786</div></div>
<div class="ttc" id="classListPropertyType_html_a2b4d928c8fa6c7317a31d4aa376908d1"><div class="ttname"><a href="classListPropertyType.html#a2b4d928c8fa6c7317a31d4aa376908d1">ListPropertyType::copy</a></div><div class="ttdeci">AbstractPropertyType * copy()</div><div class="ttdoc">copy </div><div class="ttdef"><b>Definition:</b> abstractpropertytype.h:781</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>