diff options
Diffstat (limited to 'qt4/spec/Properties_Interface.xml')
-rw-r--r-- | qt4/spec/Properties_Interface.xml | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/qt4/spec/Properties_Interface.xml b/qt4/spec/Properties_Interface.xml new file mode 100644 index 000000000..bc9c8b260 --- /dev/null +++ b/qt4/spec/Properties_Interface.xml @@ -0,0 +1,194 @@ +<?xml version="1.0" ?> +<node name="/Properties_Interface" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + <tp:copyright> Copyright (C) 2005-2007 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"> + <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.Properties"> + + <tp:struct name="Property_Spec" array-name="Property_Spec_List"> + <tp:docstring>A struct (property ID, property name, D-Bus signature, + flags) representing a property, as returned by ListProperties on the + Properties interface.</tp:docstring> + <tp:member type="u" name="Property_ID"/> + <tp:member type="s" name="Name"/> + <tp:member type="s" tp:type="DBus_Signature" name="Signature"/> + <tp:member type="u" tp:type="Property_Flags" name="Flags"/> + </tp:struct> + + <tp:struct name="Property_Flags_Change" + array-name="Property_Flags_Change_List"> + <tp:docstring>A struct (property ID, flags) representing a change to + a property's flags, as seen in the PropertyFlagsChanged signal on + the Properties interface.</tp:docstring> + <tp:member type="u" name="Property_ID"/> + <tp:member type="u" name="New_Flags"/> + </tp:struct> + + <tp:simple-type name="Property_ID" type="u" array-name="Property_ID_List"> + <tp:docstring> + An unsigned integer used to represent a Telepathy property. + </tp:docstring> + </tp:simple-type> + + <tp:struct name="Property_Value" array-name="Property_Value_List"> + <tp:docstring>A struct (property ID, value) representing a + property's value, as seen in the PropertiesChanged signal on + the Properties interface, returned by the GetProperties method + and passed to the SetProperties method.</tp:docstring> + <tp:member type="u" tp:type="Property_ID" name="Identifier"/> + <tp:member type="v" name="Value"/> + </tp:struct> + + <method name="GetProperties" tp:name-for-bindings="Get_Properties"> + <tp:docstring> + Returns an array of (identifier, value) pairs containing the current + values of the given properties. + </tp:docstring> + <arg direction="in" name="Properties" type="au" tp:type="Property_ID[]"> + <tp:docstring>An array of property identifiers</tp:docstring> + </arg> + <arg direction="out" type="a(uv)" tp:type="Property_Value[]" + name="Values"> + <!-- XXX: if we're ever breaking API compatibility, make this a{uv} --> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>An array of structs containing:</p> + <ul> + <li>integer identifiers</li> + <li>variant boxed values</li> + </ul> + </tp:docstring> + </arg> + <tp:possible-errors> + <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/> + <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument"> + <tp:docstring> + Some property identifier requested is invalid + </tp:docstring> + </tp:error> + <tp:error name="org.freedesktop.Telepathy.Error.PermissionDenied"> + <tp:docstring> + Some property requested does not have the PROPERTY_FLAG_READ flag + </tp:docstring> + </tp:error> + </tp:possible-errors> + </method> + <method name="ListProperties" tp:name-for-bindings="List_Properties"> + <tp:docstring> + Returns a dictionary of the properties available on this channel. + </tp:docstring> + <arg direction="out" type="a(ussu)" tp:type="Property_Spec[]" + name="Available_Properties"> + <!-- XXX: if we're ever breaking API compatibility, make this + a{u(ssu)} ? --> + <tp:docstring> + An array of structs containing: + <ul> + <li>an integer identifier</li> + <li>a string property name</li> + <li>a string representing the D-Bus signature of this property</li> + <li>a bitwise OR of the flags applicable to this property</li> + </ul> + </tp:docstring> + </arg> + </method> + <signal name="PropertiesChanged" tp:name-for-bindings="Properties_Changed"> + <tp:docstring> + Emitted when the value of readable properties has changed. + </tp:docstring> + <arg name="Properties" type="a(uv)" tp:type="Property_Value[]"> + <!-- XXX: if we're ever breaking API compatibility, make this a{uv} --> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>An array of structs containing:</p> + <ul> + <li>integer identifiers</li> + <li>variant boxed values</li> + </ul> + <p>The array should contain only properties whose values have + actually changed.</p> + </tp:docstring> + </arg> + </signal> + <signal name="PropertyFlagsChanged" + tp:name-for-bindings="Property_Flags_Changed"> + <tp:docstring> + Emitted when the flags of some room properties have changed. + </tp:docstring> + <arg name="Properties" type="a(uu)" tp:type="Property_Flags_Change[]"> + <!-- XXX: if we're ever breaking API compatibility, make this a{uu} --> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>An array of structs containing:</p> + <ul> + <li>integer identifiers</li> + <li>a bitwise OR of the current flags</li> + </ul> + <p>The array should contain only properties whose flags have actually + changed.</p> + </tp:docstring> + </arg> + </signal> + <method name="SetProperties" tp:name-for-bindings="Set_Properties"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>Takes an array of (identifier, value) pairs containing desired + values to set the given properties. In the case of any errors, no + properties will be changed. When the changes have been acknowledged + by the server, the PropertiesChanged signal will be emitted.</p> + + <p>All properties given must have the PROPERTY_FLAG_WRITE flag, or + PermissionDenied will be returned. If any variants are of the wrong + type, NotAvailable will be returned. If any given property identifiers + are invalid, InvalidArgument will be returned.</p> + </tp:docstring> + + <arg direction="in" name="Properties" type="a(uv)" + tp:type="Property_Value[]"> + <!-- XXX: if we're ever breaking API compatibility, make this a{uv} --> + <tp:docstring> + An array mapping integer property identifiers to boxed values + </tp:docstring> + </arg> + <tp:possible-errors> + <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/> + <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument"/> + <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable"/> + <tp:error name="org.freedesktop.Telepathy.Error.PermissionDenied"/> + <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/> + </tp:possible-errors> + </method> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>Interface for channels and other objects, to allow querying and setting + properties. ListProperties returns which properties are valid for + the given channel, including their type, and an integer handle used to + refer to them in GetProperties, SetProperties, and the PropertiesChanged + signal. The values are represented by D-Bus variant types, and are + accompanied by flags indicating whether or not the property is readable or + writable.</p> + + <p>Each property also has a flags value to indicate what methods are + available. This is a bitwise OR of PropertyFlags values.</p> + </tp:docstring> + <tp:flags name="Property_Flags" value-prefix="Property_Flag" type="u"> + <tp:flag suffix="Read" value="1"> + <tp:docstring>The property can be read</tp:docstring> + </tp:flag> + <tp:flag suffix="Write" value="2"> + <tp:docstring>The property can be written</tp:docstring> + </tp:flag> + </tp:flags> + </interface> +</node> +<!-- vim:set sw=2 sts=2 et ft=xml: --> |