diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | INSTALL | 236 | ||||
-rw-r--r-- | Makefile.am | 2 | ||||
-rwxr-xr-x | autogen.sh | 5 | ||||
-rw-r--r-- | configure.ac | 8 | ||||
-rw-r--r-- | doc/Makefile.am | 10 | ||||
-rw-r--r-- | doc/mc-dbus-iface.html | 296 | ||||
-rw-r--r-- | libmissioncontrol/Makefile.am | 2 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | tools/Makefile.am | 4 | ||||
-rw-r--r-- | tools/doc-generator.xsl | 410 | ||||
-rw-r--r-- | tools/spec-to-introspect.xsl | 26 | ||||
-rw-r--r-- | xml/Makefile.am | 22 | ||||
-rw-r--r-- | xml/MissionControl.xml | 297 | ||||
-rw-r--r-- | xml/mcd-dbus-services.xml | 106 |
15 files changed, 1039 insertions, 398 deletions
@@ -1,3 +1,14 @@ +2007-03-21 Alberto Mardegan <alberto.mardegan@nokia.com> + + * Makefile.am, configure.ac, doc/Makefile.am, + libmissioncontrol/Makefile.am, src/Makefile.am, tools/*, xml/*: + Build MissionControl D-Bus interface documentation from the embedded + docstrings found in D-Bus service XML file. + +2007-03-21 Naba Kumar <naba.kumar@nokia.com> + + * autogen.sh: Added autogen script + 2007-03-16 Alberto Mardegan <alberto.mardegan@nokia.com> * libmissioncontrol/mc-profile.c: @@ -0,0 +1,236 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free +Software Foundation, Inc. + +This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + +These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + +Some systems require unusual options for compilation or linking that the +`configure' script does not know about. Run `./configure --help' for +details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + +You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Installation Names +================== + +By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + +Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + +There may be some features `configure' cannot figure out automatically, +but needs to determine by the type of machine the package will run on. +Usually, assuming the package is built to be run on the _same_ +architectures, `configure' can figure that out, but if it prints a +message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + +If you want to set default values for `configure' scripts to share, you +can create a site shell script called `config.site' that gives default +values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + +Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). Here is a another example: + + /bin/bash ./configure CONFIG_SHELL=/bin/bash + +Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent +configuration-related scripts to be executed by `/bin/bash'. + +`configure' Invocation +====================== + +`configure' recognizes the following options to control how it operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + diff --git a/Makefile.am b/Makefile.am index 3620667f..7fe10058 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = libmissioncontrol src xml doc server test +SUBDIRS = xml libmissioncontrol src doc server test pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libmissioncontrol.pc mission-control.pc diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 00000000..702a9150 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,5 @@ +#!/bin/sh +echo 'Running gtkdocize'; gtkdocize +echo 'Running autoreconf -i --force'; autoreconf -i --force +echo "Running ./configure --enable-maintainer-mode $*"; ./configure --enable-maintainer-mode $* + diff --git a/configure.ac b/configure.ac index fa12c6c2..1d05298f 100644 --- a/configure.ac +++ b/configure.ac @@ -25,6 +25,13 @@ done]) EXPAND_VARIABLE(datadir,datadir_expanded) +XSLTPROC= +AC_CHECK_PROGS([XSLTPROC], [xsltproc]) +if test -z "$XSLTPROC"; then + AC_MSG_ERROR([xsltproc (from the libxslt source package) is required]) +fi + + AC_ARG_ENABLE(cast-checks, [ --disable-cast-checks compile with GLIB cast checks disabled],[cchecks=${enableval}],cchecks=yes) if test "x$cchecks" = "xno"; then CFLAGS="$CFLAGS -DG_DISABLE_CAST_CHECKS" @@ -137,6 +144,7 @@ src/Makefile \ xml/Makefile \ doc/Makefile \ test/Makefile \ +tools/Makefile \ doc/reference/Makefile \ doc/reference/libmissioncontrol/Makefile \ doc/reference/libmissioncontrol-server/Makefile \ diff --git a/doc/Makefile.am b/doc/Makefile.am index dc5adb0f..8e4f0de6 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,2 +1,12 @@ SUBDIRS = reference +SPECS = $(top_builddir)/xml/mcd-dbus-services.xml +SPECS_DOC = mc-dbus-iface.html + +all-local: $(SPECS_DOC) + +$(SPECS_DOC): $(SPECS) $(top_builddir)/xml/MissionControl.xml $(top_srcdir)/tools/doc-generator.xsl + $(XSLTPROC) --xinclude --novalid $(top_srcdir)/tools/doc-generator.xsl $< > $@ + +clean-local: + rm -f $(SPECS_DOC) diff --git a/doc/mc-dbus-iface.html b/doc/mc-dbus-iface.html deleted file mode 100644 index 45f84e6e..00000000 --- a/doc/mc-dbus-iface.html +++ /dev/null @@ -1,296 +0,0 @@ -<html> -<head> -<title>MissionControl</title> -<style type="text/css"> -.interface:before { - content: "Interface "; -} -.interface { - margin-top: 1em; - margin-bottom: 1em; - padding-left: 1em; - font-size: 1.6em; - background: #ccf; -} -.methods:before { - content: "Methods"; - font-size: 1.5em; - margin-top: 1em; - margin-bottom: 1em; - padding-left: 1em; - background: #ccf; - display: block; -} -.signals:before { - content: "Signals"; - font-size: 1.5em; - margin-top: 1em; - margin-bottom: 1em; - padding-left: 1em; - background: #ccf; - display: block; -} -.method H3, .signal H3 { - margin-top: 1em; - margin-bottom: 1em; - padding-left: 1em; - font-size: 1.3em; - background: #ccf; -} -.parameters:before { - content: "Parameters:"; - display: block; - padding-bottom: 0.5em; -} -.parameters, .return { - padding: 1em; -} -.return:before { - content: "Return value(s):"; - display: block; - padding-bottom: 0.5em; -} -.enum { - display: block; - font-family: monospace; - padding-left: 1cm; -} -.enum P { - padding: 0; - margin: 0; - padding-left: 1em; - font-family: serif; -} -</style> -</head> -<body> -<h1>Mission Control specifications</h1> -<div class="interface">com.nokia.chavo.mission_control</div> -<p>This is the DBus interface used by mission-control. - -<div class="methods"> - -<div class="method"> -<h3>SetPresence ( i: presence, s: message ) -> None </h3> -<p>Request a presence -<div class="parameters"> -presence - any of the following values: -<div class="enum"> -0 - MC_PRESENCE_UNSET<br> -1 - MC_PRESENCE_OFFLINE<br> -2 - MC_PRESENCE_AVAILABLE<br> -3 - MC_PRESENCE_AWAY<br> -4 - MC_PRESENCE_EXTENDED_AWAY<br> -5 - MC_PRESENCE_HIDDEN<br> -6 - MC_PRESENCE_DO_NOT_DISTURB<br> -</div> -message - NULL or a message string to specify along with the presence (typically with away presence). -</div> -</div> - -<div class="method"> -<h3>GetPresence ( ) -> i </h3> -<p>Get the last requested presence. -</div> - -<div class="method"> -<h3>GetPresenceActual ( ) -> i </h3> -<p>Get the current presence (which could be different from the last requested presence). -</div> - -<div class="method"> -<h3>RequestChannel ( s: account_name, s: type, u: handle, i: handle_type ) -> None </h3> -<p>Request a channel for a given numeric handle.</p> -<div class="parameters"> -account_name - the name of the account requesting the channel<br> -type - a D-Bus interface name representing base channel type<br> -handle - an integer handle representing a contact, room or list<br> -handle_type - an integer representing the handle type<br> -</div> -</div> - -<div class="method"> -<h3>RequestChannelWithStringHandle ( s: account_name, s: type, s: handle, i: handle_type ) -> None </h3> -<p>Request a channel for a given string handle.</p> -<div class="parameters"> -account_name - the name of the account requesting the channel<br> -type - a D-Bus interface name representing base channel type<br> -handle - a string representing a contact, room or list<br> -handle_type - an integer representing the handle type<br> -</div> -</div> - -<div class="method"> -<h3>CancelChannelRequest ( u: operation_id ) -> None </h3> -<p>Cancel a channel request; if the channel has already been created, it will be destroyed.</p> -<div class="parameters"> -operation_id - the unique id of the channel request operation. (<em>this is the <code>serial</code> parameter of the RequestChannelWithStringHandle call — specs are going to change soon, though</em>)<br> -</div> -</div> - -<div class="method"> -<h3>ConnectAllWithDefaultPresence ( ) -> None </h3> -<p>Connect all accounts with the default online presence. -</div> - -<div class="method"> -<h3>GetConnectionStatus ( s: account_name ) -> u </h3> -<p>Get the connection status for the specified account.</p> -<div class="parameters"> -account_name - the account to retrieve the status from<br> -</div> -<div class="return"> -A unsigned integer as defined in Telepathy: -<div class="enum"> -0 - CONNECTION_STATUS_CONNECTED<br> -1 - CONNECTION_STATUS_CONNECTING<br> -2 - CONNECTION_STATUS_DISCONNECTED<br> -</div> -</div> -</div> - -<div class="method"> -<h3>GetOnlineConnections ( ) -> as </h3> -<p>Get the online connections.</p> -<div class="return"> -An array of the names of the online accounts. -</div> -</div> - -<div class="method"> -<h3>GetConnection ( s: account_name ) -> s, o </h3> -<p>Get the connection status for the specified account.</p> -<div class="parameters"> -account_name - the account to retrieve the connection from<br> -</div> -<div class="return"> -s: the connection bus name<br> -o: the connection object path -</div> -</div> - -<div class="method"> -<h3>GetAccountForConnection ( s: object_path ) -> s </h3> -<p>Get the connection's account.</p> -<div class="parameters"> -object_path - the connection's object path<br> -</div> -<div class="return"> -s: the account name<br> -</div> -</div> - -<div class="method"> -<h3>GetUsedChannelsCount ( s: type ) -> u </h3> -<p>Get the number of channels of the specified type.</p> -<div class="parameters"> -type - the channel type<br> -</div> -<div class="return"> -u: the number of existing channels of this type<br> -</div> -</div> - -</div> - -<div class="signals"> - -<div class="signal"> -<h3>AccountStatusChanged ( u: status, u: presence, u: reason, s: account_id )</h3> -<p>Emitted when the status of some account changes. -<div class="parameters"> -status - the connection status of the account<br> -presence - the presence status of the account</br> -reason - the reason why the status change happened. Can be any of the following: -<div class="enum"> -0 - TP_CONN_STATUS_REASON_NONE_SPECIFIED<br> -1 - TP_CONN_STATUS_REASON_REQUESTED<br> -2 - TP_CONN_STATUS_REASON_NETWORK_ERROR<br> -3 - TP_CONN_STATUS_REASON_AUTHENTICATION_FAILED<br> -4 - TP_CONN_STATUS_REASON_ENCRYPTION_ERROR<br> -5 - TP_CONN_STATUS_REASON_NAME_IN_USE<br> -6 - TP_CONN_STATUS_REASON_CERT_NOT_PROVIDED<br> -7 - TP_CONN_STATUS_REASON_CERT_UNTRUSTED<br> -8 - TP_CONN_STATUS_REASON_CERT_EXPIRED<br> -9 - TP_CONN_STATUS_REASON_CERT_NOT_ACTIVATED<br> -10 - TP_CONN_STATUS_REASON_CERT_HOSTNAME_MISMATCH<br> -11 - TP_CONN_STATUS_REASON_CERT_FINGERPRINT_MISMATCH<br> -12 - TP_CONN_STATUS_REASON_CERT_SELF_SIGNED<br> -13 - TP_CONN_STATUS_REASON_CERT_OTHER_ERROR -</div> -account_id - the account whose status has changed -</div> -</div> - -<div class="signal"> -<h3>McdError ( u: serial, s: client_id, u: error_id )</h3> -<p>Emitted on some error. -<div class="parameters"> -serial - <em>operation ID, maybe it will get removed from the specs soon</em><br> -client_id - the d-bus unique name of the client whose this error is meant to</br> -error_id - the error code: -<div class="enum"> -0 - MC_DISCONNECTED_ERROR<br> -1 - MC_INVALID_HANDLE_ERROR<br> -2 - MC_NO_MATCHING_CONNECTION_ERROR<br> -3 - MC_INVALID_ACCOUNT_ERROR<br> -4 - MC_PRESENCE_FAILURE_ERROR<br> -5 - MC_NO_ACCOUNTS_ERROR<br> -6 - MC_NETWORK_ERROR<br> -7 - MC_CONTACT_DOES_NOT_SUPPORT_VOICE_ERROR<br> -8 - MC_LOWMEM_ERROR<br> -9 - MC_CHANNEL_REQUEST_GENERIC_ERROR<br> -10 - MC_CHANNEL_BANNED_ERROR<br> -11 - MC_CHANNEL_FULL_ERROR<br> -12 - MC_CHANNEL_INVITE_ONLY_ERROR<br> -13 - MC_LAST_ERROR -</div> -</div> -</div> - -<div class="signal"> -<h3>PresenceStatusRequested ( u: presence )</h3> -<p>Emitted when a presence has been requested. -<div class="parameters"> -presence - the requested presence. -</div> -</div> - -<div class="signal"> -<h3>PresenceStatusActual ( u: presence )</h3> -<p>Emitted when the actual presence changes. -<div class="parameters"> -presence - the actual presence. -</div> -</div> - -<div class="signal"> -<h3>UsedChannelsCountChanged ( s: type, u: count )</h3> -<p>Emitted when the actual presence changes. -<div class="parameters"> -type - the type of the channels<br> -count - the new number of the channels of this type -</div> -</div> - -<div class="signal"> -<h3>StatusActual ( u: status, u: presence )</h3> -<p>Emitted when the accounts' status changes. -<div class="parameters"> -status - Can be one of these values:<br> -<div class="enum"> -0 - MC_STATUS_DISCONNECTED -<p>When all accounts are disconnected.</p> -1 - MC_STATUS_CONNECTING -<p>When at least one account is connecting.</p> -2 - MC_STATUS_CONNECTED -<p>When at least one account is connected <em>and</em> none is connecting.</p> -</div> -presence - the last requested presence. -</div> -</div> - -</div> - -</body> -</html> diff --git a/libmissioncontrol/Makefile.am b/libmissioncontrol/Makefile.am index 70d7c5d1..baa11359 100644 --- a/libmissioncontrol/Makefile.am +++ b/libmissioncontrol/Makefile.am @@ -49,7 +49,7 @@ libmissioncontrol_la_SOURCES = \ mission_control_include = mission-control.h -mc-client-lib-gen.h: ../xml/mcd-dbus-services.xml +mc-client-lib-gen.h: $(top_builddir)/xml/MissionControl-gen.xml dbus-binding-tool --prefix=mc-client-lib --mode=glib-client $< > $@ %-marshal.h: %-marshal.list Makefile.am diff --git a/src/Makefile.am b/src/Makefile.am index 45d61e55..6b0a5dd7 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -104,7 +104,7 @@ mcd-enum-types.c: Makefile && rm -f xgen-getc -mcd-service-gen.h: ../xml/mcd-dbus-services.xml +mcd-service-gen.h: $(top_builddir)/xml/MissionControl-gen.xml dbus-binding-tool --mode=glib-server --prefix=mcd_service $< > $@ EXTRA_DIST = mcd-signals-marshal.list stamp-mcd-enum-types.h diff --git a/tools/Makefile.am b/tools/Makefile.am new file mode 100644 index 00000000..cc08c5e5 --- /dev/null +++ b/tools/Makefile.am @@ -0,0 +1,4 @@ +EXTRA_DIST = \ + spec-to-introspect.xsl \ + doc-generator.xsl + diff --git a/tools/doc-generator.xsl b/tools/doc-generator.xsl new file mode 100644 index 00000000..74b06020 --- /dev/null +++ b/tools/doc-generator.xsl @@ -0,0 +1,410 @@ +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:mc="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0" + exclude-result-prefixes="mc"> + <!--Don't move the declaration of the HTML namespace up here - XMLNSs + don't work ideally in the presence of two things that want to use the + absence of a prefix, sadly. --> + + <xsl:template match="*" mode="identity"> + <xsl:copy> + <xsl:apply-templates mode="identity"/> + </xsl:copy> + </xsl:template> + + <xsl:template match="mc:docstring"> + <xsl:apply-templates select="node()" mode="identity"/> + </xsl:template> + + <xsl:template match="mc:errors"> + <h1 xmlns="http://www.w3.org/1999/xhtml">Errors</h1> + <xsl:apply-templates/> + </xsl:template> + + <xsl:template match="mc:error"> + <h2 xmlns="http://www.w3.org/1999/xhtml"><a name="{concat(../@namespace, '.', translate(@name, ' ', ''))}"></a><xsl:value-of select="concat(../@namespace, '.', translate(@name, ' ', ''))"/></h2> + <xsl:apply-templates select="mc:docstring"/> + </xsl:template> + + <xsl:template match="/mc:spec/mc:copyright"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates/> + </div> + </xsl:template> + <xsl:template match="/mc:spec/mc:license"> + <div xmlns="http://www.w3.org/1999/xhtml" class="license"> + <xsl:apply-templates mode="identity"/> + </div> + </xsl:template> + + <xsl:template match="mc:copyright"/> + <xsl:template match="mc:license"/> + + <xsl:template match="interface"> + <h1 xmlns="http://www.w3.org/1999/xhtml"><a name="{@name}"></a><xsl:value-of select="@name"/></h1> + + <xsl:if test="mc:requires"> + <p>Implementations of this interface must also implement:</p> + <ul xmlns="http://www.w3.org/1999/xhtml"> + <xsl:for-each select="mc:requires"> + <li><code><xsl:value-of select="@interface"/></code></li> + </xsl:for-each> + </ul> + </xsl:if> + + <xsl:apply-templates select="mc:docstring" /> + + <xsl:choose> + <xsl:when test="method"> + <h2 xmlns="http://www.w3.org/1999/xhtml">Methods:</h2> + <xsl:apply-templates select="method"/> + </xsl:when> + <xsl:otherwise> + <p xmlns="http://www.w3.org/1999/xhtml">Interface has no methods.</p> + </xsl:otherwise> + </xsl:choose> + + <xsl:choose> + <xsl:when test="signal"> + <h2 xmlns="http://www.w3.org/1999/xhtml">Signals:</h2> + <xsl:apply-templates select="signal"/> + </xsl:when> + <xsl:otherwise> + <p xmlns="http://www.w3.org/1999/xhtml">Interface has no signals.</p> + </xsl:otherwise> + </xsl:choose> + + <xsl:choose> + <xsl:when test="mc:property"> + <h2 xmlns="http://www.w3.org/1999/xhtml">Properties:</h2> + <dl xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="mc:property"/> + </dl> + </xsl:when> + <xsl:otherwise> + <p xmlns="http://www.w3.org/1999/xhtml">Interface has no properties.</p> + </xsl:otherwise> + </xsl:choose> + + <xsl:if test="mc:enum"> + <h2 xmlns="http://www.w3.org/1999/xhtml">Enumerated types:</h2> + <xsl:apply-templates select="mc:enum"/> + </xsl:if> + + <xsl:if test="mc:flags"> + <h2 xmlns="http://www.w3.org/1999/xhtml">Sets of flags:</h2> + <xsl:apply-templates select="mc:flags"/> + </xsl:if> + + </xsl:template> + + <xsl:template match="mc:flags"> + <h3 xmlns="http://www.w3.org/1999/xhtml"><xsl:value-of select="@name"/></h3> + <xsl:apply-templates select="mc:docstring" /> + <dl xmlns="http://www.w3.org/1999/xhtml"> + <xsl:variable name="value-prefix"> + <xsl:choose> + <xsl:when test="@value-prefix"> + <xsl:value-of select="@value-prefix"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@name"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:for-each select="mc:flag"> + <dt xmlns="http://www.w3.org/1999/xhtml"><code><xsl:value-of select="concat($value-prefix, '_', @suffix)"/> = <xsl:value-of select="@value"/></code></dt> + <xsl:choose> + <xsl:when test="mc:docstring"> + <dd xmlns="http://www.w3.org/1999/xhtml"><xsl:apply-templates select="mc:docstring" /></dd> + </xsl:when> + <xsl:otherwise> + <dd xmlns="http://www.w3.org/1999/xhtml">(Undocumented)</dd> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + </dl> + </xsl:template> + + <xsl:template match="mc:enum"> + <h3 xmlns="http://www.w3.org/1999/xhtml"><xsl:value-of select="@name"/></h3> + <xsl:apply-templates select="mc:docstring" /> + <dl xmlns="http://www.w3.org/1999/xhtml"> + <xsl:variable name="value-prefix"> + <xsl:choose> + <xsl:when test="@value-prefix"> + <xsl:value-of select="@value-prefix"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@name"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:for-each select="mc:enumvalue"> + <dt xmlns="http://www.w3.org/1999/xhtml"><code><xsl:value-of select="concat($value-prefix, '_', @suffix)"/> = <xsl:value-of select="@value"/></code></dt> + <xsl:choose> + <xsl:when test="mc:docstring"> + <dd xmlns="http://www.w3.org/1999/xhtml"><xsl:apply-templates select="mc:docstring" /></dd> + </xsl:when> + <xsl:otherwise> + <dd xmlns="http://www.w3.org/1999/xhtml">(Undocumented)</dd> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + </dl> + </xsl:template> + + <xsl:template match="mc:property"> + <dt xmlns="http://www.w3.org/1999/xhtml"> + <xsl:if test="@name"> + <code><xsl:value-of select="@name"/></code> - + </xsl:if> + <code><xsl:value-of select="@type"/></code> + </dt> + <dd xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="mc:docstring"/> + </dd> + </xsl:template> + + <xsl:template match="method"> + <div xmlns="http://www.w3.org/1999/xhtml" class="method"> + <h3 xmlns="http://www.w3.org/1999/xhtml"><xsl:value-of select="@name"/> ( + <xsl:for-each xmlns="" select="arg[@direction='in']"> + <xsl:value-of select="@type"/>: <xsl:value-of select="@name"/> + <xsl:if test="position() != last()">, </xsl:if> + </xsl:for-each> + ) → + <xsl:choose> + <xsl:when test="arg[@direction='out']"> + <xsl:for-each xmlns="" select="arg[@direction='out']"> + <xsl:value-of select="@type"/> + <xsl:if test="position() != last()">, </xsl:if> + </xsl:for-each> + </xsl:when> + <xsl:otherwise>nothing</xsl:otherwise> + </xsl:choose> + </h3> + <div xmlns="http://www.w3.org/1999/xhtml" class="docstring"> + <xsl:apply-templates select="mc:docstring" /> + </div> + + <xsl:if test="arg[@direction='in']"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <h4>Parameters</h4> + <dl xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="arg[@direction='in']" + mode="parameters-in-docstring"/> + </dl> + </div> + </xsl:if> + + <xsl:if test="arg[@direction='out']"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <h4>Returns</h4> + <dl xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="arg[@direction='out']" + mode="returns-in-docstring"/> + </dl> + </div> + </xsl:if> + + <xsl:if test="mc:possible-errors"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <h4>Possible errors</h4> + <dl xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="mc:possible-errors/mc:error"/> + </dl> + </div> + </xsl:if> + + </div> + </xsl:template> + + <xsl:template match="arg" mode="parameters-in-docstring"> + <dt xmlns="http://www.w3.org/1999/xhtml"> + <code><xsl:value-of select="@name"/></code> - + <code><xsl:value-of select="@type"/></code> + </dt> + <dd xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="mc:docstring" /> + </dd> + </xsl:template> + + <xsl:template match="arg" mode="returns-in-docstring"> + <dt xmlns="http://www.w3.org/1999/xhtml"> + <xsl:if test="@name"> + <code><xsl:value-of select="@name"/></code> - + </xsl:if> + <code><xsl:value-of select="@type"/></code> + </dt> + <dd xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="mc:docstring"/> + </dd> + </xsl:template> + + <xsl:template match="mc:possible-errors/mc:error"> + <dt xmlns="http://www.w3.org/1999/xhtml"> + <code><xsl:value-of select="@name"/></code> + </dt> + <dd xmlns="http://www.w3.org/1999/xhtml"> + <xsl:variable name="name" select="@name"/> + <xsl:choose> + <xsl:when test="mc:docstring"> + <xsl:apply-templates select="mc:docstring"/> + </xsl:when> + <xsl:when test="//mc:errors/mc:error[concat(../@namespace, '.', translate(@name, ' ', ''))=$name]/mc:docstring"> + <xsl:apply-templates select="//mc:errors/mc:error[concat(../@namespace, '.', translate(@name, ' ', ''))=$name]/mc:docstring"/> <em xmlns="http://www.w3.org/1999/xhtml">(generic description)</em> + </xsl:when> + <xsl:otherwise> + (Undocumented.) + </xsl:otherwise> + </xsl:choose> + </dd> + </xsl:template> + + <xsl:template match="signal"> + <div xmlns="http://www.w3.org/1999/xhtml" class="signal"> + <h3 xmlns="http://www.w3.org/1999/xhtml"><xsl:value-of select="@name"/> ( + <xsl:for-each xmlns="" select="arg"> + <xsl:value-of select="@type"/>: <xsl:value-of select="@name"/> + <xsl:if test="position() != last()">, </xsl:if> + </xsl:for-each> + )</h3> + <div xmlns="http://www.w3.org/1999/xhtml" class="docstring"> + <xsl:apply-templates select="mc:docstring"/> + </div> + + <xsl:if test="arg"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <h4>Parameters</h4> + <dl xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="arg" mode="parameters-in-docstring"/> + </dl> + </div> + </xsl:if> + </div> + </xsl:template> + + <xsl:output method="xml" indent="no" encoding="ascii" + omit-xml-declaration="yes" + doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" + doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" /> + + <xsl:template match="/mc:spec"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>MissionControl D-Bus Interface Specification</title> + <style type="text/css"> + + body { + font-family: sans-serif; + margin: 2em; + height: 100%; + font-size: 1.2em; + } + h1 { + padding-top: 5px; + padding-bottom: 5px; + font-size: 1.6em; + background: #dadae2; + } + h2 { + font-size: 1.3em; + } + h3 { + font-size: 1.2em; + } + a:link, a:visited, a:link:hover, a:visited:hover { + font-weight: bold; + } + .topbox { + padding-top: 10px; + padding-left: 10px; + border-bottom: black solid 1px; + padding-bottom: 10px; + background: #dadae2; + font-size: 2em; + font-weight: bold; + color: #5c5c5c; + } + .topnavbox { + padding-left: 10px; + padding-top: 5px; + padding-bottom: 5px; + background: #abacba; + border-bottom: black solid 1px; + font-size: 1.2em; + } + .topnavbox a{ + color: black; + font-weight: normal; + } + .sidebar { + float: left; + /* width:9em; + border-right:#abacba solid 1px; + border-left: #abacba solid 1px; + height:100%; */ + border: #abacba solid 1px; + padding-left: 10px; + margin-left: 10px; + padding-right: 10px; + margin-right: 10px; + color: #5d5d5d; + background: #dadae2; + } + .sidebar a { + text-decoration: none; + border-bottom: #e29625 dotted 1px; + color: #e29625; + font-weight: normal; + } + .sidebar h1 { + font-size: 1.2em; + color: black; + } + .sidebar ul { + padding-left: 25px; + padding-bottom: 10px; + border-bottom: #abacba solid 1px; + } + .sidebar li { + padding-top: 2px; + padding-bottom: 2px; + } + .sidebar h2 { + font-style:italic; + font-size: 0.81em; + padding-left: 5px; + padding-right: 5px; + font-weight: normal; + } + .date { + font-size: 0.6em; + float: right; + font-style: italic; + } + .method { + margin-left: 1em; + margin-right: 4em; + } + .signal { + margin-left: 1em; + margin-right: 4em; + } + + </style> + </head> + <body> + <h1 class="topbox">MissionControl D-Bus Interface Specification</h1> + <xsl:apply-templates select="mc:copyright"/> + <xsl:apply-templates select="mc:license"/> + <xsl:apply-templates select="mc:docstring"/> + <xsl:apply-templates select="node"/> + <xsl:apply-templates select="mc:errors"/> + </body> + </html> + </xsl:template> + +</xsl:stylesheet> + +<!-- vim:set sw=2 sts=2 et: --> diff --git a/tools/spec-to-introspect.xsl b/tools/spec-to-introspect.xsl new file mode 100644 index 00000000..992efc73 --- /dev/null +++ b/tools/spec-to-introspect.xsl @@ -0,0 +1,26 @@ +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:mc="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0" + exclude-result-prefixes="mc"> + + <xsl:template match="*"> + <xsl:copy> + <xsl:for-each select="@*"> + <xsl:if test="not(starts-with(name(), 'mc:'))"> + <xsl:copy/> + </xsl:if> + </xsl:for-each> + <xsl:apply-templates/> + </xsl:copy> + </xsl:template> + + <xsl:template match="mc:*"/> + <xsl:template match="text()"/> + + <xsl:output method="xml" indent="yes" encoding="UTF-8" + omit-xml-declaration="no" + doctype-system="http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd" + doctype-public="-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" /> + +</xsl:stylesheet> + +<!-- vim:set sw=2 sts=2 et: --> diff --git a/xml/Makefile.am b/xml/Makefile.am index 92dca715..6af79141 100644 --- a/xml/Makefile.am +++ b/xml/Makefile.am @@ -1 +1,21 @@ -EXTRA_DIST = mcd-dbus-services.xml +XSLTFLAGS = --nonet --novalid +DROP_NAMESPACE = sed -e 's@xmlns:mc="http://telepathy\.freedesktop\.org/wiki/DbusSpec.extensions-v0"@@g' +SPECS = MissionControl.xml + +SPECS_GEN = ${SPECS:.xml=-gen.xml} + +all-local: $(SPECS_GEN) + +%-gen.xml: %.xml $(top_srcdir)/tools/spec-to-introspect.xsl + $(XSLTPROC) $(XSLTFLAGS) $(top_srcdir)/tools/spec-to-introspect.xsl $< | $(DROP_NAMESPACE) > $@ + +#modified/%.xml: %.xml $(top_srcdir)/tools/add-client-c-symbol.xsl +# @mkdir -p modified +# $(XSLTPROC) $(XSLTFLAGS) --stringparam basename $* \ +# $(top_srcdir)/tools/add-client-c-symbol.xsl $< > $@ + +clean-local: + rm -f $(SPECS_GEN) + +EXTRA_DIST = mcd-dbus-services.xml $(SPECS) + diff --git a/xml/MissionControl.xml b/xml/MissionControl.xml new file mode 100644 index 00000000..41cc10dc --- /dev/null +++ b/xml/MissionControl.xml @@ -0,0 +1,297 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<node name="/org/freedesktop/Telepathy/MissionControl" xmlns:mc="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + <mc:copyright>Copyright (C) 2007 Nokia Corporation</mc:copyright> + <mc: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 + Library 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</p> + </mc:license> + <interface name="org.freedesktop.Telepathy.MissionControl"> + <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="mcd_service"/> + <annotation name="org.freedesktop.DBus.GLib.ClientCSymbol" + value="mission_control_dbus"/> + <method name="SetPresence"> + <mc:docstring> + Request a presence. + </mc:docstring> + <arg type="u" name="presence" direction="in"> + <mc:docstring>The presence to set</mc:docstring> + </arg> + <arg type="s" name="message" direction="in"> + <mc:docstring>The presence message</mc:docstring> + </arg> + </method> + <method name="GetPresence"> + <mc:docstring> + Gets the last requested presence. + </mc:docstring> + <arg type="u" direction="out"> + <mc:docstring>The presence</mc:docstring> + </arg> + </method> + <method name="GetPresenceActual"> + <mc:docstring> + Gets the actual presence. + </mc:docstring> + <arg type="u" direction="out"> + <mc:docstring>The presence</mc:docstring> + </arg> + </method> + <method name="RequestChannel"> + <mc:docstring> + Requests a channel. + </mc:docstring> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <arg type="s" name="account_name" direction="in"> + <mc:docstring>Account requesting the channel.</mc:docstring> + </arg> + <arg type="s" name="type" direction="in"> + <mc:docstring>D-Bus interface name representing the channel type</mc:docstring> + </arg> + <arg type="u" name="handle" direction="in"> + <mc:docstring>A nonzero integer handle representing a contact, room, + list, etc.</mc:docstring> + </arg> + <arg type="i" name="handle_type" direction="in"> + <mc:docstring>A integer representing the channel type</mc:docstring> + </arg> + <arg type="u" name="serial" direction="in"> + <mc:docstring>A integer representing an operation ID, which can then be + used for cancelling the request</mc:docstring> + </arg> + </method> + <method name="RequestChannelWithStringHandle"> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <mc:docstring> + Requests a channel by a string handle. + </mc:docstring> + <arg type="s" name="account_name" direction="in"> + <mc:docstring>Account requesting the channel.</mc:docstring> + </arg> + <arg type="s" name="type" direction="in"> + <mc:docstring>D-Bus interface name representing the channel type</mc:docstring> + </arg> + <arg type="s" name="handle" direction="in"> + <mc:docstring>A string handle representing a contact, room, list, + etc.</mc:docstring> + </arg> + <arg type="i" name="handle_type" direction="in"> + <mc:docstring>A integer representing the channel type</mc:docstring> + </arg> + <arg type="u" name="serial" direction="in"> + <mc:docstring>A integer representing an operation ID, which can then be + used for cancelling the request</mc:docstring> + </arg> + </method> + <method name="CancelChannelRequest"> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <mc:docstring> + Cancel a channel request. + </mc:docstring> + <arg type="u" name="operation_id" direction="in"> + <mc:docstring>The operation ID which identifies the channel request; + this is the same integet that was passed when making the + request</mc:docstring> + </arg> + </method> + <method name="ConnectAllWithDefaultPresence"> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <mc:docstring> + Request all accounts to go online with the default presence. + </mc:docstring> + </method> + <method name="GetConnectionStatus"> + <mc:docstring> + Get the status of the connection. + </mc:docstring> + <arg type="s" name="account_name" direction="in"> + <mc:docstring>The account</mc:docstring> + </arg> + <arg type="u" direction="out"> + <mc:docstring>Status of the connection</mc:docstring> + </arg> + </method> + <method name="GetOnlineConnections"> + <mc:docstring> + Get a list of the connected accounts. + </mc:docstring> + <arg type="as" direction="out"> + <mc:docstring>The array of the online accounts</mc:docstring> + </arg> + </method> + <method name="GetConnection"> + <mc:docstring> + Get the connection object of an account. + </mc:docstring> + <arg type="s" name="account_name" direction="in"> + <mc:docstring>The account</mc:docstring> + </arg> + <arg type="s" direction="out"> + <mc:docstring>The D-Bus bus name of the Telepathy + connection</mc:docstring> + </arg> + <arg type="o" direction="out"> + <mc:docstring>The D-Bus object path of the Telepathy + connection</mc:docstring> + </arg> + </method> + <method name="GetAccountForConnection"> + <mc:docstring> + Get the account for this Telepathy connection. + </mc:docstring> + <arg type="s" name="object_path" direction="in"> + <mc:docstring>The D-Bus object path of the Telepathy + connection</mc:docstring> + </arg> + <arg type="s" direction="out"> + <mc:docstring>The account name</mc:docstring> + </arg> + </method> + <method name="GetUsedChannelsCount"> + <mc:docstring> + Get the number of channels of the specified type. + </mc:docstring> + <arg type="s" name="type" direction="in"> + <mc:docstring>D-Bus interface name representing the channel type</mc:docstring> + </arg> + <arg type="u" direction="out"> + <mc:docstring>Number of channels</mc:docstring> + </arg> + </method> + <method name="GetCurrentStatus"> + <mc:docstring> + Get MissionControl's current status. + </mc:docstring> + <arg type="u" name="status" direction="out"> + <mc:docstring> + Integer representing the MissionControl status (as in the + <code>McStatus</code> enum): + <ul> + <li>0 - disconnected</li> + <li>1 - connecting</li> + <li>2 - connected</li> + </ul> + </mc:docstring> + </arg> + <arg type="u" name="presence" direction="out"> + <mc:docstring>Actual presence</mc:docstring> + </arg> + <arg type="u" name="requested_presence" direction="out"> + <mc:docstring>Requested presence</mc:docstring> + </arg> + <arg type="a(suuu)" name="accounts" direction="out"> + <mc:docstring> + An array of structures specifying the accounts' state, fields being: + <ul> + <li>The account name</li> + <li>The account's connection status</li> + <li>The presence</li> + <li>The connection status reason</li> + </ul> + </mc:docstring> + </arg> + </method> + <method name="RemoteAvatarChanged"> + <mc:docstring> + Signals the MissionControl service that an account's remote avatar has + changed + </mc:docstring> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <arg type="s" name="object_path" direction="in"> + <mc:docstring>D-Bus object path of the connection</mc:docstring> + </arg> + <arg type="u" name="contact_id" direction="in"> + <mc:docstring>Telepathy handle for the account (self handle)</mc:docstring> + </arg> + <arg type="s" name="token" direction="in"> + <mc:docstring>Avatar token</mc:docstring> + </arg> + </method> + <signal name="AccountStatusChanged"> + <mc:docstring> + Emitted when an account's connection status changes + </mc:docstring> + <arg type="u" name="status"> + <mc:docstring>The connection status</mc:docstring> + </arg> + <arg type="u" name="presence"> + <mc:docstring>The presence</mc:docstring> + </arg> + <arg type="u" name="reason"> + <mc:docstring>The connection status reason</mc:docstring> + </arg> + <arg type="s" name="account_id"> + <mc:docstring>The account name</mc:docstring> + </arg> + </signal> + <signal name="McdError"> + <mc:docstring> + Emitted when a requested channel could not be dispatched. + </mc:docstring> + <arg type="u" name="serial"> + <mc:docstring>Operation ID of the channel request</mc:docstring> + </arg> + <arg type="s" name="client_id"> + <mc:docstring>D-Bus name of the process which requested the + channel</mc:docstring> + </arg> + <arg type="u" name="error_id"> + <mc:docstring>Error code</mc:docstring> + </arg> + </signal> + <signal name="PresenceStatusRequested"> + <mc:docstring> + Emitted when a presence has been requested. + </mc:docstring> + <arg type="u" name="presence"> + <mc:docstring>The requested presence</mc:docstring> + </arg> + </signal> + <signal name="PresenceStatusActual"> + <mc:docstring> + Emitted when the actual presence has changed. + </mc:docstring> + <arg type="u" name="presence"> + <mc:docstring>The actual presence</mc:docstring> + </arg> + </signal> + <signal name="UsedChannelsCountChanged"> + <mc:docstring> + Emitted when the number of channels of a specified type has changed. + </mc:docstring> + <arg type="s" name="type"> + <mc:docstring>D-Bus interface name representing the channel type</mc:docstring> + </arg> + <arg type="u" name="count"> + <mc:docstring>The number of channels of this type</mc:docstring> + </arg> + </signal> + <signal name="StatusActual"> + <mc:docstring> + Emitted when the global connection status changes. + </mc:docstring> + <arg type="u" name="status"> + <mc:docstring>The actual status, meaning: + <ul> + <li>disconnected - all accounts are disconnected</li> + <li>connecting - at least one account is connecting</li> + <li>connected - at least one account is connected, and no account is connecting</li> + </ul> + </mc:docstring> + </arg> + <arg type="u" name="presence"> + <mc:docstring>The actual presence</mc:docstring> + </arg> + </signal> + </interface> +</node> diff --git a/xml/mcd-dbus-services.xml b/xml/mcd-dbus-services.xml index 0e8ebc9e..ae4c6e28 100644 --- a/xml/mcd-dbus-services.xml +++ b/xml/mcd-dbus-services.xml @@ -1,99 +1,9 @@ -<?xml version="1.0" encoding="UTF-8" ?> +<mc:spec + xmlns:mc="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0" + xmlns:xi="http://www.w3.org/2001/XInclude"> -<node name="/org/freedesktop/Telepathy/MissionControl"> - <interface name="org.freedesktop.Telepathy.MissionControl"> - <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="mcd_service"/> - <annotation name="org.freedesktop.DBus.GLib.ClientCSymbol" - value="mission_control_dbus"/> - <method name="SetPresence"> - <arg type="u" name="presence" direction="in" /> - <arg type="s" name="message" direction="in" /> - </method> - <method name="GetPresence"> - <arg type="u" direction="out" /> - </method> - <method name="GetPresenceActual"> - <arg type="u" direction="out" /> - </method> - <method name="RequestChannel"> - <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> - <arg type="s" name="account_name" direction="in" /> - <arg type="s" name="type" direction="in" /> - <arg type="u" name="handle" direction="in" /> - <arg type="i" name="handle_type" direction="in" /> - <arg type="u" name="serial" direction="in" /> - </method> - <method name="RequestChannelWithStringHandle"> - <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> - <arg type="s" name="account_name" direction="in" /> - <arg type="s" name="type" direction="in" /> - <arg type="s" name="handle" direction="in" /> - <arg type="i" name="handle_type" direction="in" /> - <arg type="u" name="serial" direction="in" /> - </method> - <method name="CancelChannelRequest"> - <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> - <arg type="u" name="operation_id" direction="in" /> - </method> - <method name="ConnectAllWithDefaultPresence"> - <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> - </method> - <method name="GetConnectionStatus"> - <arg type="s" name="account_name" direction="in" /> - <arg type="u" direction="out" /> - </method> - <method name="GetOnlineConnections"> - <arg type="as" direction="out" /> - </method> - <method name="GetConnection"> - <arg type="s" name="account_name" direction="in" /> - <arg type="s" direction="out" /> - <arg type="o" direction="out" /> - </method> - <method name="GetAccountForConnection"> - <arg type="s" direction="out" /> - <arg type="s" name="object_path" direction="in" /> - </method> - <method name="GetUsedChannelsCount"> - <arg type="u" direction="out" /> - <arg type="s" name="type" direction="in" /> - </method> - <method name="GetCurrentStatus"> - <arg type="u" name="status" direction="out" /> - <arg type="u" name="presence" direction="out" /> - <arg type="u" name="requested_presence" direction="out" /> - <arg type="a(suuu)" name="accounts" direction="out" /> - </method> - <method name="RemoteAvatarChanged"> - <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> - <arg type="s" name="object_path" direction="in" /> - <arg type="u" name="contact_id" direction="in" /> - <arg type="s" name="token" direction="in" /> - </method> - <signal name="AccountStatusChanged"> - <arg type="u" name="status" /> - <arg type="u" name="presence" /> - <arg type="u" name="reason" /> - <arg type="s" name="account_id" /> - </signal> - <signal name="McdError"> - <arg type="u" name="serial" /> - <arg type="s" name="client_id" /> - <arg type="u" name="error_id" /> - </signal> - <signal name="PresenceStatusRequested"> - <arg type="u" name="presence" /> - </signal> - <signal name="PresenceStatusActual"> - <arg type="u" name="presence" /> - </signal> - <signal name="UsedChannelsCountChanged"> - <arg type="s" name="type" /> - <arg type="u" name="count" /> - </signal> - <signal name="StatusActual"> - <arg type="u" name="status" /> - <arg type="u" name="presence" /> - </signal> - </interface> -</node> +<mc:copyright>Copyright (C) 2007 Nokia Corporation</mc:copyright> + +<xi:include href="MissionControl.xml"/> + +</mc:spec> |