summaryrefslogtreecommitdiff
path: root/spec/Channel_Interface_Hold.xml
blob: c7616476e745e1203a8693dcd441e4cee7753718 (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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<?xml version="1.0" ?>
<node name="/Channel_Interface_Hold" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <tp:copyright> Copyright (C) 2005, 2006 Collabora Limited </tp:copyright>
  <tp:copyright> Copyright (C) 2005, 2006 Nokia Corporation </tp:copyright>
  <tp:copyright> Copyright (C) 2006 INdT </tp:copyright>
  <tp:license xmlns="http://www.w3.org/1999/xhtml">
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.

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
Library General Public License for more details.

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.
  </tp:license>
  <tp:enum name="Channel_Hold_State" type="u">
    <tp:enumvalue suffix="None" value="0">
      <tp:docstring>
            Neither the local user and the remote member are on hold, and media
            is being sent bidirectionally.
      </tp:docstring>
    </tp:enumvalue>
    <tp:enumvalue suffix="Send_Only" value="1">
      <tp:docstring>
            The local user has put the remote member on hold, so is sending
            media but has arranged not to receive any media streams.
      </tp:docstring>
    </tp:enumvalue>
    <tp:enumvalue suffix="Recv_Only" value="2">
      <tp:docstring>
            The user has been put on hold by the remote member, so is receiving
            media but has arranged not to send any media streams.
      </tp:docstring>
    </tp:enumvalue>
    <tp:enumvalue suffix="Both" value="3">
      <tp:docstring>
            Both the local user and the remote member have agreed not to send
            any media streams to each other.
      </tp:docstring>
    </tp:enumvalue>
  </tp:enum>
  <interface name="org.freedesktop.Telepathy.Channel.Interface.Hold">
    <tp:requires interface="org.freedesktop.Telepathy.Channel"/>
    <method name="GetHoldState">
      <arg direction="in" name="member" type="u">
        <tp:docstring>
          The contact handle for a member of the channel
        </tp:docstring>
      </arg>
      <arg direction="out" type="u">
        <tp:docstring>
          The member's current hold state as one of the values of
          ChannelHoldState
        </tp:docstring>
      </arg>
      <tp:docstring>
        Given a member of the channel, return their current hold state.
      </tp:docstring>
      <tp:possible-errors>
        <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/>
        <tp:error name="org.freedesktop.Telepathy.Error.InvalidHandle"/>
      </tp:possible-errors>
    </method>
    <signal name="HoldStateChanged">
      <arg name="member" type="u">
        <tp:docstring>
          The integer handle of a member of the channel
        </tp:docstring>
      </arg>
      <arg name="state" type="u">
        <tp:docstring>
          An integer representing the new hold state
        </tp:docstring>
      </arg>
      <tp:docstring>
        Emitted to indicate that the hold state (as defined in GetHoldState
        above) has changed for a member of this channel. This may occur as
        a consequence of you requesting a change with RequestHold, or the
        state changing as a result of a request from the remote member
        or another process.
      </tp:docstring>
    </signal>
    <method name="RequestHold">
      <arg direction="in" name="member" type="u">
        <tp:docstring>
          The contact handle for a member of the channel
        </tp:docstring>
      </arg>
      <arg direction="in" name="hold" type="b">
        <tp:docstring>
          A boolean indicating whether or not the user should be on hold
        </tp:docstring>
      </arg>
      <tp:docstring>
        Request that a certain member be put on hold (be instructed not to send
        any media streams to you) or be taken off hold. Success is indicated
        by the HoldStateChanged signal being emitted.
      </tp:docstring>
      <tp:possible-errors>
        <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/>
        <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/>
        <tp:error name="org.freedesktop.Telepathy.Error.InvalidHandle"/>
      </tp:possible-errors>
    </method>
    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
      <p>THIS INTERFACE IS DEPRECATED AND SHOULD NOT BE USED. Hold functionality
        should be added to the StreamedMedia channel in due course.</p>

      <p>Interface for channels where members may put you on hold, or you may put
    members on hold. This usually only makes sense for channels where you are
    streaming media to or from the members. Hold is defined as requesting
    that you are not sent any media streams by another, so these states
    indicate whether or not you are sending and receiving media streams
    to each member of the channel.</p>
    </tp:docstring>
  </interface>
</node>
<!-- vim:set sw=2 sts=2 et ft=xml: -->