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

Reply via email to