<?xml version="1.0" ?> <node name="/Debug" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> <tp:copyright>Copyright (C) 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.Debug"> <tp:added version="0.17.27">(as stable API)</tp:added> <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>An interface for providing debug messages.</p> <p>This interface is primarily provided by one object per service, at the path <tt>/org/freedesktop/Telepathy/debug</tt>.</p> </tp:docstring> <property name="Enabled" type="b" access="readwrite" tp:name-for-bindings="Enabled"> <tp:docstring> TRUE if the <tp:member-ref>NewDebugMessage</tp:member-ref> signal should be emitted when a new debug message is generated. </tp:docstring> </property> <method name="GetMessages" tp:name-for-bindings="Get_Messages"> <tp:docstring> Retrieve buffered debug messages. An implementation could have a limit on how many message it keeps and so the array returned from this method should not be assumed to be all of the messages in the lifetime of the service. </tp:docstring> <arg direction="out" name="Messages" type="a(dsus)" tp:type="Debug_Message[]"> <tp:docstring> A list of debug messages. </tp:docstring> </arg> </method> <signal name="NewDebugMessage" tp:name-for-bindings="New_Debug_Message"> <tp:docstring> Emitted when a debug messages is generated if the <tp:member-ref>Enabled</tp:member-ref> property is set to TRUE. </tp:docstring> <arg name="time" type="d"> <tp:docstring> Timestamp of the debug message. </tp:docstring> </arg> <arg name="domain" type="s"> <tp:docstring> Domain of the debug message, as described in the Debug_Message struct. </tp:docstring> </arg> <arg name="level" type="u" tp:type="Debug_Level"> <tp:docstring> Level of the debug message. </tp:docstring> </arg> <arg name="message" type="s"> <tp:docstring> The text of the debug message. </tp:docstring> </arg> </signal> <tp:enum name="Debug_Level" type="u"> <tp:enumvalue suffix="Error" value="0"> <tp:docstring> Log level for errors. Error messages are always fatal, resulting in the service terminating after something completely unexpected occurred. </tp:docstring> </tp:enumvalue> <tp:enumvalue suffix="Critical" value="1"> <tp:docstring> Log level for critical messages. Critical messages are messages that the service might predict and it is up to the service itself to decide whether to terminate following a critical message. </tp:docstring> </tp:enumvalue> <tp:enumvalue suffix="Warning" value="2"> <tp:docstring> Log level for warnings. </tp:docstring> </tp:enumvalue> <tp:enumvalue suffix="Message" value="3"> <tp:docstring> Log level for messages. </tp:docstring> </tp:enumvalue> <tp:enumvalue suffix="Info" value="4"> <tp:docstring> Log level for information messages. </tp:docstring> </tp:enumvalue> <tp:enumvalue suffix="Debug" value="5"> <tp:docstring> Log level for debug messages. </tp:docstring> </tp:enumvalue> </tp:enum> <tp:struct name="Debug_Message" array-name="Debug_Message_List"> <tp:docstring> A struct representing a debug message, as returned by <tp:member-ref>GetMessages</tp:member-ref>. </tp:docstring> <tp:member type="d" name="Timestamp"> <tp:docstring> Timestamp of the debug message. This is a double to allow more accuracy in the time the message was logged. </tp:docstring> </tp:member> <tp:member type="s" name="Domain"> <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Domain of the debug message. This is used to identify the source of debug messages. For example, debug messages from a connection manager could have this Domain struct member be the name of the connection manager, and logs from any helper library could have the name of the helper library.</p> <p>The domain could also contain a category as to where the log message originated separated by a forward-slash. For example, if a debug message was output in a connection manager called "dummy", in the file-transfer code, this Domain struct member might be <tt>dummy/file-transfer</tt>.</p> </tp:docstring> </tp:member> <tp:member type="u" tp:type="Debug_Level" name="Level"> <tp:docstring> Level of the debug message. This states the severity of the debug message. </tp:docstring> </tp:member> <tp:member type="s" name="Message"> <tp:docstring> The text of the debug message. </tp:docstring> </tp:member> </tp:struct> </interface> </node> <!-- vim:set sw=2 sts=2 et ft=xml: -->