summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Freddi <dario.freddi@ispirata.com>2014-02-02 14:22:57 (GMT)
committerDario Freddi <dario.freddi@ispirata.com>2014-02-02 14:22:57 (GMT)
commit7dea729f7c164eeed3b672a24d096cbe1737d709 (patch)
tree6ee8f3443cc46ee41edd88ff2558d6ec8b7769a6
parent46029e9f26c78f95c9846097d296ddaec9826c44 (diff)
parent9d349d4d0a56bbd5fe0799193448a53c6247d14a (diff)
downloadtelepathy-qt4-7dea729f7c164eeed3b672a24d096cbe1737d709.tar.gz
telepathy-qt4-7dea729f7c164eeed3b672a24d096cbe1737d709.tar.xz
Merge branch 'spec_updates'
Reviewed-by: Dario Freddi <dario.freddi@ispirata.com>
-rw-r--r--TelepathyQt/CMakeLists.txt3
-rw-r--r--TelepathyQt/ChannelInterfaceRoomConfigInterface13
-rw-r--r--TelepathyQt/ChannelInterfaceRoomInterface13
-rw-r--r--TelepathyQt/ChannelInterfaceSubjectInterface13
-rw-r--r--TelepathyQt/channel-dispatcher.xml14
-rw-r--r--TelepathyQt/channel.xml3
-rw-r--r--TelepathyQt/contact-messenger.cpp7
-rw-r--r--TelepathyQt/future-channel-dispatcher.xml12
-rw-r--r--TelepathyQt/svc-channel.xml3
-rw-r--r--spec/Account_Interface_Addressing.xml8
-rw-r--r--spec/Account_Interface_Minimum_Presence.xml108
-rw-r--r--spec/Call_Content_Codec_Offer.xml87
-rw-r--r--spec/Call_Content_Interface_Mute.xml85
-rw-r--r--spec/Channel.xml2
-rw-r--r--spec/Channel_Dispatcher_Future.xml377
-rw-r--r--spec/Channel_Dispatcher_Interface_Messages.xml49
-rw-r--r--spec/Channel_Dispatcher_Interface_Messages1.xml175
-rw-r--r--spec/Channel_Interface_Room_Config.xml2
-rw-r--r--spec/Channel_Interface_Tube.xml3
-rw-r--r--spec/Channel_Request_Future.xml98
-rw-r--r--spec/Channel_Type_Call.xml15
-rw-r--r--spec/Channel_Type_DBus_Tube.xml7
-rw-r--r--spec/Channel_Type_File_Transfer.xml29
-rw-r--r--spec/Channel_Type_Room_List.xml3
-rw-r--r--spec/Channel_Type_Stream_Tube.xml7
-rw-r--r--spec/Connection.xml42
-rw-r--r--spec/Connection_Interface_Contact_Capabilities.xml2
-rw-r--r--spec/Connection_Interface_Contact_List.xml2
-rw-r--r--spec/Connection_Interface_Contacts.xml58
-rw-r--r--spec/Connection_Interface_IRC_Command1.xml55
-rw-r--r--spec/Connection_Interface_Renaming.xml4
-rw-r--r--spec/Connection_Interface_Sidecars1.xml (renamed from spec/Connection_Future.xml)10
-rw-r--r--spec/Connection_Manager.xml3
-rw-r--r--spec/Protocol_Interface_Presence.xml3
-rw-r--r--spec/all.xml26
-rw-r--r--spec/errors.xml8
-rw-r--r--tests/dbus/contact-messenger.cpp4
-rw-r--r--tests/lib/glib/future/extensions/misc.xml1
-rw-r--r--tools/manager-file.py1
39 files changed, 493 insertions, 862 deletions
diff --git a/TelepathyQt/CMakeLists.txt b/TelepathyQt/CMakeLists.txt
index 06aaad7..47ec09c 100644
--- a/TelepathyQt/CMakeLists.txt
+++ b/TelepathyQt/CMakeLists.txt
@@ -232,10 +232,13 @@ set(telepathy_qt_HEADERS
ChannelInterfaceMediaSignallingInterface
ChannelInterfaceMessagesInterface
ChannelInterfacePasswordInterface
+ ChannelInterfaceRoomInterface
+ ChannelInterfaceRoomConfigInterface
ChannelInterfaceSASLAuthenticationInterface
ChannelInterfaceSecurableInterface
ChannelInterfaceServicePointInterface
ChannelInterfaceSMSInterface
+ ChannelInterfaceSubjectInterface
ChannelInterfaceTubeInterface
ChannelRequest
ChannelRequestHints
diff --git a/TelepathyQt/ChannelInterfaceRoomConfigInterface b/TelepathyQt/ChannelInterfaceRoomConfigInterface
new file mode 100644
index 0000000..22e769a
--- /dev/null
+++ b/TelepathyQt/ChannelInterfaceRoomConfigInterface
@@ -0,0 +1,13 @@
+#ifndef _TelepathyQt_ChannelInterfaceRoomConfigInterface_HEADER_GUARD_
+#define _TelepathyQt_ChannelInterfaceRoomConfigInterface_HEADER_GUARD_
+
+#ifndef IN_TP_QT_HEADER
+#define IN_TP_QT_HEADER
+#endif
+
+#include <TelepathyQt/channel.h>
+
+#undef IN_TP_QT_HEADER
+
+#endif
+// vim:set ft=cpp:
diff --git a/TelepathyQt/ChannelInterfaceRoomInterface b/TelepathyQt/ChannelInterfaceRoomInterface
new file mode 100644
index 0000000..8eea392
--- /dev/null
+++ b/TelepathyQt/ChannelInterfaceRoomInterface
@@ -0,0 +1,13 @@
+#ifndef _TelepathyQt_ChannelInterfaceRoomInterface_HEADER_GUARD_
+#define _TelepathyQt_ChannelInterfaceRoomInterface_HEADER_GUARD_
+
+#ifndef IN_TP_QT_HEADER
+#define IN_TP_QT_HEADER
+#endif
+
+#include <TelepathyQt/channel.h>
+
+#undef IN_TP_QT_HEADER
+
+#endif
+// vim:set ft=cpp:
diff --git a/TelepathyQt/ChannelInterfaceSubjectInterface b/TelepathyQt/ChannelInterfaceSubjectInterface
new file mode 100644
index 0000000..b2aa91e
--- /dev/null
+++ b/TelepathyQt/ChannelInterfaceSubjectInterface
@@ -0,0 +1,13 @@
+#ifndef _TelepathyQt_ChannelInterfaceSubjectInterface_HEADER_GUARD_
+#define _TelepathyQt_ChannelInterfaceSubjectInterface_HEADER_GUARD_
+
+#ifndef IN_TP_QT_HEADER
+#define IN_TP_QT_HEADER
+#endif
+
+#include <TelepathyQt/channel.h>
+
+#undef IN_TP_QT_HEADER
+
+#endif
+// vim:set ft=cpp:
diff --git a/TelepathyQt/channel-dispatcher.xml b/TelepathyQt/channel-dispatcher.xml
index a1588a4..c2b4332 100644
--- a/TelepathyQt/channel-dispatcher.xml
+++ b/TelepathyQt/channel-dispatcher.xml
@@ -6,4 +6,18 @@
<xi:include href="../spec/Channel_Dispatcher.xml"/>
+<xi:include href="../spec/Channel_Dispatcher_Interface_Messages1.xml"/>
+
+<tp:generic-types>
+ <tp:external-type name="Message_Part" type="a{sv}" from="Telepathy specification"/>
+ <tp:mapping name="Message_Part" array-name="Message_Part_List" array-depth="2">
+ <tp:member name="Key" type="s"/>
+ <tp:member name="Value" type="v"/>
+ </tp:mapping>
+</tp:generic-types>
+
+<xi:include href="../spec/generic-types.xml"/>
+<xi:include href="../spec/errors.xml"/>
+
+
</tp:spec>
diff --git a/TelepathyQt/channel.xml b/TelepathyQt/channel.xml
index 1c568c5..7f2ef4d 100644
--- a/TelepathyQt/channel.xml
+++ b/TelepathyQt/channel.xml
@@ -32,10 +32,13 @@
<xi:include href="../spec/Channel_Interface_Media_Signalling.xml"/>
<xi:include href="../spec/Channel_Interface_Messages.xml"/>
<xi:include href="../spec/Channel_Interface_Password.xml"/>
+<xi:include href="../spec/Channel_Interface_Room.xml"/>
+<xi:include href="../spec/Channel_Interface_Room_Config.xml"/>
<xi:include href="../spec/Channel_Interface_SASL_Authentication.xml"/>
<xi:include href="../spec/Channel_Interface_Securable.xml"/>
<xi:include href="../spec/Channel_Interface_Service_Point.xml"/>
<xi:include href="../spec/Channel_Interface_SMS.xml"/>
+<xi:include href="../spec/Channel_Interface_Subject.xml"/>
<xi:include href="../spec/Channel_Interface_Tube.xml"/>
</tp:spec>
diff --git a/TelepathyQt/contact-messenger.cpp b/TelepathyQt/contact-messenger.cpp
index fdb5608..1f34f4b 100644
--- a/TelepathyQt/contact-messenger.cpp
+++ b/TelepathyQt/contact-messenger.cpp
@@ -55,22 +55,21 @@ struct TP_QT_NO_EXPORT ContactMessenger::Private
AccountPtr account;
QString contactIdentifier;
SimpleTextObserverPtr observer;
- TpFuture::Client::ChannelDispatcherInterfaceMessagesInterface *cdMessagesInterface;
+ Tp::Client::ChannelDispatcherInterfaceMessages1Interface *cdMessagesInterface;
};
PendingSendMessage *ContactMessenger::Private::sendMessage(const Message &message,
MessageSendingFlags flags)
{
if (!cdMessagesInterface) {
- cdMessagesInterface = new TpFuture::Client::ChannelDispatcherInterfaceMessagesInterface(
+ cdMessagesInterface = new Tp::Client::ChannelDispatcherInterfaceMessages1Interface(
account->dbusConnection(),
TP_QT_CHANNEL_DISPATCHER_BUS_NAME, TP_QT_CHANNEL_DISPATCHER_OBJECT_PATH, parent);
}
PendingSendMessage *op = new PendingSendMessage(ContactMessengerPtr(parent), message);
- // TODO: is there a way to avoid this? Ideally TpFuture classes should use Tp types.
- TpFuture::MessagePartList parts;
+ Tp::MessagePartList parts;
foreach (const Tp::MessagePart &part, message.parts()) {
parts << static_cast<QMap<QString, QDBusVariant> >(part);
}
diff --git a/TelepathyQt/future-channel-dispatcher.xml b/TelepathyQt/future-channel-dispatcher.xml
index 0e7f67c..091637d 100644
--- a/TelepathyQt/future-channel-dispatcher.xml
+++ b/TelepathyQt/future-channel-dispatcher.xml
@@ -4,17 +4,5 @@
<tp:title>Channel Dispatcher extensions from the future</tp:title>
-<xi:include href="../spec/Channel_Dispatcher_Interface_Messages.xml"/>
-
-<tp:generic-types>
- <tp:external-type name="Message_Part" type="a{sv}" from="Telepathy specification"/>
- <tp:mapping name="Message_Part" array-name="Message_Part_List" array-depth="2">
- <tp:member name="Key" type="s"/>
- <tp:member name="Value" type="v"/>
- </tp:mapping>
-</tp:generic-types>
-
-<xi:include href="../spec/generic-types.xml"/>
-<xi:include href="../spec/errors.xml"/>
</tp:spec>
diff --git a/TelepathyQt/svc-channel.xml b/TelepathyQt/svc-channel.xml
index d4e8e6e..2df9cb0 100644
--- a/TelepathyQt/svc-channel.xml
+++ b/TelepathyQt/svc-channel.xml
@@ -30,9 +30,12 @@
<xi:include href="../spec/Channel_Interface_Media_Signalling.xml"/>
<xi:include href="../spec/Channel_Interface_Messages.xml"/>
<xi:include href="../spec/Channel_Interface_Password.xml"/>
+<xi:include href="../spec/Channel_Interface_Room.xml"/>
+<xi:include href="../spec/Channel_Interface_Room_Config.xml"/>
<xi:include href="../spec/Channel_Interface_SASL_Authentication.xml"/>
<xi:include href="../spec/Channel_Interface_Securable.xml"/>
<xi:include href="../spec/Channel_Interface_Service_Point.xml"/>
<xi:include href="../spec/Channel_Interface_SMS.xml"/>
+<xi:include href="../spec/Channel_Interface_Subject.xml"/>
</tp:spec>
diff --git a/spec/Account_Interface_Addressing.xml b/spec/Account_Interface_Addressing.xml
index 4b2846b..1692ba7 100644
--- a/spec/Account_Interface_Addressing.xml
+++ b/spec/Account_Interface_Addressing.xml
@@ -19,6 +19,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
<interface name="org.freedesktop.Telepathy.Account.Interface.Addressing">
<tp:requires interface="org.freedesktop.Telepathy.Account"/>
<tp:added version="0.21.5">(as stable API)</tp:added>
+ <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal"
+ value="true"/>
+ <tp:changed version="0.27.1">
+ The standard D-Bus <code>PropertiesChanged</code> signal is now used
+ for <tp:member-ref>URISchemes</tp:member-ref> property change notifications.
+ </tp:changed>
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>Some accounts can be used for multiple protocols; for instance, SIP
and Skype accounts can often be used to contact the PSTN, MSN and
@@ -46,6 +52,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
entirely possible that an account which can be used for a
given URI scheme is not wanted for it by the user, and
therefore not flagged as such in this field.</p>
+ <p>Change notification for this property is provided by the
+ standard D-Bus <code>PropertiesChanged</code> signal.</p>
</tp:docstring>
</property>
diff --git a/spec/Account_Interface_Minimum_Presence.xml b/spec/Account_Interface_Minimum_Presence.xml
deleted file mode 100644
index eb829b8..0000000
--- a/spec/Account_Interface_Minimum_Presence.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Account_Interface_Minimum_Presence"
- xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
- <tp:copyright>Copyright © 2010 Collabora Ltd.</tp:copyright>
- <tp:copyright>Copyright © 2010 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="org.freedesktop.Telepathy.Account.Interface.MinimumPresence.DRAFT2"
- tp:causes-havoc="experimental">
- <tp:requires interface="org.freedesktop.Telepathy.Account"/>
- <tp:added version="0.19.12">(draft 2)</tp:added>
-
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>This interface extends the core Account interface to provide a way
- for applications to request minimum presence on the account.</p>
-
- <tp:rationale>
- <p>Some applications, for example mail notifiers or address book
- synchronisation, can make use of account's connection even while
- the user is nominally offline.</p>
- </tp:rationale>
-
- <p>Each client's unique name may set a minimum desired presence on the
- account. The combined presence is the most available presence
- of the minimum presences set and of <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Account">RequestedPresence</tp:dbus-ref>
- set by the user. The account manager should attempt to manipulate
- the connection to set the combined presence.</p>
- </tp:docstring>
-
- <property name="MinimumPresenceRequests"
- tp:name-for-bindings="MinimumPresenceRequests" access="read"
- type="a{s(uss)}" tp:type="Minimum_Presence_Request_Map">
- <tp:docstring>
- Active requests for minimum presence status, a map of client unique
- name to the (non-offline) minimum presence they set.
- </tp:docstring>
- </property>
-
- <method name="SetMinimumPresence" tp:name-for-bindings="Set_Minimum_Presence">
- <tp:docstring>
- <p>Set a minimum presence needed by the client for this account. Setting
- (Offline, "offline", "") removes the minimum presence requirement for
- the client's unique name.</p>
- </tp:docstring>
-
- <arg direction="in" name="status" type="(uss)" tp:type="Simple_Presence">
- <tp:docstring>
- Requested presence status.
- </tp:docstring>
- </arg>
- </method>
-
- <signal name="MinimumPresenceRequestsChanged"
- tp:name-for-bindings="Minimum_Presence_Requests_Changed">
- <tp:docstring>
- Emitted when the
- <tp:member-ref>MinimumPresenceRequests</tp:member-ref> property
- changes.
- </tp:docstring>
-
- <arg name="MinimumPresenceRequests" type="a{s(uss)}"
- tp:type="Minimum_Presence_Request_Map">
- <tp:docstring>
- A new value of MinimumPresenceRequests property.
- </tp:docstring>
- </arg>
- </signal>
-
- <tp:mapping name="Minimum_Presence_Request_Map">
- <tp:docstring>
- <p>A map of active minimum presence requests.</p>
- </tp:docstring>
- <tp:member type="s" name="Key" tp:type="DBus_Unique_Name">
- <tp:docstring>
- <p>Client unique name.</p>
- </tp:docstring>
- </tp:member>
- <tp:member type="(uss)" name="Value" tp:type="Simple_Presence">
- <tp:docstring>
- <p>Requested minimum presence.</p>
-
- <tp:rationale>
- <p>Some applications may want to monitor the currently active
- minimum presences required. An example is an tool allowing
- the user to inspect applications maintaining open connections and
- close those applications.</p>
- </tp:rationale>
- </tp:docstring>
- </tp:member>
- </tp:mapping>
- </interface>
-</node>
-<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/spec/Call_Content_Codec_Offer.xml b/spec/Call_Content_Codec_Offer.xml
deleted file mode 100644
index f88143f..0000000
--- a/spec/Call_Content_Codec_Offer.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Call_Content_Codec_Offer"
- xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
- <tp:copyright>Copyright © 2009-2010 Collabora Ltd.</tp:copyright>
- <tp:copyright>Copyright © 2009-2010 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="org.freedesktop.Telepathy.Call.Content.CodecOffer.DRAFT"
- tp:causes-havoc="experimental">
- <tp:added version="0.19.0">(draft 1)</tp:added>
-
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- This object represents an offer of a Codec payload mapping.
- </tp:docstring>
-
- <method name="Accept" tp:name-for-bindings="Accept">
- <arg name="Codecs" direction="in"
- type="a(usuua{ss})" tp:type="Codec[]">
- <tp:docstring>
- The local codec mapping to send to the remote contacts and
- to use in the <tp:dbus-ref
- namespace="ofdT.Call">Content.DRAFT</tp:dbus-ref>.
- </tp:docstring>
- </arg>
- <tp:docstring>
- Accept the updated Codec mapping and update the local mapping.
- </tp:docstring>
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
- <tp:docstring>
- The codecs given as the argument are invalid in some way.
- </tp:docstring>
- </tp:error>
- </tp:possible-errors>
- </method>
-
- <method name="Reject" tp:name-for-bindings="Reject">
- <tp:docstring>
- Reject the proposed update to the codecs
- FIXME add error codes and strings here
- </tp:docstring>
- </method>
-
- <property name="Interfaces" tp:name-for-bindings="Interfaces"
- type="as" tp:type="DBus_Interface[]" access="read" tp:immutable="yes">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Extra interfaces provided by this codec offer. This SHOULD
- NOT include the CodecOffer interface itself, and cannot change
- once the content has been created.</p>
- </tp:docstring>
- </property>
-
- <property name="RemoteContactCodecs"
- tp:name-for-bindings="Remote_Contact_Codecs"
- type="a(usuua{ss})" tp:type="Codec[]" access="read"
- tp:immutable="yes">
- <tp:docstring>
- A list of codecs the remote contact supports.
- </tp:docstring>
- </property>
-
- <property name="RemoteContact" tp:name-for-bindings="Remote_Contact"
- type="u" tp:type="Contact_Handle" access="read" tp:immutable="yes">
- <tp:docstring>
- The contact handle that this codec offer applies to.
- </tp:docstring>
- </property>
-
-
- </interface>
-</node>
-<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/spec/Call_Content_Interface_Mute.xml b/spec/Call_Content_Interface_Mute.xml
deleted file mode 100644
index f926e03..0000000
--- a/spec/Call_Content_Interface_Mute.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Call_Content_Interface_Mute" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
- <tp:copyright> Copyright © 2005-2010 Nokia Corporation </tp:copyright>
- <tp:copyright> Copyright © 2005-2010 Collabora Ltd </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
-Lesser 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>
-
- <interface name="org.freedesktop.Telepathy.Call.Content.Interface.Mute.DRAFT" tp:causes-havoc="experimental">
- <tp:added version="0.19.6">(draft version, not API-stable)</tp:added>
- <tp:requires interface="org.freedesktop.Telepathy.Call.Content.DRAFT"/>
-
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Interface for calls which may be muted. This only makes sense
- for channels where audio or video is streaming between members.</p>
-
- <p>Muting a call content indicates that the user does not wish to send
- outgoing audio or video.</p>
-
- <p>Although it's client's responsibility to actually mute the microphone
- or turn off the camera, using this interface the client can also
- inform the CM and other clients of that fact.</p>
-
- <tp:rationale>
- For some protocols, the fact that the content is muted needs
- to be transmitted to the peer; for others, the notification
- to the peer is only informational (eg. XMPP), and some
- protocols may have no notion of muting at all.
- </tp:rationale>
- </tp:docstring>
-
- <signal name="MuteStateChanged" tp:name-for-bindings="Mute_State_Changed">
- <tp:docstring>
- Emitted to indicate that the mute state has changed for this call content.
- This may occur as a consequence of the client calling
- <tp:member-ref>SetMuted</tp:member-ref>, or as an indication that another
- client has (un)muted the content.
- </tp:docstring>
- <arg name="MuteState" type="b">
- <tp:docstring>
- True if the content is now muted.
- </tp:docstring>
- </arg>
- </signal>
-
- <property name="MuteState" type="b"
- access="read" tp:name-for-bindings="Mute_State">
- <tp:docstring>
- True if the content is muted.
- </tp:docstring>
- </property>
-
- <method name="SetMuted" tp:name-for-bindings="Set_Muted">
- <tp:changed version="0.21.2">renamed from SetMuted to Mute</tp:changed>
- <tp:changed version="0.21.3">renamed back from Mute to SetMuted</tp:changed>
- <arg direction="in" name="Muted" type="b">
- <tp:docstring>
- True if the client has muted the content.
- </tp:docstring>
- </arg>
- <tp:docstring>
- <p>Inform the CM that the call content has been muted or unmuted by
- the client.</p>
-
- <p>It is the client's responsibility to actually mute or unmute the
- microphone or camera used for the content. However, the client
- MUST call this whenever it mutes or unmutes the content.</p>
- </tp:docstring>
- </method>
-
- </interface>
-</node>
-<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/spec/Channel.xml b/spec/Channel.xml
index e0fa765..12a486e 100644
--- a/spec/Channel.xml
+++ b/spec/Channel.xml
@@ -390,7 +390,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
<tp:rationale>
<p>On some protocols, the SelfHandle may change (as signalled by
<tp:dbus-ref
- namespace="org.freedesktop.Telepathy">Connection.SelfHandleChanged</tp:dbus-ref>),
+ namespace="org.freedesktop.Telepathy">Connection.SelfContactChanged</tp:dbus-ref>),
but this property is immutable. Hence, locally-requested channels'
InitiatorHandle and InitiatorID may not match the current
SelfHandle; <tp:member-ref>Requested</tp:member-ref> can be used to
diff --git a/spec/Channel_Dispatcher_Future.xml b/spec/Channel_Dispatcher_Future.xml
deleted file mode 100644
index 701b424..0000000
--- a/spec/Channel_Dispatcher_Future.xml
+++ /dev/null
@@ -1,377 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Channel_Dispatcher_Future"
- xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
-
- <tp:copyright>Copyright © 2008-2010 Collabora Ltd.</tp:copyright>
- <tp:copyright>Copyright © 2008-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="org.freedesktop.Telepathy.ChannelDispatcher.FUTURE"
- tp:causes-havoc="a staging area for future functionality">
-
- <tp:requires interface="org.freedesktop.Telepathy.ChannelDispatcher"/>
-
- <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="org.freedesktop.Telepathy">ChannelDispatcher</tp:dbus-ref>
- interface in future. It should be considered to
- be conceptually part of the core ChannelDispatcher interface, but without
- API or ABI guarantees.</p>
- </tp:docstring>
-
- <method name="CreateChannelWithHints"
- tp:name-for-bindings="Create_Channel_With_Hints">
- <tp:added version="0.19.12">
- Support for this method is indicated by the
- <tp:member-ref>SupportsRequestHints</tp:member-ref> property.
- Clients MUST recover from this method being unsupported by falling back
- to <tp:dbus-ref
- namespace="ofdT.ChannelDispatcher">CreateChannel</tp:dbus-ref>.
- </tp:added>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Start a request to create a channel. This initially just creates a
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">ChannelRequest</tp:dbus-ref>
- object, which can be used to continue the request and track its
- success or failure.</p>
-
- <tp:rationale>
- <p>The request can take a long time - in the worst case, the
- channel dispatcher has to ask the account manager to put the
- account online, the account manager has to ask the operating
- system to obtain an Internet connection, and the operating
- system has to ask the user whether to activate an Internet
- connection using an on-demand mechanism like dialup.</p>
-
- <p>This means that using a single D-Bus method call and response
- to represent the whole request will tend to lead to that call
- timing out, which is not the behaviour we want.</p>
- </tp:rationale>
-
- <p>If this method is called for an Account that is disabled, invalid
- or otherwise unusable, no error is signalled until
- <tp:dbus-ref
- namespace="org.freedesktop.Telepathy">ChannelRequest.Proceed</tp:dbus-ref>
- is called, at which point
- <tp:dbus-ref
- namespace="org.freedesktop.Telepathy">ChannelRequest.Failed</tp:dbus-ref>
- is emitted with an appropriate error.</p>
-
- <tp:rationale>
- <p>This means there's only one code path for errors, apart from
- InvalidArgument for "that request makes no sense".</p>
-
- <p>It also means that the request will proceed if the account is
- enabled after calling CreateChannel, but before calling
- Proceed.</p>
- </tp:rationale>
- </tp:docstring>
-
- <arg direction="in" name="Account" type="o">
- <tp:docstring>
- The
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">Account</tp:dbus-ref>
- for which the new channel is to be created.
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="Requested_Properties" type="a{sv}"
- tp:type="Qualified_Property_Value_Map">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>A dictionary containing desirable properties. This has the same
- semantics as the corresponding parameter to
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.CreateChannel</tp:dbus-ref>.
- </p>
-
- <p>Certain properties will not necessarily make sense in this
- dictionary: for instance,
- <tp:dbus-ref namespace="org.freedesktop.Telepathy.Channel">TargetHandle</tp:dbus-ref>
- can only be given if the requester is able to interact with a
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection</tp:dbus-ref>
- to the desired account.</p>
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="User_Action_Time" type="x"
- tp:type="User_Action_Timestamp">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The time at which user action occurred, or 0 if this channel
- request is for some reason not involving user action.
- The <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.ChannelRequest">UserActionTime</tp:dbus-ref>
- property will be set to this value, and it will eventually be
- passed as the <code>User_Action_Time</code> parameter of <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Client.Handler">HandleChannels</tp:dbus-ref>.</p>
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="Preferred_Handler" type="s"
- tp:type="DBus_Well_Known_Name">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Either the well-known bus name (starting with
- <code>org.freedesktop.Telepathy.Client.</code>)
- of the preferred handler for this
- channel, or an empty string to indicate that any handler would be
- acceptable. The channel dispatcher SHOULD dispatch as many as
- possible of the resulting channels (ideally, all of them)
- to that handler—irrespective of whether that handler's <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Client.Handler">HandlerChannelFilter</tp:dbus-ref>
- matches the channel—and SHOULD remember the preferred handler
- so it can try to dispatch subsequent channels in the same bundle
- to the same handler.</p>
-
- <tp:rationale>
- <p>This must be the well-known bus name, not the unique name,
- to ensure that all handlers do indeed have the Client API,
- and the Client object on the handler can be located easily.</p>
-
- <p>This is partly so the channel dispatcher can call
- <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Client.Handler">HandleChannels</tp:dbus-ref>
- on it, and partly so the channel dispatcher
- can recover state if it crashes and is restarted.</p>
-
- <p>The filter should be disregarded for ease of use of this
- interface: clients will usually use this argument to request
- channels be sent to themself, and this should trump the filter
- not matching. This also allows a client to become the handler
- for a channel produced by one of its own requests, while not
- being a candidate to handle other channels of that type.</p>
- </tp:rationale>
-
- <p>If this is a well-known bus name and the handler has the
- Requests interface, the channel dispatcher SHOULD
- call <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Client.Interface.Requests">AddRequest</tp:dbus-ref>
- on that Handler after this method has returned.</p>
-
- <tp:rationale>
- <p>This ordering allows a Handler which calls CreateChannel with
- itself as the preferred handler to associate the call to
- AddRequest with that call.</p>
- </tp:rationale>
-
- <p>This is copied to the ChannelRequest that is returned,
- as the <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.ChannelRequest">PreferredHandler</tp:dbus-ref>
- property.</p>
- </tp:docstring>
-
- <tp:changed version="0.19.0">
- Previously, the spec didn't say that this should disregard the
- handler's filter. This has been implemented since
- telepathy-mission-control 5.3.2.
- </tp:changed>
- </arg>
-
- <arg direction="in" name="Hints" type="a{sv}">
- <tp:docstring>
- <p>Additional information about the channel request, which will be
- used as the value for the resulting request's <tp:dbus-ref
- namespace="ofdT.ChannelRequest.FUTURE">Hints</tp:dbus-ref>
- property, but will not otherwise be interpreted by the Channel
- Dispatcher.</p>
-
- <tp:rationale>
- <p>See the Hints property's documentation for rationale.</p>
- </tp:rationale>
- </tp:docstring>
- </arg>
-
- <arg direction="out" name="Request" type="o">
- <tp:docstring>
- A
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">ChannelRequest</tp:dbus-ref>
- object.
- </tp:docstring>
- </arg>
-
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
- <tp:docstring>
- The Preferred_Handler is syntactically invalid or does
- not start with <code>org.freedesktop.Telepathy.Client.</code>,
- the Account does not exist, or one of the Requested_Properties
- is invalid
- </tp:docstring>
- </tp:error>
- </tp:possible-errors>
-
- </method>
-
- <method name="EnsureChannelWithHints"
- tp:name-for-bindings="Ensure_Channel_With_Hints">
- <tp:added version="0.19.12">
- Support for this method is indicated by the
- <tp:member-ref>SupportsRequestHints</tp:member-ref> property.
- Clients MUST recover from this method being unsupported by falling back
- to <tp:dbus-ref
- namespace="ofdT.ChannelDispatcher">EnsureChannel</tp:dbus-ref>.
- </tp:added>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Start a request to ensure that a channel exists, creating it if
- necessary. This initially just creates a <tp:dbus-ref
- namespace="org.freedesktop.Telepathy">ChannelRequest</tp:dbus-ref>
- object, which can be used to continue the request and track its
- success or failure.</p>
-
- <p>If this method is called for an Account that is disabled, invalid
- or otherwise unusable, no error is signalled until
- <tp:dbus-ref
- namespace="org.freedesktop.Telepathy">ChannelRequest.Proceed</tp:dbus-ref>
- is called, at which point
- <tp:dbus-ref
- namespace="org.freedesktop.Telepathy">ChannelRequest.Failed</tp:dbus-ref>
- is emitted with an appropriate error.</p>
-
- <tp:rationale>
- <p>The rationale is as for <tp:dbus-ref
- namespace='org.freedesktop.Telepathy.ChannelDispatcher'>CreateChannel</tp:dbus-ref>.</p>
- </tp:rationale>
- </tp:docstring>
-
- <arg direction="in" name="Account" type="o">
- <tp:docstring>
- The
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">Account</tp:dbus-ref>
- for which the new channel is to be created.
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="Requested_Properties" type="a{sv}"
- tp:type="Qualified_Property_Value_Map">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>A dictionary containing desirable properties. This has the same
- semantics as the corresponding parameter to
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.EnsureChannel</tp:dbus-ref>.
- </p>
-
- <p>Certain properties will not necessarily make sense in this
- dictionary: for instance,
- <tp:dbus-ref namespace="org.freedesktop.Telepathy.Channel">TargetHandle</tp:dbus-ref>
- can only be given if the requester is able to interact with a
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection</tp:dbus-ref>
- to the desired account.</p>
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="User_Action_Time" type="x"
- tp:type="User_Action_Timestamp">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The time at which user action occurred, or 0 if this channel
- request is for some reason not involving user action.</p>
-
- <p>This parameter is used in the same way as the corresponding
- parameter to
- <tp:member-ref>CreateChannelWithHints</tp:member-ref>.</p>
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="Preferred_Handler" type="s"
- tp:type="DBus_Well_Known_Name">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Either the well-known bus name (starting with
- <code>org.freedesktop.Telepathy.Client.</code>)
- of the preferred handler for this
- channel, or an empty string to indicate that any handler would be
- acceptable. The behaviour and rationale are the same as for the
- corresponding parameter to
- <tp:member-ref>CreateChannelWithHints</tp:member-ref>, except
- as noted here.</p>
-
- <p>If any new channels are created in response to this
- request, the channel dispatcher SHOULD dispatch as many as
- possible of the resulting channels (ideally, all of them)
- to that handler, and SHOULD remember the preferred handler
- so it can try to dispatch subsequent channels in the same bundle
- to the same handler. If the requested channel already exists (that
- is, <tp:dbus-ref
- namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.EnsureChannel</tp:dbus-ref>
- returns <code>Yours=False</code>) then the channel dispatcher
- SHOULD re-dispatch the channel to its existing handler, and MUST
- NOT dispatch it to this client (unless it is the existing handler);
- the request is still deemed to have succeeded in this case.</p>
-
- <tp:rationale>
- <p>An address book application, for example, might call <tp:dbus-ref
- namespace='org.freedesktop.Telepathy.ChannelDispatcher'>EnsureChannel</tp:dbus-ref>
- to ensure that a text channel with a particular contact is
- displayed to the user; it does not care whether a new channel was
- made. An IM client might call <tp:dbus-ref
- namespace='org.freedesktop.Telepathy.ChannelDispatcher'>EnsureChannel</tp:dbus-ref>
- in response to the user double-clicking an entry in the contact
- list, with itself as the <code>Preferred_Handler</code>; if the
- user already has a conversation with that contact in another
- application, they would expect the existing window to be
- presented, rather than their double-click leading to an error
- message. So the request should succeed, even if its
- <code>Preferred_Handler</code> is not used.</p>
- </tp:rationale>
-
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="Hints" type="a{sv}">
- <tp:docstring>
- Additional information about the channel request, which will be used
- as the value for the resulting request's <tp:dbus-ref
- namespace="ofdT.ChannelRequest.FUTURE">Hints</tp:dbus-ref>
- property.</tp:docstring>
- </arg>
-
- <arg direction="out" name="Request" type="o">
- <tp:docstring>
- A
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">ChannelRequest</tp:dbus-ref>
- object.
- </tp:docstring>
- </arg>
-
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
- <tp:docstring>
- The Preferred_Handler is syntactically invalid or does
- not start with <code>org.freedesktop.Telepathy.Client.</code>,
- the Account does not exist, or one of the Requested_Properties
- is invalid
- </tp:docstring>
- </tp:error>
- </tp:possible-errors>
-
- </method>
-
- <property name="SupportsRequestHints"
- tp:name-for-bindings="Supports_Request_Hints"
- type="b" access="read">
- <tp:added version="0.19.12"/>
- <tp:docstring>
- If <code>True</code>, the channel dispatcher is new enough to support
- <tp:member-ref>CreateChannelWithHints</tp:member-ref> and
- <tp:member-ref>EnsureChannelWithHints</tp:member-ref>, in addition
- to the older <tp:dbus-ref
- namespace="ofdT.ChannelDispatcher">CreateChannel</tp:dbus-ref>
- and <tp:dbus-ref
- namespace="ofdT.ChannelDispatcher">EnsureChannel</tp:dbus-ref>.
- methods. If <code>False</code> or missing, only the metadata-less
- variants are supported.
- </tp:docstring>
- </property>
-
- </interface>
-</node>
-<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/spec/Channel_Dispatcher_Interface_Messages.xml b/spec/Channel_Dispatcher_Interface_Messages.xml
deleted file mode 100644
index f6cfd04..0000000
--- a/spec/Channel_Dispatcher_Interface_Messages.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Channel_Dispatcher_Interface_Messages"
- xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
-
- <tp:copyright>Copyright (C) 2011 Collabora Ltd.</tp:copyright>
- <tp:copyright>Copyright (C) 2011 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="org.freedesktop.Telepathy.ChannelDispatcher.Interface.Messages.DRAFT"
- tp:causes-havoc="not yet final">
-
- <tp:requires interface="org.freedesktop.Telepathy.ChannelDispatcher"/>
-
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>This interface allows users of the ChannelDispatcher to send one-off
- text messages to a contact, identified by account and target ID.</p>
-
- <tp:rationale>
- <p>This enables entities other than the main UI to send one-off messages
- to a contact.</p>
- </tp:rationale>
- </tp:docstring>
-
- <method name="SendMessage" tp:name-for-bindings="Send_Message">
- <arg direction="in" name="Account" type="o"/>
- <arg direction="in" name="TargetID" type="s"/>
- <arg direction="in" name="Message" type="aa{sv}" tp:type="Message_Part[]"/>
- <arg direction="in" name="Flags" type="u"/>
- <arg direction="out" name="Token" type="s"/>
- </method>
-
- </interface>
-</node>
-
diff --git a/spec/Channel_Dispatcher_Interface_Messages1.xml b/spec/Channel_Dispatcher_Interface_Messages1.xml
new file mode 100644
index 0000000..e768b55
--- /dev/null
+++ b/spec/Channel_Dispatcher_Interface_Messages1.xml
@@ -0,0 +1,175 @@
+<?xml version="1.0" ?>
+<node name="/Channel_Dispatcher_Interface_Messages1"
+ xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+
+ <tp:copyright>Copyright (C) 2011-2013 Collabora Ltd.</tp:copyright>
+ <tp:copyright>Copyright (C) 2011 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="org.freedesktop.Telepathy.ChannelDispatcher.Interface.Messages1">
+ <tp:requires interface="org.freedesktop.Telepathy.ChannelDispatcher"/>
+
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>
+ This interface allows DBus clients to use the ChannelDispatcher to
+ send one-off text messages to a contact, identified by account and
+ target ID, without requiring the caller to handle channels or be
+ the primary message UI.
+ </p>
+
+ <tp:rationale>
+ <p>
+ This enables entities other than the main UI to send messages
+ to contacts.
+ </p>
+ </tp:rationale>
+ </tp:docstring>
+
+ <method name="SendMessage" tp:name-for-bindings="Send_Message">
+ <arg direction="in" name="Account" type="o">
+ <tp:docstring>
+ The <tp:dbus-ref namespace="ofdT">Account</tp:dbus-ref>
+ through which to communicate.
+ </tp:docstring>
+ </arg>
+ <arg direction="in" name="Target_ID" type="s">
+ <tp:docstring>
+ The contact to send the message to.
+ </tp:docstring>
+ </arg>
+ <arg direction="in" name="Message" type="aa{sv}"
+ tp:type="Message_Part[]">
+ <tp:docstring>
+ The parts of the message, the same as for <tp:dbus-ref
+ namespace="ofdT.Channel.Interface">Messages.SendMessage</tp:dbus-ref>.
+ </tp:docstring>
+ </arg>
+ <arg direction="in" name="Flags" type="u">
+ <tp:docstring>
+ Flags influencing how to send the message, the same as for <tp:dbus-ref
+ namespace="ofdT.Channel.Interface">Messages.SendMessage</tp:dbus-ref>.
+ </tp:docstring>
+ </arg>
+ <arg direction="out" name="Token" type="s">
+ <tp:docstring>
+ An opaque token equivalent to the one returned by <tp:dbus-ref
+ namespace="ofdT.Channel.Interface">Messages.SendMessage</tp:dbus-ref>.
+ </tp:docstring>
+ </arg>
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>Submit a message to the server for sending, like the
+ <tp:dbus-ref namespace="ofdT.Channel.Interface">Messages.SendMessage</tp:dbus-ref>
+ method.</p>
+
+ <p>If the <var>Account</var> is connected and a Text channel to the
+ <var>Target_ID</var> already exists, this method is equivalent to
+ sending the same message via that channel.</p>
+
+ <p>Otherwise, this method creates a channel (connecting the
+ Account if appropriate), sends the desired message, and
+ closes the channel as if via <tp:dbus-ref
+ namespace="ofdT">Channel.Close</tp:dbus-ref>, without
+ acknowledging any messages received on that channel
+ during that time.</p>
+
+ <p>If any messages are received on that channel before it is
+ closed, a correct connection manager implementation will reopen
+ the channel when it is closed, resulting in those "rescued" messages
+ being processed by the system's normal <tp:dbus-ref
+ namespace="ofdT.Client">Handler</tp:dbus-ref> for text
+ channels. In particular, this deals with the situation where
+ a successful or failed delivery report is received
+ before the channel is closed.</p>
+
+ <tp:rationale>
+ <p>Expecting a trivial client (perhaps a send-only IRC bot,
+ or a simple SMS-sending API) to go through all those steps to
+ send a message seems somewhat unreasonable. Having this as a
+ method in the ChannelDispatcher lets it take some short-cuts if
+ required, and centralizes the implementation to reduce the risk of
+ mistakes that cause message loss.</p>
+ </tp:rationale>
+
+ <p>The ChannelDispatcher SHOULD support this method for any
+ connection manager that would accept channel requests of this
+ form:</p>
+
+ <pre> {
+ …<tp:dbus-ref namespace="ofdT">Channel.ChannelType</tp:dbus-ref>:
+ …<tp:dbus-ref namespace="ofdT">Channel.Type.Text</tp:dbus-ref>,
+ …<tp:dbus-ref namespace="ofdT">Channel.TargetHandleType</tp:dbus-ref>:
+ <tp:value-ref type="Handle_Type">Contact</tp:value-ref>,
+ …<tp:dbus-ref namespace="ofdT">Channel.TargetID</tp:dbus-ref>:
+ <var>Target_ID</var>
+ }</pre>
+
+ <p>However, if the connection manager provides additional APIs
+ (such as a way to open "send-only" channels), the
+ ChannelDispatcher MAY use those: it is not required to use
+ those exact request parameters.</p>
+
+ <p>This method may raise any error that would be raised by the
+ <tp:dbus-ref
+ namespace="ofdT.Connection.Interface">Requests.EnsureChannel</tp:dbus-ref>
+ or <tp:dbus-ref
+ namespace="ofdT.Channel.Interface">Messages.SendMessage</tp:dbus-ref>
+ methods, or signalled by the <tp:dbus-ref
+ namespace="ofdT.ChannelRequest">Failed</tp:dbus-ref>
+ signal.</p>
+ </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.NotImplemented">
+ <tp:docstring>
+ The connection manager does not implement Text channels
+ that communicate with a named contact.
+ </tp:docstring>
+ </tp:error>
+ <tp:error name="org.freedesktop.Telepathy.Error.InvalidHandle">
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ The <var>Target_ID</var> was not syntactically valid for the
+ <var>Account</var>'s protocol.
+ </tp:docstring>
+ </tp:error>
+ <tp:error name="org.freedesktop.Telepathy.Error.InvalidHandle">
+ <tp:docstring>
+ The requested message is malformed and cannot be sent.
+ </tp:docstring>
+ </tp:error>
+ <tp:error name="org.freedesktop.Telepathy.Error.Offline">
+ <tp:docstring>
+ The requested channel cannot be created because the target is
+ offline.
+ </tp:docstring>
+ </tp:error>
+ <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
+ <tp:docstring>
+ The requested channel cannot be created, but in
+ principle, a similar request might succeed in future.
+ </tp:docstring>
+ </tp:error>
+ <tp:error name="org.freedesktop.Telepathy.Error.PermissionDenied"/>
+ </tp:possible-errors>
+ </method>
+
+ </interface>
+</node>
+
diff --git a/spec/Channel_Interface_Room_Config.xml b/spec/Channel_Interface_Room_Config.xml
index 18bb06f..15ef099 100644
--- a/spec/Channel_Interface_Room_Config.xml
+++ b/spec/Channel_Interface_Room_Config.xml
@@ -30,7 +30,7 @@
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>Represents the configuration of a chatroom, some aspects of which may
- be modifiable by the user, depending on their priviledges. This
+ be modifiable by the user, depending on their privileges. This
corresponds to the room configuration on XMPP, and various channel mode
flags on IRC.</p>
diff --git a/spec/Channel_Interface_Tube.xml b/spec/Channel_Interface_Tube.xml
index f31ab21..72f7794 100644
--- a/spec/Channel_Interface_Tube.xml
+++ b/spec/Channel_Interface_Tube.xml
@@ -60,7 +60,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</tp:docstring>
<property name="Parameters" type="a{sv}" tp:type="String_Variant_Map"
- access="read" tp:name-for-bindings="Parameters">
+ access="read" tp:name-for-bindings="Parameters"
+ tp:immutable="sometimes">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>Each tube has a dictionary of arbitrary parameters. Parameters are
commonly used to bootstrap legacy protocols where you can't
diff --git a/spec/Channel_Request_Future.xml b/spec/Channel_Request_Future.xml
deleted file mode 100644
index d75c7e0..0000000
--- a/spec/Channel_Request_Future.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Channel_Request_Future"
- xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
- <tp:copyright>Copyright © 2008-2010 Collabora Ltd.</tp:copyright>
- <tp:copyright>Copyright © 2008-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="org.freedesktop.Telepathy.ChannelRequest.FUTURE"
- tp:causes-havoc="a staging area for future Channel functionality">
-
- <tp:requires interface="org.freedesktop.Telepathy.ChannelRequest"/>
-
- <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="org.freedesktop.Telepathy">ChannelRequest</tp:dbus-ref>
- interface in future. It should be considered to
- be conceptually part of the core ChannelRequest interface, but without
- API or ABI guarantees.</p>
- </tp:docstring>
-
- <property name="Hints" tp:name-for-bindings="Hints"
- type="a{sv}" access="read">
- <tp:added version="0.19.12">(as draft)</tp:added>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>A dictionary of metadata provided by the channel
- requester, which the handler and other clients MAY choose to
- interpret. Currently no standard keys are defined; clients MAY
- choose to use platform-specific keys for their own purposes, but MUST
- ignore unknown keys and MUST cope with expected keys being
- missing.</p>
-
- <tp:rationale>This property might be used to pass a contact ID for a
- telephone number shared between two contacts from the address book to
- the call UI, so that if you try to call “Mum”, the call UI knows this
- rather than having to guess or show “Calling Mum or Dad”. The format
- of these contact IDs would be platform-specific, so we leave the
- definition of the dictionary entry up to the platform in question.
- But third-party channel requesters might not include the contact ID,
- so the call UI has to be able to deal with it not being
- there.</tp:rationale>
-
- <p>The channel dispatcher will not interpret these hints: they are
- solely for communication between cooperating clients.</p>
-
- <tp:rationale>
- <p>Any extra parameters that do affect the channel dispatcher should
- be designed separately.</p>
- </tp:rationale>
-
- <p>This property may be set when the channel request is created, and
- can never change. Since it is immutable, it SHOULD be included in the
- dictionary of properties passed to <tp:dbus-ref
- namespace="ofdT.Client.Interface.Requests">AddRequest</tp:dbus-ref>
- by the <tp:dbus-ref
- namespace="org.freedesktop.Telepathy">ChannelDispatcher</tp:dbus-ref>.</p>
- </tp:docstring>
- </property>
-
- <signal name="SucceededWithChannel" tp:name-for-bindings="Succeeded_With_Channel">
- <tp:added version="0.19.12">(as draft)</tp:added>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Variant of the <tp:dbus-ref
- namespace="ofdT.ChannelRequest">Succeeded</tp:dbus-ref> signal
- allowing to get the channel which has been created.</p>
- </tp:docstring>
-
- <arg name="Connection" type="o">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The Connection owning the channel.</p>
- </tp:docstring>
- </arg>
-
- <arg name="Channel" type="o">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The channel which has been created.</p>
- </tp:docstring>
- </arg>
-
- </signal>
-
- </interface>
-</node>
-<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/spec/Channel_Type_Call.xml b/spec/Channel_Type_Call.xml
index 383db25..eee38a9 100644
--- a/spec/Channel_Type_Call.xml
+++ b/spec/Channel_Type_Call.xml
@@ -613,7 +613,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
the remote client indicates that the user has been notified about
the call. If the network is known not to provide feedback about whether
the remote side is ringing, then the call should immediately be
- set to Ringing.</li>
+ set to Initialised.</li>
<li>Initialising → Initialised (for incoming calls, when e.g. the
implementation has been initialised far enough that it is sensible
to notify the user about the call (to reduce the probability that
@@ -908,13 +908,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<p>The change was requested by the contact indicated by the Actor
member of a <tp:type>Call_State_Reason</tp:type> struct.</p>
- <p>If the Actor is the local user, the DBus_Reason SHOULD be the
- empty string.</p>
-
- <p>If the Actor is a remote user, the DBus_Reason SHOULD be the empty
- string if the call was terminated normally, but MAY be a non-empty
- error name to indicate error-like call termination reasons (call
- rejected as busy, kicked from a conference by a moderator, etc.).</p>
+ <p>The DBus_Reason SHOULD be the empty string if the call
+ was terminated normally, but MAY be a non-empty error name
+ to indicate error-like call termination reasons (kicked from
+ a conference by a moderator, etc.).</p>
</tp:docstring>
</tp:enumvalue>
@@ -1154,7 +1151,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<tp:rationale>
<p>A connection manager might be intended for a specialized hardware
device, which will take care of the audio streaming (e.g.
- telepathy-yafono, which uses GSM hardware which does the actual
+ telepathy-ring, which uses GSM hardware which does the actual
audio streaming for the call).</p>
</tp:rationale>
diff --git a/spec/Channel_Type_DBus_Tube.xml b/spec/Channel_Type_DBus_Tube.xml
index 74e6595..e79ba5a 100644
--- a/spec/Channel_Type_DBus_Tube.xml
+++ b/spec/Channel_Type_DBus_Tube.xml
@@ -127,7 +127,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</signal>
<property name="ServiceName" type="s" access="read"
- tp:name-for-bindings="Service_Name">
+ tp:name-for-bindings="Service_Name"
+ tp:requestable="yep"
+ tp:immutable="yep">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>A string representing the service name that will be used over the
tube. It SHOULD be a well-known D-Bus service name, of the form
@@ -170,7 +172,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<property name="SupportedAccessControls" type="au"
tp:type="Socket_Access_Control[]" access="read"
- tp:name-for-bindings="Supported_Access_Controls">
+ tp:name-for-bindings="Supported_Access_Controls"
+ tp:immutable="yep">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>A list of the access control types that are supported with this channel.
Note that only Socket_Access_Control_Localhost and
diff --git a/spec/Channel_Type_File_Transfer.xml b/spec/Channel_Type_File_Transfer.xml
index f50b963..493ac54 100644
--- a/spec/Channel_Type_File_Transfer.xml
+++ b/spec/Channel_Type_File_Transfer.xml
@@ -579,6 +579,35 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
</arg>
</signal>
+ <property name="FileCollection" tp:name-for-bindings="File_Collection"
+ type="s" access="read">
+ <tp:added version="0.27.3"/>
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>The collection of files to which this channel belongs,
+ or the empty string if this channel does not belong to
+ a collection of files.</p>
+
+ <p>A channel's FileCollection property can never change.</p>
+
+ <p>At least on GTalk and apparently also on iChat the user can
+ send a set of files to a contact and that contact can then
+ pick and choose which files to actually receive.</p>
+
+ <p> The CM should emit all new FT channels belonging to one collection
+ at the same time. UIs supporting this feature can then
+ bundle all these channels together in some way, and show a
+ nice UI. UIs not supporting it will treat them as separate
+ transfers, which is not great but a reasonable fallback.</p>
+
+ <p>No mechanism is currently defined to indicate whether the UI
+ should expect any more files in the same collection. UIs
+ SHOULD assume that more file transfers may be added to a
+ collection. It is possible that a "no more channels in this
+ collection" indication will be added in a future version of
+ this specification.</p>
+ </tp:docstring>
+ </property>
+
</interface>
</node>
diff --git a/spec/Channel_Type_Room_List.xml b/spec/Channel_Type_Room_List.xml
index b2b886f..7347a1f 100644
--- a/spec/Channel_Type_Room_List.xml
+++ b/spec/Channel_Type_Room_List.xml
@@ -75,7 +75,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
<dl>
<dt>handle-name (s)</dt>
<dd>The identifier of the room (as would be returned by
- <tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection">InspectHandles</tp:dbus-ref>)</dd>
+ <tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection">InspectHandles</tp:dbus-ref>).
+ This property is mandatory.</dd>
<dt>name (s)</dt>
<dd>The human-readable name of the room if different from the handle</dd>
diff --git a/spec/Channel_Type_Stream_Tube.xml b/spec/Channel_Type_Stream_Tube.xml
index 63e7b2f..83655c3 100644
--- a/spec/Channel_Type_Stream_Tube.xml
+++ b/spec/Channel_Type_Stream_Tube.xml
@@ -227,7 +227,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</signal>
<property name="Service" type="s" access="read"
- tp:name-for-bindings="Service">
+ tp:name-for-bindings="Service"
+ tp:immutable="yes"
+ tp:requestable="yes">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p> A string representing the service name that will be used over the
tube. It should be a well-known TCP service name as defined by
@@ -246,7 +248,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<property name="SupportedSocketTypes" type="a{uau}"
tp:type="Supported_Socket_Map" access="read"
- tp:name-for-bindings="Supported_Socket_Types">
+ tp:name-for-bindings="Supported_Socket_Types"
+ tp:immutable="yes">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>A mapping from address types (members of Socket_Address_Type) to
arrays of access-control type (members of Socket_Access_Control)
diff --git a/spec/Connection.xml b/spec/Connection.xml
index 6a560fc..ef862b4 100644
--- a/spec/Connection.xml
+++ b/spec/Connection.xml
@@ -145,6 +145,8 @@ USA.</p>
<tp:added version="0.17.10">Clients MAY assume that if the
SelfHandle property exists, this signal will be emitted when
necessary.</tp:added>
+ <tp:deprecated version="0.27.2">Use SelfContactChanged to get the
+ new SelfID at the same time</tp:deprecated>
<arg type="u" tp:type="Contact_Handle" name="Self_Handle">
<tp:docstring>
@@ -153,13 +155,38 @@ USA.</p>
</arg>
</signal>
+ <signal name="SelfContactChanged"
+ tp:name-for-bindings="Self_Contact_Changed">
+ <tp:docstring>
+ Emitted whenever the <tp:member-ref>SelfHandle</tp:member-ref> and
+ <tp:member-ref>SelfID</tp:member-ref> property
+ changes. If the connection
+ is not yet in the CONNECTED state, this signal is not guaranteed
+ to be emitted.
+ </tp:docstring>
+ <tp:added version="0.27.2">Clients MAY assume that if the
+ SelfHandle and SelfID property exists, this signal will be emitted when
+ necessary.</tp:added>
+
+ <arg type="u" tp:type="Contact_Handle" name="Self_Handle">
+ <tp:docstring>
+ The new value of the SelfHandle property.
+ </tp:docstring>
+ </arg>
+ <arg type="s" name="Self_ID">
+ <tp:docstring>
+ The new value of the SelfID property.
+ </tp:docstring>
+ </arg>
+ </signal>
+
<property name="SelfHandle" tp:name-for-bindings="Self_Handle"
type="u" tp:type="Contact_Handle" access="read">
<tp:docstring>
The handle which represents the user on this connection, which will
remain valid for the lifetime of this connection, or until a change
in the user's identifier is signalled by the
- <tp:member-ref>SelfHandleChanged</tp:member-ref> signal.
+ <tp:member-ref>SelfContactChanged</tp:member-ref> signal.
If the connection is not yet in the CONNECTED state, the value of
this property MAY be zero.
</tp:docstring>
@@ -169,6 +196,19 @@ USA.</p>
method.</tp:added>
</property>
+ <property name="SelfID" tp:name-for-bindings="Self_ID"
+ type="s" access="read">
+ <tp:docstring>
+ The identifier which represents the user on this connection, which will
+ remain valid for the lifetime of this connection, or until a change
+ in the user's identifier is signalled by the
+ <tp:member-ref>SelfContactChanged</tp:member-ref> signal.
+ If the connection is not yet in the CONNECTED state, the value of
+ this property MAY be empty string.
+ </tp:docstring>
+ <tp:added version="0.27.2"/>
+ </property>
+
<method name="GetSelfHandle" tp:name-for-bindings="Get_Self_Handle">
<arg direction="out" type="u" tp:type="Contact_Handle"
name="Self_Handle">
diff --git a/spec/Connection_Interface_Contact_Capabilities.xml b/spec/Connection_Interface_Contact_Capabilities.xml
index d329684..fb13c37 100644
--- a/spec/Connection_Interface_Contact_Capabilities.xml
+++ b/spec/Connection_Interface_Contact_Capabilities.xml
@@ -246,7 +246,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
<tp:rationale>
<p>This matches the initial implementations - service-side in
- telepathy-gabble, and client-side in telepathy-qt - and means
+ telepathy-gabble, and client-side in telepathy-qt4 - and means
that clients can use exactly the same code to interpret
RequestableChannelClasses and contact capabilities.</p>
</tp:rationale>
diff --git a/spec/Connection_Interface_Contact_List.xml b/spec/Connection_Interface_Contact_List.xml
index 7b9499f..50a2634 100644
--- a/spec/Connection_Interface_Contact_List.xml
+++ b/spec/Connection_Interface_Contact_List.xml
@@ -1110,7 +1110,7 @@
</method>
<method name="Download" tp:name-for-bindings="Download">
- <tp:added version="0.UNRELEASED"/>
+ <tp:added version="0.25.2"/>
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>Download the contact list from the server. If
<tp:member-ref>DownloadAtConnection</tp:member-ref> is true,
diff --git a/spec/Connection_Interface_Contacts.xml b/spec/Connection_Interface_Contacts.xml
index 1020190..ccbdb84 100644
--- a/spec/Connection_Interface_Contacts.xml
+++ b/spec/Connection_Interface_Contacts.xml
@@ -186,6 +186,64 @@
<tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/>
</tp:possible-errors>
</method>
+
+ <method name="GetContactByID"
+ tp:name-for-bindings="Get_Contact_By_ID">
+ <tp:added version="0.27.0"/>
+ <tp:docstring>
+ Return any number of contact attributes for the given identifier.
+ <tp:rationale>
+ This is for a single identifier to make it simpler to use for the most
+ common use case. For multiple contacts case,
+ <tp:member-ref>GetContactAttributes</tp:member-ref> should be used.
+ </tp:rationale>
+ </tp:docstring>
+
+ <arg direction="in" name="Identifier" type="s">
+ <tp:docstring>
+ An identifier representing a contact.
+ </tp:docstring>
+ </arg>
+
+ <arg direction="in" name="Interfaces" type="as"
+ tp:type="DBus_Interface[]">
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>A list of strings indicating which D-Bus interfaces the calling
+ process is interested in. All supported attributes from these
+ interfaces, whose values can be obtained without additional network
+ activity, will be in the reply.</p>
+ <p>See <tp:member-ref>GetContactAttributes</tp:member-ref> for
+ details.</p>
+ </tp:docstring>
+ </arg>
+
+ <arg direction="out" name="Handle" type="u" tp:type="Contact_Handle">
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>The contact's handle, as returned by <tp:dbus-ref
+ namespace="ofdT.Connection">RequestHandles</tp:dbus-ref></p>
+ </tp:docstring>
+ </arg>
+
+ <arg direction="out" type="a{sv}" name="Attributes"
+ tp:type="Single_Contact_Attributes_Map">
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>All supported attributes of the contact on
+ the given interfaces that can be returned without network
+ round-trips. If contact attributes are not immediately known, the
+ behaviour is defined by the interface; the attribute should either
+ be omitted from the result or replaced with a default value.</p>
+
+ <p>The contact's attributes will always include at least the
+ identifier that would be obtained by inspecting the handle
+ (<code>org.freedesktop.Telepathy.Connection/contact-id</code>).</p>
+ </tp:docstring>
+ </arg>
+
+ <tp:possible-errors>
+ <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/>
+ <tp:error name="org.freedesktop.Telepathy.Error.InvalidHandle"/>
+ </tp:possible-errors>
+ </method>
</interface>
</node>
<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/spec/Connection_Interface_IRC_Command1.xml b/spec/Connection_Interface_IRC_Command1.xml
new file mode 100644
index 0000000..864f1fa
--- /dev/null
+++ b/spec/Connection_Interface_IRC_Command1.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" ?>
+<node name="/Connection_Interface_IRC_Command1" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+ <tp:copyright> Copyright (C) 2013 Collabora Limited </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="org.freedesktop.Telepathy.Connection.Interface.IRCCommand1"
+ tp:causes-havoc='not well-tested'>
+ <tp:requires interface="org.freedesktop.Telepathy.Connection"/>
+ <tp:added version="0.27.3"/>
+
+ <method name="Send" tp:name-for-bindings="Send">
+ <arg direction="in" name="Command" type="s">
+ <tp:docstring>
+ The command followed by its arguments.
+ </tp:docstring>
+ </arg>
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>Send an arbitrary IRC command to the server.</p>
+ <p>For example, an IRC client receiving <code>/bip blreset</code> from
+ the user might call this method with <code>BIP blreset</code> as
+ argument which will send <code>BIP blreset</code> to the server.</p>
+ <p>The command is supplied in UTF-8 (because strings on D-Bus are
+ always UTF-8). It is transcoded into the connection's configured
+ character set, if different, before sending to the server.</p>
+ </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.InvalidArgument">
+ <tp:docstring>
+ The connection manager MAY raise this error for commands that
+ have a more appropriate D-Bus API.
+ </tp:docstring>
+ </tp:error>
+ </tp:possible-errors>
+ </method>
+ <tp:docstring>
+ An interface to send arbitrary IRC commands to the server.
+ </tp:docstring>
+ </interface>
+</node>
+<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/spec/Connection_Interface_Renaming.xml b/spec/Connection_Interface_Renaming.xml
index d08b748..2006118 100644
--- a/spec/Connection_Interface_Renaming.xml
+++ b/spec/Connection_Interface_Renaming.xml
@@ -18,8 +18,8 @@ Lesser General Public License for more details.</p>
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="org.freedesktop.Telepathy.Connection.Interface.Renaming"
- tp:causes-havoc='not well-tested'>
+ <interface name="org.freedesktop.Telepathy.Connection.Interface.Renaming">
+ <tp:added version="0.27.3">(as stable API)</tp:added>
<tp:requires interface="org.freedesktop.Telepathy.Connection"/>
<signal name="Renamed" tp:name-for-bindings="Renamed">
<arg name="Original" type="u" tp:type="Contact_Handle">
diff --git a/spec/Connection_Future.xml b/spec/Connection_Interface_Sidecars1.xml
index 6b5291e..c303fcb 100644
--- a/spec/Connection_Future.xml
+++ b/spec/Connection_Interface_Sidecars1.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" ?>
-<node name="/Connection_FUTURE"
+<node name="/Connection_Interface_Sidecars1"
xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"
>
- <tp:copyright>Copyright © 2009 Collabora Limited</tp:copyright>
+ <tp:copyright>Copyright © 2009-2013 Collabora Limited</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
@@ -20,12 +20,12 @@ 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="org.freedesktop.Telepathy.Connection.FUTURE"
- tp:causes-havoc='experimental'>
+ <interface name="org.freedesktop.Telepathy.Connection.Interface.Sidecars1">
<tp:requires interface="org.freedesktop.Telepathy.Connection"/>
+ <tp:added version="0.27.3"/>
<method name="EnsureSidecar" tp:name-for-bindings="Ensure_Sidecar">
- <tp:added version="0.19.0">(as a draft)</tp:added>
+ <tp:added version="0.27.3">(as stable API)</tp:added>
<arg direction="in" name="Main_Interface" type="s"
tp:type="DBus_Interface">
diff --git a/spec/Connection_Manager.xml b/spec/Connection_Manager.xml
index 9782db5..ada5057 100644
--- a/spec/Connection_Manager.xml
+++ b/spec/Connection_Manager.xml
@@ -234,7 +234,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
</tp:mapping>
<property name="Protocols" tp:name-for-bindings="Protocols"
- access="read" type="a{sa{sv}}" tp:type="Protocol_Properties_Map">
+ access="read" type="a{sa{sv}}" tp:type="Protocol_Properties_Map"
+ tp:immutable="yes">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>A map from protocol identifiers supported by this connection
manager to the immutable properties of the corresponding
diff --git a/spec/Protocol_Interface_Presence.xml b/spec/Protocol_Interface_Presence.xml
index ddff332..447d2ce 100644
--- a/spec/Protocol_Interface_Presence.xml
+++ b/spec/Protocol_Interface_Presence.xml
@@ -96,7 +96,8 @@ status-chat=2 settable message
<property name="Statuses"
tp:name-for-bindings="Statuses"
- type="a{s(ubb)}" tp:type="Simple_Status_Spec_Map" access="read">
+ type="a{s(ubb)}" tp:type="Simple_Status_Spec_Map" access="read"
+ tp:immutable="yes">
<tp:docstring>
<p>The statuses that might appear in the <tp:dbus-ref
namespace="org.freedesktop.Telepathy"
diff --git a/spec/all.xml b/spec/all.xml
index 9e99d70..e94eb06 100644
--- a/spec/all.xml
+++ b/spec/all.xml
@@ -3,7 +3,7 @@
xmlns:xi="http://www.w3.org/2001/XInclude">
<tp:title>Telepathy D-Bus Interface Specification</tp:title>
-<tp:version>0.25.2</tp:version>
+<tp:version>0.27.3</tp:version>
<tp:copyright>Copyright © 2005-2012 Collabora Limited</tp:copyright>
<tp:copyright>Copyright © 2005-2011 Nokia Corporation</tp:copyright>
@@ -48,7 +48,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
</p>
</tp:docstring>
<xi:include href="Connection.xml"/>
- <xi:include href="Connection_Future.xml"/>
<xi:include href="Connection_Interface_Contacts.xml"/>
<xi:include href="Connection_Interface_Requests.xml"/>
@@ -108,6 +107,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
<xi:include href="Connection_Interface_Mail_Notification.xml"/>
<xi:include href="Connection_Interface_Power_Saving.xml"/>
<xi:include href="Connection_Interface_Service_Point.xml"/>
+ <xi:include href="Connection_Interface_Sidecars1.xml"/>
+ <xi:include href="Connection_Interface_IRC_Command1.xml"/>
</tp:section>
</tp:section>
@@ -149,7 +150,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
<xi:include href="Channel_Type_Tubes.xml"/>
</tp:section>
- <tp:section name="Channel Interfaces">
+ <tp:section name="Channel interfaces">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>
A Channel may also implement one or more of the following interfaces,
@@ -240,9 +241,22 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
<tp:section name="Calls">
<xi:include href="Call_Content.xml"/>
- <xi:include href="Call_Content_Interface_Media.xml"/>
- <xi:include href="Call_Interface_Mute.xml"/>
<xi:include href="Call_Content_Interface_DTMF.xml"/>
+ <xi:include href="Call_Stream.xml"/>
+ <xi:include href="Call_Interface_Mute.xml"/>
+ </tp:section>
+
+ <tp:section name="Call media interfaces">
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>
+ These interfaces are used when a <tp:dbus-ref
+ namespace='ofdT.Channel.Type'>Call1</tp:dbus-ref> channel
+ doesn't have <tp:dbus-ref
+ namespace="ofdT.Channel.Type.Call1">HardwareStreaming</tp:dbus-ref> to
+ implement the media streaming aspects of a call.
+ </p>
+ </tp:docstring>
+ <xi:include href="Call_Content_Interface_Media.xml"/>
<xi:include href="Call_Content_Interface_Video_Control.xml"/>
<xi:include href="Call_Content_Interface_Audio_Control.xml"/>
<xi:include href="Call_Content_Media_Description.xml"/>
@@ -250,7 +264,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
<xi:include href="Call_Content_Media_Description_Interface_RTCP_Feedback.xml"/>
<xi:include
href="Call_Content_Media_Description_Interface_RTCP_Extended_Reports.xml"/>
- <xi:include href="Call_Stream.xml"/>
<xi:include href="Call_Stream_Interface_Media.xml"/>
<xi:include href="Call_Stream_Endpoint.xml"/>
</tp:section>
@@ -288,6 +301,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
</p>
</tp:docstring>
<xi:include href="Channel_Dispatcher.xml"/>
+ <xi:include href="Channel_Dispatcher_Interface_Messages1.xml"/>
<xi:include href="Channel_Dispatcher_Interface_Operation_List.xml"/>
<xi:include href="Channel_Dispatch_Operation.xml"/>
<xi:include href="Channel_Request.xml"/>
diff --git a/spec/errors.xml b/spec/errors.xml
index bd3be02..d802152 100644
--- a/spec/errors.xml
+++ b/spec/errors.xml
@@ -16,11 +16,11 @@
indicate specialized failure conditions. For better interoperability,
if a suitable Telepathy error exists, it should be preferred.</p>
- <p>The namespace <code>org.freedesktop.Telepathy.Qt.Error.</code>
- is reserved for use by the D-Bus client implementation in telepathy-qt,
+ <p>The namespace <code>org.freedesktop.Telepathy.Qt4.Error.</code>
+ is reserved for use by the D-Bus client implementation in telepathy-qt4,
which uses it to represent certain error situations that did not involve
a D-Bus ERROR message. These errors are defined and documented as part of
- telepathy-qt's C++ API, and should not be used on D-Bus.</p>
+ telepathy-qt4's C++ API, and should not be used on D-Bus.</p>
</tp:docstring>
<tp:error name="Network Error">
@@ -578,7 +578,7 @@
also analogous to
<tp:value-ref type="Media_Stream_Error">Invalid_CM_Behavior</tp:value-ref>,
<code>TP_DBUS_ERROR_INCONSISTENT</code> in telepathy-glib, and
- <code>TP_QT_ERROR_INCONSISTENT</code> in telepathy-qt.
+ <code>TELEPATHY_QT4_ERROR_INCONSISTENT</code> in telepathy-qt4.
</tp:rationale>
</tp:docstring>
</tp:error>
diff --git a/tests/dbus/contact-messenger.cpp b/tests/dbus/contact-messenger.cpp
index 4932000..93ba023 100644
--- a/tests/dbus/contact-messenger.cpp
+++ b/tests/dbus/contact-messenger.cpp
@@ -44,9 +44,9 @@ class TestContactMessenger;
class CDMessagesAdaptor : public QDBusAbstractAdaptor
{
Q_OBJECT
- Q_CLASSINFO("D-Bus Interface", "org.freedesktop.Telepathy.ChannelDispatcher.Interface.Messages.DRAFT")
+ Q_CLASSINFO("D-Bus Interface", "org.freedesktop.Telepathy.ChannelDispatcher.Interface.Messages1")
Q_CLASSINFO("D-Bus Introspection", ""
-" <interface name=\"org.freedesktop.Telepathy.ChannelDispatcher.Interface.Messages.DRAFT\" >\n"
+" <interface name=\"org.freedesktop.Telepathy.ChannelDispatcher.Interface.Messages1\" >\n"
" <method name=\"SendMessage\" >\n"
" <arg name=\"Account\" type=\"o\" direction=\"in\" />\n"
" <arg name=\"TargetID\" type=\"s\" direction=\"in\" />\n"
diff --git a/tests/lib/glib/future/extensions/misc.xml b/tests/lib/glib/future/extensions/misc.xml
index 061b4d4..91abcfb 100644
--- a/tests/lib/glib/future/extensions/misc.xml
+++ b/tests/lib/glib/future/extensions/misc.xml
@@ -5,7 +5,6 @@
<tp:title>Miscellaneous extensions from the future</tp:title>
<xi:include href="../../../../../spec/Call_Content.xml"/>
-<xi:include href="../../../../../spec/Call_Content_Codec_Offer.xml"/>
<xi:include href="../../../../../spec/Call_Content_Interface_Media.xml"/>
<xi:include href="../../../../../spec/Call_Stream_Endpoint.xml"/>
<xi:include href="../../../../../spec/Call_Stream_Interface_Media.xml"/>
diff --git a/tools/manager-file.py b/tools/manager-file.py
index 45f6404..d873014 100644
--- a/tools/manager-file.py
+++ b/tools/manager-file.py
@@ -25,6 +25,7 @@
import re
import sys
+import os
_NOT_C_STR = re.compile(r'[^A-Za-z0-9_-]')