summaryrefslogtreecommitdiff
path: root/spec/Client_Handler_Future.xml
blob: dbb9b348dd4ca2704a23e0ef68b1400ae343eaf2 (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
<?xml version="1.0" ?>
<node name="/Client_Handler_Future"
  xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <tp:copyright>Copyright © 2009 Collabora Ltd.</tp:copyright>
  <tp:copyright>Copyright © 2009 Nokia Corporation</tp:copyright>
  <tp:license xmlns="http://www.w3.org/1999/xhtml">
    <p>This library is free software; you can redistribute it and/or
      modify it under the terms of the GNU Lesser General Public
      License as published by the Free Software Foundation; either
      version 2.1 of the License, or (at your option) any later version.</p>

    <p>This library is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      Lesser General Public License for more details.</p>

    <p>You should have received a copy of the GNU Lesser General Public
      License along with this library; if not, write to the Free Software
      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
      02110-1301, USA.</p>
  </tp:license>

  <interface name="im.telepathy1.Client.Handler.FUTURE"
    tp:causes-havoc="a staging area for future Handler functionality">
    <tp:requires interface="im.telepathy1.Client.Handler"/>

    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
      <p>This interface contains functionality which we intend to incorporate
        into the <tp:dbus-ref
          namespace="im.telepathy1.Client">Handler</tp:dbus-ref>
        interface in future. It should be considered to
        be conceptually part of the core Handler interface, but without
        API or ABI guarantees.</p>
    </tp:docstring>

    <property name="BypassObservers" tp:name-for-bindings="Bypass_Observers"
      type="b" access="read">
      <tp:added version="0.21.2"/>
      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
        <p>If true, channels destined for this handler are not passed to
          observers for observing.</p>

        <tp:rationale>
          <p>This is useful in use-cases where the handler doesn't want anyone
            observing the channel - for example, because channels it handles
            shouldn't be logged.</p>
        </tp:rationale>

        <p>For service-activatable handlers, this property should be specified
          in the handler's <tt>.client</tt> file as follows:</p>

<pre>
[im.telepathy1.Client.Handler]
BypassObservers=true
</pre>
      </tp:docstring>
    </property>

    <property name="RelatedConferencesBypassApproval"
      tp:name-for-bindings="Related_Conferences_Bypass_Approval"
      type="b" access="read">
      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
        <p>If true, channels destined for this handler that have the
          <tp:dbus-ref namespace="im.telepathy1.Channel.Interface"
            >Conference1</tp:dbus-ref> interface, with a channel that
          was previously handled by the same client process in their
          <tp:dbus-ref namespace="im.telepathy1.Channel.Interface.Conference1"
            >InitialChannels</tp:dbus-ref> property, should bypass the
          approval stage. In effect, this is a weaker form of
          <tp:dbus-ref namespace="im.telepathy1.Client.Handler"
            >BypassApproval</tp:dbus-ref>.</p>

        <tp:rationale>
          <p>It would be reasonable for a user interface to accept
            invitations to continuations of an existing channel automatically,
            or not; this is a matter of UI policy.</p>

          <p>It's somewhat complex for an Approver to keep track of which
            channels are being handled by a particular Handler, but
            the Channel Dispatcher already has to track this, so it's
            useful for the channel dispatcher to assist here.</p>
        </tp:rationale>
      </tp:docstring>
    </property>

  </interface>
</node>
<!-- vim:set sw=2 sts=2 et ft=xml: -->