106
106
matches closely related Text channels by their Bundle property.
107
107
(This is use-case dis5)</p>
110
<p>For service-activatable handlers, this property should be specified
111
in the handler's <tt>.client</tt> file as follows:</p>
114
[org.freedesktop.Telepathy.Client.Handler]
120
<tp:simple-type name="Handler_Capability_Token" type="s"
121
array-name="Handler_Capability_Token_List">
123
A <tp:type>DBus_Interface</tp:type>, followed by a slash '/' character
124
and an identifier for a capability defined by that interface. The
125
capability identifier SHOULD be in lower case. If an interface
126
references an external specification which is case-insensitive (such
127
as MIME), then names from that specification MUST be normalized to
128
lower-case before providing them to this Telepathy API, so that
129
implementations can safely rely on simple byte-by-byte comparison.
132
These aren't D-Bus core Properties, and we want them to look visibly
136
<p>So far, all client capabilities are defined by the <tp:dbus-ref
137
namespace="org.freedesktop.Telepathy.Channel.Interface">MediaSignalling</tp:dbus-ref>
142
<property name="Capabilities" tp:name-for-bindings="Capabilities"
143
type="as" tp:type="Handler_Capability_Token[]" access="read">
144
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
145
<p>The set of additional capabilities supported by this handler.
146
This describes things like support for streamed media codecs and
147
NAT traversal mechanisms: see the Contact Capabilities
148
interface for more details.</p>
150
<p>For handlers that have a <code>.client</code> file, the
151
channel dispatcher may discover this property from the
152
<code>org.freedesktop.Telepathy.Client.Handler.Capabilities</code>
153
group; for each capability, that group contains a key
154
whose name is the capability, with value <code>true</code>.
155
Keys with other values SHOULD NOT appear in this group.</p>
157
<p>For instance, the <code>.client</code> file for a streamed media
158
handler that supports ICE-UDP NAT traversal, Speex audio,
159
and Theora and H264 video might contain this group:</p>
162
[org.freedesktop.Telepathy.Client.Handler.Capabilities]
163
org.freedesktop.Telepathy.Channel.Interface.MediaSignalling/ice-udp=true
164
org.freedesktop.Telepathy.Channel.Interface.MediaSignalling/audio/speex=true
165
org.freedesktop.Telepathy.Channel.Interface.MediaSignalling/video/theora=true
166
org.freedesktop.Telepathy.Channel.Interface.MediaSignalling/video/h264=true
169
<p>Like the <tp:member-ref>HandlerChannelFilter</tp:member-ref>
170
property, this property cannot change while the Handler owns its
171
Client bus name. However, the <code>.client</code> file, if any,
172
can change (due to upgrades or installation of pluggable codecs),
173
and the capabilities really supported by the handler might not
174
exactly match what is cached in the <code>.client</code> file.</p>
177
<p>The client file is installed statically and is intended to list
178
codecs etc. that the handler guarantees it can support (e.g. by
179
having a hard dependency on them), whereas the running handler
180
process might be able to find additional codecs.</p>