This email list is read-only. Emails sent to this list will be discarded
----------------------------------
configure.ac | 2 +
doc/Makefile.am | 17 ++-
doc/connman-docs.xml | 13 ++-
doc/dbus-introspection.dtd | 32 ++++
doc/dbus-introspection.xsl | 436 ++++++++++++++++++++++++++++++++++++++++++++
doc/dbus-manager.xml | 30 +++
src/connman.h | 1 +
src/error.c | 6 +
8 files changed, 534 insertions(+), 3 deletions(-)
New commits:
commit 27d6492faf17da616776c141b7852079de51ea60
Author: Marcel Holtmann <[EMAIL PROTECTED]>
Date: Wed Aug 20 10:47:38 2008 +0200
Build D-Bus documentation in its own directory
commit 120501d82b2f136212668d9888b2732d330bbde9
Author: Marcel Holtmann <[EMAIL PROTECTED]>
Date: Wed Aug 20 10:09:24 2008 +0200
Add example for D-Bus documentation
commit b4d5dd486e78f3f92dab2d6ef85d5be7fcde226c
Author: Marcel Holtmann <[EMAIL PROTECTED]>
Date: Wed Aug 20 09:51:12 2008 +0200
Add basics for creating D-Bus documentation
commit 175d74c0bc92e3a98b61fda126248b91443a348f
Author: Marcel Holtmann <[EMAIL PROTECTED]>
Date: Sun Aug 17 10:11:13 2008 +0200
Add error definition for invalid arguments
Diff in this email is a maximum of 400 lines.
diff --git a/configure.ac b/configure.ac
index d500c68..615045e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,6 +26,8 @@ AC_PROG_LIBTOOL
GTK_DOC_CHECK
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+
AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug],
[enable compiling with debugging information]), [
if (test "${enableval}" = "yes" &&
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 9b5367a..b9ade0f 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -21,7 +21,7 @@ IGNORE_HFILES = connman connman.h rtnl.h dbus.h iface.h
HTML_IMAGES =
-content_files = connman-introduction.xml
+content_files = connman-introduction.xml dbus/manager.xml
INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/gdbus \
$(GTHREAD_CFLAGS) $(GMODULE_CFLAGS) $(GLIB_CFLAGS) $(DBUS_CFLAGS)
@@ -33,8 +33,21 @@ MAINTAINERCLEANFILES = Makefile.in \
if ENABLE_GTK_DOC
include $(top_srcdir)/doc/gtk-doc.make
+
+dbus/manager.xml: dbus-manager.xml dbus-introspection.xsl
+ $(MKDIR_P) -p $(builddir)/dbus
+ echo "<?xml version=\"1.0\"?>" > $@
+ echo "<!DOCTYPE refentry PUBLIC \"-//OASIS//DTD DocBook XML
V4.1.2//EN\" \"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd\">" >>
$@
+ $(XSLTPROC) dbus-introspection.xsl $< | tail -n +2 >> $@
+
+clean-local:
+ rm -rf $(builddir)/dbus
+
else
-EXTRA_DIST = $(DOC_MAIN_SGML_FILE) $(content_files)
+EXTRA_DIST = $(DOC_MAIN_SGML_FILE) connman-introduction.xml
endif
+EXTRA_DIST += dbus-introspection.dtd dbus-introspection.xsl \
+ dbus-manager.xml
+
EXTRA_DIST += manager-api.txt element-api.txt agent-api.txt plugin-api.txt
diff --git a/doc/connman-docs.xml b/doc/connman-docs.xml
index 837d8b0..f1601c4 100644
--- a/doc/connman-docs.xml
+++ b/doc/connman-docs.xml
@@ -57,6 +57,17 @@
<xi:include href="connman-introduction.xml" />
</reference>
+ <reference id="dbus">
+ <title>D-Bus API Reference</title>
+ <partintro>
+ <para>
+ This part presents the D-Bus interface used to access Connection
+ Manager.
+ </para>
+ </partintro>
+ <xi:include href="dbus/manager.xml"/>
+ </reference>
+
<reference id="manager">
<title>Manager interface</title>
<para>
@@ -72,7 +83,7 @@
</reference>
<reference id="reference">
- <title>API Reference</title>
+ <title>Plugin API Reference</title>
<partintro>
<para>
This part presents the function reference for Connection Manager.
diff --git a/doc/dbus-introspection.dtd b/doc/dbus-introspection.dtd
new file mode 100644
index 0000000..5fe508e
--- /dev/null
+++ b/doc/dbus-introspection.dtd
@@ -0,0 +1,32 @@
+<!-- DTD for D-Bus Introspection Documentation -->
+
+<!ELEMENT doc
(summary?,description?,errors?,permission?,since?,deprecated,seealso?)>
+
+<!ELEMENT summary (#PCDATA|ref)*>
+<!ELEMENT description (#PCDATA|para|example)*>
+<!ELEMENT errors (error)*>
+<!ELEMENT permission (#PCDATA|ref|para)*>
+<!ELEMENT since EMPTY>
+<!ATTLIST since version CDATA #REQUIRED>
+<!ELEMENT deprecated (#PCDATA|ref)>
+<!ATTLIST deprecated version CDATA #REQUIRED>
+<!ATTLIST deprecated instead CDATA #REQUIRED>
+<!ELEMENT seealso (ref+)>
+
+<!ELEMENT error (#PCDATA|para)*>
+<!ATTLIST error name CDATA #REQUIRED>
+<!ELEMENT para (#PCDATA|example|code|list|ref)*>
+<!ELEMENT example (#PCDATA|para|code|ref)*>
+<!ATTLIST language (c|glib|python|shell) #REQUIRED>
+<!ATTLIST title CDATA #IMPLIED>
+<!ELEMENT list (listheader?, item*)>
+<!ATTLIST list type (bullet|number|table) #REQUIRED>
+<!ELEMENT item (term|definition)*>
+<!ELEMENT term (#PCDATA|ref)*>
+<!ELEMENT definition (#PCDATA|para)*>
+
+<!ELEMENT code (#PCDATA)>
+<!ATTLIST code lang CDATA #IMPLIED>
+<!ELEMENT ref CDATA>
+<!ATTLIST ref type (parameter|arg|signal|method|interface) #REQUIRED>
+<!ATTLIST ref to CDATA #REQUIRED>
diff --git a/doc/dbus-introspection.xsl b/doc/dbus-introspection.xsl
new file mode 100644
index 0000000..679b358
--- /dev/null
+++ b/doc/dbus-introspection.xsl
@@ -0,0 +1,436 @@
+<?xml version='1.0'?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"
+ exclude-result-prefixes="doc">
+<!--
+ Convert D-Bus GLib XML into DocBook refentries
+ Copyright (C) 2007 William Jon McCann
+ License: GPL
+-->
+<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
+
+<xsl:template match="/">
+
+<xsl:variable name="interface" select="//interface/@name"/>
+<xsl:variable name="basename">
+ <xsl:call-template name="interface-basename">
+ <xsl:with-param name="str" select="$interface"/>
+ </xsl:call-template>
+</xsl:variable>
+
+<refentry><xsl:attribute name="id"><xsl:value-of
select="$basename"/></xsl:attribute>
+ <refmeta>
+ <refentrytitle role="top_of_page"><xsl:value-of
select="//interface/@name"/></refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+ <refname><xsl:value-of select="//interface/@name"/></refname>
+ <refpurpose><xsl:value-of select="$basename"/> interface</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis>
+ <xsl:call-template name="methods-synopsis">
+ <xsl:with-param name="basename" select="$basename"/>
+ </xsl:call-template>
+ </synopsis>
+ </refsynopsisdiv>
+
+ <refsect1 role="signal_proto">
+ <title role="signal_proto.title">Signals</title>
+ <synopsis>
+ <xsl:call-template name="signals-synopsis">
+ <xsl:with-param name="basename" select="$basename"/>
+ </xsl:call-template>
+ </synopsis>
+ </refsect1>
+
+ <refsect1 role="impl_interfaces">
+ <title role="impl_interfaces.title">Implemented Interfaces</title>
+ <para>
+ <xsl:value-of select="$interface"/> implements
+ org.freedesktop.DBus.Introspectable,
+ org.freedesktop.DBus.Properties
+ </para>
+ </refsect1>
+
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis>
+ <xsl:call-template name="properties-synopsis">
+ <xsl:with-param name="basename" select="$basename"/>
+ </xsl:call-template>
+ </synopsis>
+ </refsect1>
+
+ <refsect1 role="desc">
+ <title role="desc.title">Description</title>
+ <para>
+ <xsl:apply-templates select="//interface/doc:doc"/>
+ </para>
+ </refsect1>
+
+ <refsect1 role="details">
+ <title role="details.title">Details</title>
+ <xsl:call-template name="method-details">
+ <xsl:with-param name="basename" select="$basename"/>
+ </xsl:call-template>
+ </refsect1>
+
+ <refsect1 role="signals">
+ <title role="signals.title">Signal Details</title>
+ <xsl:call-template name="signal-details">
+ <xsl:with-param name="basename" select="$basename"/>
+ </xsl:call-template>
+ </refsect1>
+
+ <refsect1 role="property_details">
+ <title role="property_details.title">Property Details</title>
+ <xsl:call-template name="property-details">
+ <xsl:with-param name="basename" select="$basename"/>
+ </xsl:call-template>
+ </refsect1>
+
+</refentry>
+</xsl:template>
+
+
+<xsl:template name="property-doc">
+ <xsl:apply-templates select="doc:doc/doc:description"/>
+
+ <variablelist role="params">
+ <xsl:for-each select="arg">
+<varlistentry><term><parameter><xsl:value-of
select="@name"/></parameter>:</term>
+<listitem><simpara><xsl:value-of
select="doc:doc/doc:summary"/></simpara></listitem>
+</varlistentry>
+ </xsl:for-each>
+ </variablelist>
+
+ <xsl:apply-templates select="doc:doc/doc:since"/>
+ <xsl:apply-templates select="doc:doc/doc:deprecated"/>
+ <xsl:apply-templates select="doc:doc/doc:permission"/>
+ <xsl:apply-templates select="doc:doc/doc:seealso"/>
+</xsl:template>
+
+
+<xsl:template name="property-details">
+ <xsl:param name="basename"/>
+ <xsl:variable name="longest">
+ <xsl:call-template name="find-longest">
+ <xsl:with-param name="set" select="@name"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:for-each select="///property">
+ <refsect2>
+ <title><anchor role="function"><xsl:attribute name="id"><xsl:value-of
select="$basename"/>:<xsl:value-of select="@name"/></xsl:attribute></anchor>The
"<xsl:value-of select="@name"/>" property</title>
+<indexterm><primary><xsl:value-of
select="@name"/></primary><secondary><xsl:value-of
select="$basename"/></secondary></indexterm>
+<programlisting>'<xsl:value-of select="@name"/>'<xsl:call-template
name="pad-spaces"><xsl:with-param name="width" select="2"/></xsl:call-template>
+<xsl:call-template name="property-args"><xsl:with-param name="indent"
select="string-length(@name) + 2"/></xsl:call-template></programlisting>
+ </refsect2>
+
+ <xsl:call-template name="property-doc"/>
+
+ </xsl:for-each>
+</xsl:template>
+
+<xsl:template name="signal-doc">
+ <xsl:apply-templates select="doc:doc/doc:description"/>
+
+ <variablelist role="params">
+ <xsl:for-each select="arg">
+<varlistentry><term><parameter><xsl:value-of
select="@name"/></parameter>:</term>
+<listitem><simpara><xsl:value-of
select="doc:doc/doc:summary"/></simpara></listitem>
+</varlistentry>
+ </xsl:for-each>
+ </variablelist>
+
+ <xsl:apply-templates select="doc:doc/doc:since"/>
+ <xsl:apply-templates select="doc:doc/doc:deprecated"/>
+ <xsl:apply-templates select="doc:doc/doc:permission"/>
+ <xsl:apply-templates select="doc:doc/doc:seealso"/>
+</xsl:template>
+
+<xsl:template name="signal-details">
+ <xsl:param name="basename"/>
+ <xsl:variable name="longest">
+ <xsl:call-template name="find-longest">
+ <xsl:with-param name="set" select="@name"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:for-each select="///signal">
+ <refsect2>
+ <title><anchor role="function"><xsl:attribute name="id"><xsl:value-of
select="$basename"/>::<xsl:value-of
select="@name"/></xsl:attribute></anchor>The <xsl:value-of select="@name"/>
signal</title>
+<indexterm><primary><xsl:value-of
select="@name"/></primary><secondary><xsl:value-of
select="$basename"/></secondary></indexterm>
+<programlisting><xsl:value-of select="@name"/> (<xsl:call-template
name="signal-args"><xsl:with-param name="indent" select="string-length(@name) +
2"/><xsl:with-param name="prefix"
select="."/></xsl:call-template>)</programlisting>
+ </refsect2>
+
+ <xsl:call-template name="signal-doc"/>
+
+ </xsl:for-each>
+</xsl:template>
+
+<xsl:template match="doc:code">
+<programlisting>
+<xsl:apply-templates />
+</programlisting>
+</xsl:template>
+
+<xsl:template match="doc:summary">
+<!-- by default don't display -->
+</xsl:template>
+
+<xsl:template match="doc:example">
+<informalexample>
+<xsl:apply-templates />
+</informalexample>
+</xsl:template>
+
+<xsl:template match="doc:para">
+<para>
+<xsl:apply-templates />
+</para>
+</xsl:template>
+
+<xsl:template match="doc:description">
+<xsl:apply-templates />
+</xsl:template>
+
+<xsl:template match="doc:since">
+<para role="since">Since <xsl:value-of select="@version"/>
+</para>
+</xsl:template>
+
+<xsl:template match="doc:deprecated">
+ <xsl:variable name="name" select="../../@name"/>
+ <xsl:variable name="parent">
+ <xsl:call-template name="interface-basename">
+ <xsl:with-param name="str" select="../../../@name"/>/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="type" select="name(../..)"/>
+
+ <para role="deprecated">
+ <warning><para><literal><xsl:value-of select="$name"/></literal> is
deprecated since version <xsl:value-of select="@version"/> and should not be
used in newly-written code. Use
+
+ <xsl:variable name="to">
+ <xsl:choose>
+ <xsl:when test="contains($type,'property')">
+ <xsl:value-of select="$parent"/>:<xsl:value-of select="@instead"/>
+ </xsl:when>
+ <xsl:when test="contains($type,'signal')">
+ <xsl:value-of select="$parent"/>::<xsl:value-of select="@instead"/>
+ </xsl:when>
+ <xsl:when test="contains($type,'method')">
+ <xsl:value-of select="$parent"/>.<xsl:value-of select="@instead"/>
+ </xsl:when>
+ <xsl:when test="contains($type,'interface')">
+ <xsl:value-of select="@instead"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="@instead"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:call-template name="create-link">
+ <xsl:with-param name="type" select="$type"/>
+ <xsl:with-param name="to" select="$to"/>
+ <xsl:with-param name="val" select="@instead"/>
+ </xsl:call-template>
+instead.</para></warning>
+</para>
+</xsl:template>
+
+<xsl:template match="doc:permission">
+<para role="permission">
+<xsl:apply-templates />
+</para>
+</xsl:template>
+
+<xsl:template match="doc:seealso">
+<para>
+See also:
+<xsl:apply-templates />
+
+</para>
+</xsl:template>
+
+<xsl:template name="create-link">
+ <xsl:param name="type"/>
+ <xsl:param name="to"/>
+ <xsl:param name="val"/>
+
+ <xsl:choose>
+ <xsl:when test="contains($type,'property')">
+ <link><xsl:attribute name="linkend"><xsl:value-of
select="$to"/></xsl:attribute><literal><xsl:value-of
select="$val"/></literal></link>
+ </xsl:when>
+ <xsl:when test="contains($type,'signal')">
+ <link><xsl:attribute name="linkend"><xsl:value-of
select="$to"/></xsl:attribute><literal><xsl:value-of
select="$val"/></literal></link>
+ </xsl:when>
+ <xsl:when test="contains($type,'method')">
+ <link><xsl:attribute name="linkend"><xsl:value-of
select="$to"/></xsl:attribute><function><xsl:value-of
select="$val"/></function></link>
+ </xsl:when>
+ <xsl:when test="contains($type,'interface')">
+ <link><xsl:attribute name="linkend"><xsl:value-of
select="$to"/></xsl:attribute><xsl:value-of select="$val"/></link>
_______________________________________________
Commits mailing list
[email protected]
https://www.moblin.org/mailman/listinfo/commits