summaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
authorTravis Reitter <treitter@gmail.com>2010-03-05 18:58:17 -0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-03-15 09:28:40 +0100
commitc66e6c536d776414f6bfada650dc25d97dc95803 (patch)
tree9604690224776a95843126ef1c9deb348a53ea70 /extensions
parent79ef79c4d92cc4978dd12528d5bb6c3673a6b0f9 (diff)
Rebase the favourites support upon the telepathy-logger instead of a specially-named favourites group.
Diffstat (limited to 'extensions')
-rw-r--r--extensions/Logger.xml179
-rw-r--r--extensions/Makefile.am6
-rw-r--r--extensions/all.xml2
-rw-r--r--extensions/misc.xml1
4 files changed, 186 insertions, 2 deletions
diff --git a/extensions/Logger.xml b/extensions/Logger.xml
new file mode 100644
index 000000000..a3778296d
--- /dev/null
+++ b/extensions/Logger.xml
@@ -0,0 +1,179 @@
+<?xml version="1.0" ?>
+<node name="/Logger"
+ xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+ <tp:copyright>Copyright © 2009 Collabora Ltd.</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.Logger.DRAFT"
+ tp:causes-havoc="experimental">
+ <tp:added version="0.1">(as a draft)</tp:added>
+
+ <tp:docstring>
+ An interface for requesting information from the Telepathy Logger
+ service.
+ </tp:docstring>
+
+ <tp:struct name="Chat_Message" array-name="Chat_Message_List">
+ <tp:member type="s" name="Sender">
+ <tp:docstring>
+ The identifier of the contact who originated this message.
+ </tp:docstring>
+ </tp:member>
+
+ <tp:member type="s" name="Message">
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ The body of the message sent to a 1-1 Chat or a Chat Room.
+ </tp:docstring>
+ </tp:member>
+
+ <tp:member type="x" name="Timestamp" tp:type="Unix_Timestamp64">
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ Unix timestamp for the log entry
+ </tp:docstring>
+ </tp:member>
+
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>It represents a single message, received or sent.</p>
+ <p>The receiver is implicit in the request: if the sender is the user,
+ the receiver is the identifier in chat_id paramenter, if the sender is
+ not the user, the user is consequently the receiver of the message</p>
+ </tp:docstring>
+ </tp:struct>
+
+ <method name="GetRecentMessages"
+ tp:name-for-bindings="Get_Recent_Messages">
+ <arg direction="in" name="Account" type="o" tp:type="Account">
+ <tp:docstring>
+ The account path for the TpAccount to which the conversation is related
+ </tp:docstring>
+ </arg>
+
+ <arg direction="in" name="Identifier" type="s">
+ <tp:docstring>
+ The buddy's identifier for the conversation
+ </tp:docstring>
+ </arg>
+
+ <arg direction="in" name="Is_Chatroom" type="b">
+ <tp:docstring>
+ Whether the conversation is a chatroom (i.e., XMPP MUC) or not
+ </tp:docstring>
+ </arg>
+
+ <arg direction="in" name="Lines" type="u">
+ <tp:docstring>
+ how many entries will be returned.
+
+ NOTE: to retreive information that would generate high traffic, use
+ the library API approach instead of DBus.
+ </tp:docstring>
+ </arg>
+
+ <arg direction="out" name="Messages" type="a(ssx)"
+ tp:type="Chat_Message[]" />
+
+ <tp:docstring>
+ Request the last Lines entries of logs for the specified couple
+ Account+Identifier.
+ </tp:docstring>
+ </method>
+
+ <method name="GetFavouriteContacts"
+ tp:name-for-bindings="Get_Favourite_Contacts">
+ <arg direction="out" name="Favourite_Contacts" type="a(oas)">
+ <tp:docstring>
+ The favourite contacts, as an array of TpAccounts and their contact
+ identifiers.
+ </tp:docstring>
+ </arg>
+
+ <tp:docstring>
+ Returns the favourite contacts.
+ </tp:docstring>
+ </method>
+
+ <method name="AddFavouriteContact"
+ tp:name-for-bindings="Add_Favourite_Contact">
+ <arg direction="in" name="Account" type="o" tp:type="Account">
+ <tp:docstring>
+ The object path for the TpAccount to which the contact belongs
+ </tp:docstring>
+ </arg>
+
+ <arg direction="in" name="Identifier" type="s">
+ <tp:docstring>
+ The favourite contact's identifier
+ </tp:docstring>
+ </arg>
+
+ <tp:docstring>
+ Add a contact's designation as a favourite. This method may not be
+ called until the service is ready. See the <tp:dbus-ref
+ namespace="org.freedesktop.Telepathy.Logger.DRAFT">FavouriteContactsReady</tp:dbus-ref> signal and <tp:dbus-ref
+ namespace="org.freedesktop.Telepathy.Logger.DRAFT">FavouriteContactsIsReady</tp:dbus-ref> property.
+ </tp:docstring>
+ </method>
+
+ <method name="RemoveFavouriteContact"
+ tp:name-for-bindings="Remove_Favourite_Contact">
+ <arg direction="in" name="Account" type="o" tp:type="Account">
+ <tp:docstring>
+ The object path for the TpAccount to which the contact belongs
+ </tp:docstring>
+ </arg>
+
+ <arg direction="in" name="Identifier" type="s">
+ <tp:docstring>
+ The favourite contact's identifier
+ </tp:docstring>
+ </arg>
+
+ <tp:docstring>
+ Remove a contact's designation as a favourite. This method may not be
+ called until the service is ready. See the <tp:dbus-ref
+ namespace="org.freedesktop.Telepathy.Logger.DRAFT">FavouriteContactsReady</tp:dbus-ref> signal and <tp:dbus-ref
+ namespace="org.freedesktop.Telepathy.Logger.DRAFT">FavouriteContactsIsReady</tp:dbus-ref> property.
+ </tp:docstring>
+ </method>
+
+ <signal name="FavouriteContactsChanged"
+ tp:name-for-bindings="Favourite_Contacts_Changed">
+ <tp:docstring>
+ The set of favourite contacts has changed.
+ </tp:docstring>
+
+ <arg name="Account" type="o" tp:type="Account">
+ <tp:docstring>
+ An account associated with the contact.
+ </tp:docstring>
+ </arg>
+
+ <arg name="Added" type="as">
+ <tp:docstring>
+ List of contact identifiers of contacts which are now favourites.
+ </tp:docstring>
+ </arg>
+
+ <arg name="Removed" type="as">
+ <tp:docstring>
+ List of contact identifiers of contacts which are no longer favourites.
+ </tp:docstring>
+ </arg>
+ </signal>
+
+ </interface>
+</node>
+<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/extensions/Makefile.am b/extensions/Makefile.am
index fc77796e4..8ea05ae6b 100644
--- a/extensions/Makefile.am
+++ b/extensions/Makefile.am
@@ -13,7 +13,9 @@ EXTRA_DIST = \
generic-types.xml \
misc.xml \
Debug.xml \
- Channel_Interface_Conference.xml
+ Channel_Interface_Conference.xml \
+ Logger.xml \
+ $(NULL)
noinst_LTLIBRARIES = libemp-extensions.la
@@ -114,7 +116,7 @@ _gen/cli-misc-body.h _gen/cli-misc.h: _gen/misc.xml \
--subclass=TpProxy \
--subclass-assert=TP_IS_PROXY \
--iface-quark-prefix=EMP_IFACE_QUARK \
- --tp-proxy-api=0.7.6 \
+ --tp-proxy-api=0.10.0 \
$< Emp_Cli _gen/cli-misc
_gen/svc-misc.c _gen/svc-misc.h: _gen/misc.xml \
diff --git a/extensions/all.xml b/extensions/all.xml
index 1def2fbde..d0b9173c0 100644
--- a/extensions/all.xml
+++ b/extensions/all.xml
@@ -14,6 +14,8 @@
from="Telepathy specification"/>
<tp:external-type name="Handle" type="u"
from="Telepathy specification"/>
+ <tp:external-type name="Account" type="o"
+ from="Telepathy specification"/>
</tp:generic-types>
diff --git a/extensions/misc.xml b/extensions/misc.xml
index f866663c0..6fe06d8ab 100644
--- a/extensions/misc.xml
+++ b/extensions/misc.xml
@@ -6,5 +6,6 @@
<xi:include href="Debug.xml" />
<xi:include href="Channel_Interface_Conference.xml" />
+<xi:include href="Logger.xml" />
</tp:spec>