27
27
<interface name="org.freedesktop.Telepathy.Connection.Interface.Presence">
28
28
<tp:requires interface="org.freedesktop.Telepathy.Connection"/>
30
<!-- We hope to simplify these eventually -->
31
<tp:mapping name="Multiple_Status_Map">
32
<tp:docstring>Mapping used in Last_Activity_And_Statuses and passed to
33
SetStatus, representing a collection of statuses. Use of this mapping
34
with more than one member is deprecated.</tp:docstring>
35
<tp:member type="s" name="Status"/>
36
<tp:member type="a{sv}" tp:type="String_Variant_Map" name="Parameters"/>
38
<tp:struct name="Last_Activity_And_Statuses" array-name="">
39
<tp:docstring>Structure representing a contact's presence, containing
40
a last-activity time (deprecated) and a Multiple_Status_Map.
42
<tp:member type="u" tp:type="Unix_Timestamp" name="Last_Activity"/>
43
<tp:member type="a{sa{sv}}" tp:type="Multiple_Status_Map"
46
<tp:mapping name="Contact_Presences">
47
<tp:docstring>Mapping returned by GetPresence and signalled by
48
PresenceUpdate, where the keys are contacts and the values represent
49
their presences.</tp:docstring>
50
<tp:member type="u" tp:type="Contact_Handle" name="Contact"/>
51
<tp:member type="(ua{sa{sv}})" tp:type="Last_Activity_And_Statuses"
54
<tp:struct name="Status_Spec" array-name="">
55
<tp:member type="u" tp:type="Connection_Presence_Type" name="Type"/>
56
<tp:member type="b" name="May_Set_On_Self"/>
57
<tp:member type="b" name="Exclusive"/>
58
<tp:member type="a{ss}" tp:type="String_String_Map"
59
name="Parameter_Types"/>
61
<tp:mapping name="Status_Spec_Map">
62
<tp:member type="s" name="Identifier"/>
63
<tp:member type="(ubba{ss})" tp:type="Status_Spec" name="Spec"/>
29
66
<method name="AddStatus">
30
67
<arg direction="in" name="status" type="s">
32
69
The string identifier of the desired status
35
<arg direction="in" name="parms" type="a{sv}">
72
<arg direction="in" name="parms" type="a{sv}" tp:type="String_Variant_Map">
37
74
A dictionary of optional parameter names mapped to their variant-boxed values
69
106
An array of the contacts whose presence should be obtained
72
<arg direction="out" name="presence" type="a{u(ua{sa{sv}})}">
109
<arg direction="out" name="presence" type="a{u(ua{sa{sv}})}"
110
tp:type="Contact_Presences">
74
112
Presence information in the same format as for the PresenceUpdate
89
127
</tp:possible-errors>
91
129
<method name="GetStatuses">
92
<arg direction="out" type="a{s(ubba{ss})}">
130
<arg direction="out" type="a{s(ubba{ss})}" tp:type="Status_Spec_Map">
94
132
A dictionary of string identifiers mapped to a struct for each status, containing:
111
149
</tp:possible-errors>
113
151
<signal name="PresenceUpdate">
114
<arg name="presence" type="a{u(ua{sa{sv}})}">
152
<arg name="presence" type="a{u(ua{sa{sv}})}" tp:type="Contact_Presences">
116
154
A dictionary of contact handles mapped to a struct containing
117
155
a UNIX timestamp of the last activity time (in UTC), and
174
212
</tp:possible-errors>
176
214
<method name="SetLastActivityTime">
177
<arg direction="in" name="time" type="u" tp:type="Timestamp">
215
<arg direction="in" name="time" type="u" tp:type="Unix_Timestamp">
179
217
A UNIX timestamp of the user's last activity time (in UTC)
194
232
</tp:possible-errors>
196
234
<method name="SetStatus">
197
<arg direction="in" name="statuses" type="a{sa{sv}}">
235
<arg direction="in" name="statuses" type="a{sa{sv}}" tp:type="Multiple_Status_Map">
199
237
A dictionary mapping status identifiers to dictionaries, which
200
238
map optional parameter names to their variant-boxed values