1<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" 2"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> 3 4<!-- 5 GeoClue 2.0 Interface Specification 6 7 Copyright 2013 Red Hat, Inc. 8--> 9 10<node> 11 12 <!-- 13 org.freedesktop.GeoClue2.Client: 14 @short_description: The Application-specific client API 15 16 This is the interface you use to retrieve location information and receive 17 location update signals from GeoClue service. You get the client object to 18 use this interface on from org.freedesktop.GeoClue2.Manager.GetClient() 19 method. 20 --> 21 <interface name="org.freedesktop.GeoClue2.Client"> 22 <!-- 23 Location: 24 25 Current location as path to a #org.freedesktop.GeoClue2.Location object. 26 Please note that this property will be set to "/" (D-Bus equivalent of 27 null) initially, until Geoclue finds user's location. You want to delay 28 reading this property until your callback to 29 #org.freedesktop.GeoClue2.Client::LocationUpdated signal is called for 30 the first time after starting the client. 31 --> 32 <property name="Location" type="o" access="read"/> 33 34 <!-- 35 DistanceThreshold: 36 37 Contains the current distance threshold in meters. This value is used 38 by the service when it gets new location info. If the distance moved is 39 below the threshold, it won't emit the LocationUpdated signal. 40 The default value is 0. When TimeThreshold is zero, it always emits 41 the signal. 42 --> 43 <property name="DistanceThreshold" type="u" access="readwrite"> 44 <annotation name="org.freedesktop.Accounts.DefaultValue" value="0"/> 45 </property> 46 47 <!-- 48 TimeThreshold: 49 50 Contains the current time threshold in seconds. This value is used 51 by the service when it gets new location info. If the time since the 52 last update is below the threshold, it won't emit the LocationUpdated 53 signal. The default value is 0. When TimeThreshold is zero, it always 54 emits the signal. 55 --> 56 <property name="TimeThreshold" type="u" access="readwrite"> 57 <annotation name="org.freedesktop.Accounts.DefaultValue" value="0"/> 58 </property> 59 60 <!-- 61 DesktopId: 62 63 The desktop file id (the basename of the desktop file). This property 64 must be set by applications for authorization to work. 65 --> 66 <property name="DesktopId" type="s" access="readwrite"/> 67 68 <!-- 69 RequestedAccuracyLevel: 70 71 The level of accuracy requested by client, as 72 <link linkend="GClueAccuracyLevel">GClueAccuracyLevel</link>. 73 74 Please keep in mind that the actual accuracy of location information is 75 dependent on available hardware on your machine, external resources 76 and/or how much accuracy user agrees to be confortable with. 77 --> 78 <property name="RequestedAccuracyLevel" type="u" access="readwrite"/> 79 80 <!-- 81 Active: 82 83 If client is active, i-e started successfully using 84 org.freedesktop.GeoClue2.Client.Start() and receiving location updates. 85 86 Please keep in mind that geoclue can at any time stop and start the 87 client on user (agent) request. Applications that are interested in 88 in these changes, should watch for changes in this property. 89 --> 90 <property name="Active" type="b" access="read"/> 91 92 <!-- 93 Start: 94 95 Start receiving events about the current location. Applications should 96 hook-up to #org.freedesktop.GeoClue2.Client::LocationUpdated signal 97 before calling this method. 98 --> 99 <method name="Start"/> 100 101 <!-- 102 Stop: 103 104 Stop receiving events about the current location. 105 --> 106 <method name="Stop"/> 107 108 <!-- 109 LocationUpdated: 110 @old: old location as path to a #org.freedesktop.GeoClue2.Location object 111 @new: new location as path to a #org.freedesktop.GeoClue2.Location object 112 113 The signal is emitted every time the location changes. 114 The client should set the DistanceThreshold property to control how 115 often this signal is emitted. 116 --> 117 <signal name="LocationUpdated"> 118 <arg name="oldLocation" type="o"/> 119 <arg name="newLocation" type="o"/> 120 </signal> 121 </interface> 122</node> 123