Interesting you bring this up.   I've been taking a look at the geoclue position api for the last day and have been trying to clean it up make it sane and useful.   I am trying to add a doxygen layer so that we get some decent documentation and expand the examples.   Here is basically the new xml files that I am proposing as of now.
<br><br><br>
<div class="e"><span class="b">&nbsp;</span> <span class="m"><br>
</span></div>
<div class="k"><span class="m"></span>

 </div>

<div class="e">
<div class="c" style="margin-left: 1em; text-indent: -2em;"><a class="b" onfocus="h()" onclick="return false" href="?view=page&amp;name=htmlcompose&amp;ver=1chdyj2lqwlxk#">-</a> <span class="m">&lt;</span><span class="t">
node</span><span class="t"> name</span><span class="m">=&quot;</span><b>/org/freedesktop/geoclue/position</b><span class="m">&quot;</span><span class="m">&gt;</span></div>
<div>
<div class="e">
<div class="c" style="margin-left: 1em; text-indent: -2em;"><a class="b" onfocus="h()" onclick="return false" href="?view=page&amp;name=htmlcompose&amp;ver=1chdyj2lqwlxk#">-</a> <span class="m">&lt;</span><span class="t">
interface</span><span class="t"> name</span><span class="m">=&quot;</span><b>org.freedesktop.geoclue.position</b><span class="m">&quot;</span><span class="m">&gt;</span></div>
<div>
<div class="e">
<div class="c" style="margin-left: 1em; text-indent: -2em;"><a class="b" onfocus="h()" onclick="return false" href="?view=page&amp;name=htmlcompose&amp;ver=1chdyj2lqwlxk#">-</a> <span class="m">&lt;</span><span class="t">
method</span><span class="t"> name</span><span class="m">=&quot;</span><b>version</b><span class="m">&quot;</span><span class="m">&gt;</span></div>
<div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>i</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>major</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>i</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>minor</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>i</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>micro</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div><span class="b">&nbsp;</span> <span class="m">&lt;/</span><span class="t">method</span><span class="m">&gt;</span></div></div></div>
<div class="e">
<div class="c" style="margin-left: 1em; text-indent: -2em;"><a class="b" onfocus="h()" onclick="return false" href="?view=page&amp;name=htmlcompose&amp;ver=1chdyj2lqwlxk#">-</a> <span class="m">&lt;</span><span class="t">
method</span><span class="t"> name</span><span class="m">=&quot;</span><b>service_provider</b><span class="m">&quot;</span><span class="m">&gt;</span></div>
<div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>name</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div><span class="b">&nbsp;</span> <span class="m">&lt;/</span><span class="t">method</span><span class="m">&gt;</span></div></div></div>
<div class="e">
<div class="c" style="margin-left: 1em; text-indent: -2em;"><a class="b" onfocus="h()" onclick="return false" href="?view=page&amp;name=htmlcompose&amp;ver=1chdyj2lqwlxk#">-</a> <span class="m">&lt;</span><span class="t">
method</span><span class="t"> name</span><span class="m">=&quot;</span><b>current_position</b><span class="m">&quot;</span><span class="m">&gt;</span></div>
<div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>i</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>timestamp</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> This is the NMEA standard UTC time in the format 123456 with represents 12:34:56 hours:minutes:seconds 
</pre></span><span class="b">&nbsp;</span> <span class="m">--&gt;</span>

 </div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>d</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>latitude</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> Degrees </pre></span><span class="b">&nbsp;</span> <span class="m">
--&gt;</span>

 </div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>d</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>longitude</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> Degrees </pre></span><span class="b">&nbsp;</span> <span class="m">
--&gt;</span>

 </div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>d</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>altitude</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> Meters </pre></span><span class="b">&nbsp;</span> <span class="m">
--&gt;</span>

 </div>
<div><span class="b">&nbsp;</span> <span class="m">&lt;/</span><span class="t">method</span><span class="m">&gt;</span></div></div></div>
<div class="e">
<div class="c" style="margin-left: 1em; text-indent: -2em;"><a class="b" onfocus="h()" onclick="return false" href="?view=page&amp;name=htmlcompose&amp;ver=1chdyj2lqwlxk#">-</a> <span class="m">&lt;</span><span class="t">
signal</span><span class="t"> name</span><span class="m">=&quot;</span><b>current_position_changed</b><span class="m">&quot;</span><span class="m">&gt;</span></div>
<div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>i</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>timestamp</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> This is the NMEA standard UTC time in the format 123456 with represents 12:34:56 hours:minutes:seconds 
</pre></span><span class="b">&nbsp;</span> <span class="m">--&gt;</span>

 </div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>d</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>latitude</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> Degrees </pre></span><span class="b">&nbsp;</span> <span class="m">
--&gt;</span>

 </div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>d</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>longitude</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> Degrees </pre></span><span class="b">&nbsp;</span> <span class="m">
--&gt;</span>

 </div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>d</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>altitude</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> Meters </pre></span><span class="b">&nbsp;</span> <span class="m">
--&gt;</span>

 </div>
<div><span class="b">&nbsp;</span> <span class="m">&lt;/</span><span class="t">signal</span><span class="m">&gt;</span></div></div></div>
<div class="e">
<div class="c" style="margin-left: 1em; text-indent: -2em;"><a class="b" onfocus="h()" onclick="return false" href="?view=page&amp;name=htmlcompose&amp;ver=1chdyj2lqwlxk#">-</a> <span class="m">&lt;</span><span class="t">
method</span><span class="t"> name</span><span class="m">=&quot;</span><b>current_position_error</b><span class="m">&quot;</span><span class="m">&gt;</span></div>
<div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>d</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>latitude_error</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> Meters </pre></span><span class="b">&nbsp;</span> <span class="m">
--&gt;</span>

 </div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>d</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>longitude_error</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> Meters </pre></span><span class="b">&nbsp;</span> <span class="m">
--&gt;</span>

 </div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>d</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>altitude_error</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> Meters </pre></span><span class="b">&nbsp;</span> <span class="m">
--&gt;</span>

 </div>
<div><span class="b">&nbsp;</span> <span class="m">&lt;/</span><span class="t">method</span><span class="m">&gt;</span></div></div></div>
<div class="k"><span class="c"><a class="b" style="visibility: visible;" onfocus="h()" onclick="return false" href="?view=page&amp;name=htmlcompose&amp;ver=1chdyj2lqwlxk#">-</a> <span class="m">&lt;!--</span></span> <span class="cb" id="" style="display: block;">
<pre> status enum    GEOCLUE_POSITION_NO_POSITION_AVAILABLE                       = -1,  <br>                        GEOCLUE_POSITION_TWO_DIMENSION                               = 1,  <br>                        GEOCLUE_POSITION_THREE_DIMENSION                             = 2,  
<br>                        GEOCLUE_POSITION_TWO_DIMENSION_DIFFERENTIAL                  = 3,  <br>                        GEOCLUE_POSITION_THREE_DIMENSION_DIFFERENTIAL                = 4<br>                           </pre>
</span><span class="b">&nbsp;</span> <span class="m">--&gt;</span>

 </div>
<div class="e">
<div class="c" style="margin-left: 1em; text-indent: -2em;"><a class="b" onfocus="h()" onclick="return false" href="?view=page&amp;name=htmlcompose&amp;ver=1chdyj2lqwlxk#">-</a> <span class="m">&lt;</span><span class="t">
method</span><span class="t"> name</span><span class="m">=&quot;</span><b>service_status</b><span class="m">&quot;</span><span class="m">&gt;</span></div>
<div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>i</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>status</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>user_message</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> This message is a user readable string, generally used to explain why the backend cannot locate the current position  (&quot;Weak GPS Signal, no internet connection available for lookup&quot;)
</pre></span><span class="b">&nbsp;</span> <span class="m">--&gt;</span>

 </div>
<div><span class="b">&nbsp;</span> <span class="m">&lt;/</span><span class="t">method</span><span class="m">&gt;</span></div></div></div>
<div class="e">
<div class="c" style="margin-left: 1em; text-indent: -2em;"><a class="b" onfocus="h()" onclick="return false" href="?view=page&amp;name=htmlcompose&amp;ver=1chdyj2lqwlxk#">-</a> <span class="m">&lt;</span><span class="t">
signal</span><span class="t"> name</span><span class="m">=&quot;</span><b>service_status</b><span class="m">&quot;</span><span class="m">&gt;</span></div>
<div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>i</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>status</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>user_message</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> This message is a user readable string, generally used to explain why the backend cannot locate the current position  (&quot;Weak GPS Signal, no internet connection available for lookup&quot;)
</pre></span><span class="b">&nbsp;</span> <span class="m">--&gt;</span>

 </div>
<div><span class="b">&nbsp;</span> <span class="m">&lt;/</span><span class="t">signal</span><span class="m">&gt;</span></div></div></div>
<div class="e">
<div class="c" style="margin-left: 1em; text-indent: -2em;"><a class="b" onfocus="h()" onclick="return false" href="?view=page&amp;name=htmlcompose&amp;ver=1chdyj2lqwlxk#">-</a> <span class="m">&lt;</span><span class="t">
method</span><span class="t"> name</span><span class="m">=&quot;</span><b>current_velocity</b><span class="m">&quot;</span><span class="m">&gt;</span></div>
<div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>i</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>timestamp</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> This is the NMEA standard UTC time in the format 123456 with represents 12:34:56 hours:minutes:seconds 
</pre></span><span class="b">&nbsp;</span> <span class="m">--&gt;</span>

 </div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>d</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>north_velocity</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> Meters per Second </pre></span><span class="b">&nbsp;
</span> <span class="m">--&gt;</span>

 </div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>d</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>east_velocity</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> Meters per Second </pre></span><span class="b">&nbsp;
</span> <span class="m">--&gt;</span>

 </div>
<div><span class="b">&nbsp;</span> <span class="m">&lt;/</span><span class="t">method</span><span class="m">&gt;</span></div></div></div>
<div class="e">
<div class="c" style="margin-left: 1em; text-indent: -2em;"><a class="b" onfocus="h()" onclick="return false" href="?view=page&amp;name=htmlcompose&amp;ver=1chdyj2lqwlxk#">-</a> <span class="m">&lt;</span><span class="t">
method</span><span class="t"> name</span><span class="m">=&quot;</span><b>satellites_in_view</b><span class="m">&quot;</span><span class="m">&gt;</span></div>
<div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>ai</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>prn_numbers</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div><span class="b">&nbsp;</span> <span class="m">&lt;/</span><span class="t">method</span><span class="m">&gt;</span></div></div></div>
<div class="e">
<div class="c" style="margin-left: 1em; text-indent: -2em;"><a class="b" onfocus="h()" onclick="return false" href="?view=page&amp;name=htmlcompose&amp;ver=1chdyj2lqwlxk#">-</a> <span class="m">&lt;</span><span class="t">
method</span><span class="t"> name</span><span class="m">=&quot;</span><b>satellites_data</b><span class="m">&quot;</span><span class="m">&gt;</span></div>
<div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>i</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>prn_number</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>in</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>d</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>elevation</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> Degrees </pre></span><span class="b">&nbsp;</span> <span class="m">
--&gt;</span>

 </div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>d</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>azimuth</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="k"><span><a class="b" style="visibility: hidden;" onfocus="h()" onclick="return false">-</a> <span class="m">&lt;!--</span></span> <span class="ci" id=""><pre> Degrees </pre></span><span class="b">&nbsp;</span> <span class="m">
--&gt;</span>

 </div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>d</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>signal_noise_ratio</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>b</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>differential</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>b</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>ephemeris</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div><span class="b">&nbsp;</span> <span class="m">&lt;/</span><span class="t">method</span><span class="m">&gt;</span></div></div></div>
<div class="e">
<div class="c" style="margin-left: 1em; text-indent: -2em;"><a class="b" onfocus="h()" onclick="return false" href="?view=page&amp;name=htmlcompose&amp;ver=1chdyj2lqwlxk#">-</a> <span class="m">&lt;</span><span class="t">
method</span><span class="t"> name</span><span class="m">=&quot;</span><b>civic_location</b><span class="m">&quot;</span><span class="m">&gt;</span></div>
<div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>country</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>region</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>locality</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>area</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>postalcode</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>street</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>building</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>floor</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>room</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>description</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>text</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div><span class="b">&nbsp;</span> <span class="m">&lt;/</span><span class="t">method</span><span class="m">&gt;</span></div></div></div>
<div class="e">
<div class="c" style="margin-left: 1em; text-indent: -2em;"><a class="b" onfocus="h()" onclick="return false" href="?view=page&amp;name=htmlcompose&amp;ver=1chdyj2lqwlxk#">-</a> <span class="m">&lt;</span><span class="t">
signal</span><span class="t"> name</span><span class="m">=&quot;</span><b>civic_location_changed</b><span class="m">&quot;</span><span class="m">&gt;</span></div>
<div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>country</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>region</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>locality</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>area</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>postalcode</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>street</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>building</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>floor</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>room</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>description</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">arg</span> <span class="t">type</span><span class="m">=&quot;</span><b>s</b><span class="m">&quot;</span>
<span class="t"> name</span><span class="m">=&quot;</span><b>text</b><span class="m">&quot;</span><span class="t"> 
direction</span><span class="m">=&quot;</span><b>out</b><span class="m">&quot;</span><span class="m"> /&gt;</span> </div></div>
<div><span class="b">&nbsp;</span> <span class="m">&lt;/</span><span class="t">signal</span><span class="m">&gt;</span></div></div></div>
<div class="e">
<div style="margin-left: 1em; text-indent: -2em;"><span class="b">&nbsp;</span> <span class="m">&lt;</span><span class="t">method</span> <span class="t">name</span><span class="m">=&quot;</span><b>shutdown</b><span class="m">
&quot;</span><span class="m"> 
/&gt;</span> </div></div>
<div><span class="b">&nbsp;</span> <span class="m">&lt;/</span><span class="t">interface</span><span class="m">&gt;</span></div></div></div>
<div><span class="b">&nbsp;</span> <span class="m">&lt;/</span><span class="t">node</span><span class="m">&gt;</span></div></div></div>
<br><br>Discussion:&nbsp;&nbsp; So I&#39;ve addressed many of your issues.&nbsp;&nbsp; First of all Fix_type has been changed to service status.&nbsp;&nbsp; It has a positioning status (with a few GPS specific terms) and a user readable message about the status (typically to explain unavailable).&nbsp; Secondly all position returns have added altitude into the mix.&nbsp;&nbsp; We should be thinking 3D.&nbsp;&nbsp; Hostip can return 0 for altitude and have a large margin of error.&nbsp;&nbsp; GPS can return what they know.&nbsp;&nbsp;&nbsp; As for latitude, longitude error.&nbsp;&nbsp; They typically should always be the same, but I think it makes sense because all our other methods have 3 dimensions.&nbsp;&nbsp; I don&#39;t think we should limit ourself based on this assumption,&nbsp; you never know what backends people will think of.&nbsp;&nbsp; I have also added timestamps to the API.&nbsp;&nbsp; I believe this is important, because of some of the future improvement to be discussed.&nbsp;&nbsp; Then I have added many signals for the most used methods.&nbsp;&nbsp; That way applications don&#39;t have to poll.
<br><br>Improvements to the api<br>I guess I should probably add a 3 dimension to the velocity api.<br>Do you see any good addition to the status enum?&nbsp;&nbsp; I was going to add a bunch and then I though a human readable string would be better.&nbsp;&nbsp; The only ones I thought might be useful are.&nbsp;&nbsp; &quot;No Service Available, No Position Available, Currently acquiring position.&quot;, are these useful to a program or just the user?&nbsp; If it is useful to the program, then I would add, to the user then piggy back on the string message.
<br>I think now I&#39;m am going to change timestamp.&nbsp;&nbsp; It probably should be seconds to the epoch instead of the specific NMEA Time.&nbsp;&nbsp; This will give us date accuracy (except for the rollover in 2038)<br>I&#39;ve been thinking now that we should add a &quot;position_hint&quot; input to the API for use in auto submitting your position to Host IP.&nbsp;&nbsp; There could be some kind of configuration for privacy in geoclue master.&nbsp; I wonder if this could be generic for more API.&nbsp;&nbsp; I know you can do assisted GPS.&nbsp;&nbsp; is there a good way to add this too?
<br><br>Big changes (sorry this is becoming a spew of thoughts from the last few days of thinking.)<br>I think I am going to change the internals to all positioning calls defaultly go to geoclue master and it farms out calls to the available backends and arbitrates based on accuracy or some gconf keys (preferred, default).
<br>I think this means that all positioning calls (in C) will have an extra arguement on the front of them.<br>geoclue_posotion_init( geopos* , ...)<br>geoclue_get_position(geopos*, ...)<br>Basically the idea will that be normal callers can pass NULL to this arguement and the internal C code will use a static internal geopos that defaults to geoclue master.&nbsp;&nbsp; However if callers want to do something specific they can make a geopos with the right names and directly connect to a specific backend.
<br>Geoclue master will need to get an upgrade to have all this arbitration stuff done.&nbsp;&nbsp; But I think it should also store the most recent position from each backend, that way if none of them are available it can default to the last timestamp (and maybe prompt the user for manually inputing their position)
<br>Oh yeah, and I don&#39;t know if Jussi, you have done some of the object oriented refactor, but I&#39;m going to do some for the positioning api to try and make it easier to add a new backend.<br>Ok, so I think that is all I have.&nbsp;&nbsp; Once this gets done, I think we can go &quot;beta stable&quot; on positioning and working on making our automake, debian and doxygen very clean so that other program can start using us more.
<br><br>Keith Preston<br><br><br><br>