~ubuntu-branches/ubuntu/maverick/telepathy-glib/maverick

« back to all changes in this revision

Viewing changes to spec/Client_Observer.xml

  • Committer: Bazaar Package Importer
  • Author(s): Simon McVittie
  • Date: 2010-05-10 17:59:54 UTC
  • mfrom: (1.6.1 upstream) (27.1.3 sid)
  • Revision ID: james.westby@ubuntu.com-20100510175954-bxvqq3xx0sy4itmp
Tags: 0.11.5-1
New upstream version with new API/ABI

Show diffs side-by-side

added added

removed removed

Lines of Context:
147
147
 
148
148
        <p>For observers that have a .client file, the channel dispatcher
149
149
          may discover this property from keys of the form
150
 
          <code><em>propertyname</em>/<em>type</em></code>,
 
150
          "<code><em>propertyname</em> <em>type</em></code>",
151
151
          in groups in the .client file whose name is the name of this
152
152
          interface followed by <code>.ObserverChannelFilter</code>,
153
153
          a space and an ASCII decimal number starting from 0.</p>
154
154
 
155
 
        <p>Integers in the .client file are encoded in ASCII decimal, booleans
156
 
          are encoded as "true" or "false", and strings are encoded in the usual
157
 
          way for desktop files (including the C-style backslash escapes
158
 
          documented in the Desktop Entry specification).</p>
 
155
        <p>Values in the .client file are encoded in exactly the same way as
 
156
          the <code>default-<em>p</em></code> keys in .manager files, as
 
157
          described in the <tp:dbus-ref namespace="org.freedesktop.Telepathy"
 
158
            >ConnectionManager</tp:dbus-ref> interface (but note that not all
 
159
          types supported in .manager files can appear in .client files).</p>
159
160
 
160
161
        <p>For instance, a .client file for an observer that is only interested
161
162
          in Text channels, with CONTACT or ROOM handles, that were requested by
166
167
Interfaces=org.freedesktop.Telepathy.Client.Observer;
167
168
 
168
169
[org.freedesktop.Telepathy.Client.Observer.ObserverChannelFilter 0]
169
 
org.freedesktop.Telepathy.Channel.Type s=org.freedesktop.Telepathy.Channel.Type.Text
 
170
org.freedesktop.Telepathy.Channel.ChannelType s=org.freedesktop.Telepathy.Channel.Type.Text
170
171
org.freedesktop.Telepathy.Channel.TargetHandleType u=1
171
172
org.freedesktop.Telepathy.Channel.Requested b=true
172
173
 
173
174
[org.freedesktop.Telepathy.Client.Observer.ObserverChannelFilter 1]
174
 
org.freedesktop.Telepathy.Channel.Type s=org.freedesktop.Telepathy.Channel.Type.Text
 
175
org.freedesktop.Telepathy.Channel.ChannelType s=org.freedesktop.Telepathy.Channel.Type.Text
175
176
org.freedesktop.Telepathy.Channel.TargetHandleType u=2
176
177
org.freedesktop.Telepathy.Channel.Requested b=true
177
178
</pre>
179
180
      </tp:docstring>
180
181
    </property>
181
182
 
 
183
    <property name="Recover" tp:name-for-bindings="Recover" type="b"
 
184
      access="read">
 
185
      <tp:added version="0.19.4">
 
186
        When using telepathy-mission-control, version 5.4.0 or later is
 
187
        needed for this property to be useful.
 
188
      </tp:added>
 
189
 
 
190
      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
 
191
        <p>If true, upon the startup of this observer, <tp:dbus-ref
 
192
        namespace="org.freedesktop.Telepathy.Client.Observer">ObserveChannels</tp:dbus-ref>
 
193
        will be called for every already existing channel matching
 
194
        its <tp:dbus-ref
 
195
        namespace="org.freedesktop.Telepathy.Client.Observer">ObserverChannelFilter</tp:dbus-ref></p>
 
196
 
 
197
        <p>When activatable client having this property disappears from the bus
 
198
        and there are channels matching its ObserverChannelFilter,
 
199
        ObserveChannels will be called immediately to reactivate it again.</p>
 
200
        <tp:rationale>
 
201
          <p>This means that if an activatable Observer crashes, it will
 
202
            be restarted as soon as possible; while there is an unavoidable
 
203
            possibility that it will miss some events during this process
 
204
            (particularly <tp:dbus-ref
 
205
              namespace="org.freedesktop.Telepathy.Channel.Type">Text</tp:dbus-ref>
 
206
            messages), this window of event loss is kept to a minimum.</p>
 
207
 
 
208
           <p>Non-activatable observers can't take advantage of this
 
209
            mechanism, but setting this property on a non-activatable
 
210
            observer does allow it to "catch up" on channels that are
 
211
            currently active at the time that it starts up.</p>
 
212
        </tp:rationale>
 
213
 
 
214
        <p>When the ObserveChannels method is called due to observer recovery,
 
215
        the "Observer_Info" dictionary will contain one extra item with key
 
216
        "recovering" and boolean value of True.</p>
 
217
      </tp:docstring>
 
218
    </property>
 
219
 
182
220
    <method name="ObserveChannels" tp:name-for-bindings="Observe_Channels">
183
221
      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
184
222
        <p>Called by the channel dispatcher when channels in which the
293
331
 
294
332
      <arg name="Observer_Info" type="a{sv}" direction="in">
295
333
        <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
296
 
          <p>Additional information about these channels. No keys are
297
 
            currently defined.</p>
298
 
 
299
 
          <p>If keys are defined for this dictionary, all will be optional;
 
334
          <p>Additional information about these channels. Currently defined
 
335
            keys are:</p>
 
336
 
 
337
          <dl>
 
338
            <dt><code>recovering</code> - b</dt>
 
339
            <dd>True if ObserveChannels was called on existing channel due to
 
340
              observer recovery, otherwise False.
 
341
              <tp:rationale>
 
342
                This allows observers to distinguish between new channels (the normal
 
343
                case), and existing channels that were given to the observer in order
 
344
                to catch up on previous events (perhaps after a previous instance of
 
345
                the same observer crashed).
 
346
              </tp:rationale>
 
347
            </dd>
 
348
          </dl>
 
349
 
 
350
          <p>All defined keys for this dictionary are optional;
300
351
            observers MAY safely ignore any entry in this dictionary.</p>
301
352
        </tp:docstring>
302
353
      </arg>