mirror of
https://gitlab.com/mishakmak/pam-fprint-grosshack.git
synced 2026-04-08 20:03:34 +02:00
First pass at adding API docs through gtk-doc
Required a bit of mangling.
This commit is contained in:
committed by
Daniel Drake
parent
26aab5dc28
commit
3cd0a7aeaf
@ -1,4 +1,4 @@
|
|||||||
AUTOMAKE_OPTIONS = dist-bzip2
|
AUTOMAKE_OPTIONS = dist-bzip2
|
||||||
SUBDIRS = src data tests pam po
|
SUBDIRS = src data tests pam doc po
|
||||||
EXTRA_DIST = TODO intltool-extract.in intltool-merge.in intltool-update.in
|
EXTRA_DIST = TODO intltool-extract.in intltool-merge.in intltool-update.in
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,9 @@
|
|||||||
aclocal || exit 1
|
aclocal || exit 1
|
||||||
autoheader || exit 1
|
autoheader || exit 1
|
||||||
glib-gettextize -f -c || exit 1
|
glib-gettextize -f -c || exit 1
|
||||||
|
gtkdocize --copy || exit 1
|
||||||
intltoolize -c -f || exit 1
|
intltoolize -c -f || exit 1
|
||||||
|
libtoolize -c || exit 1
|
||||||
autoconf || exit 1
|
autoconf || exit 1
|
||||||
automake -a -c || exit 1
|
automake -a -c || exit 1
|
||||||
./configure $*
|
./configure $*
|
||||||
|
|||||||
18
configure.ac
18
configure.ac
@ -4,6 +4,7 @@ AC_CONFIG_SRCDIR([src/main.c])
|
|||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
|
|
||||||
AC_PREREQ([2.50])
|
AC_PREREQ([2.50])
|
||||||
|
AC_PROG_LIBTOOL
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
AM_PROG_CC_C_O
|
AM_PROG_CC_C_O
|
||||||
|
|
||||||
@ -47,6 +48,9 @@ AC_MSG_RESULT([$has_pam])
|
|||||||
AC_CHECK_PROG([POLKIT_POLICY_FILE_VALIDATE],
|
AC_CHECK_PROG([POLKIT_POLICY_FILE_VALIDATE],
|
||||||
[polkit-policy-file-validate], [polkit-policy-file-validate])
|
[polkit-policy-file-validate], [polkit-policy-file-validate])
|
||||||
|
|
||||||
|
AC_PATH_PROG([XSLTPROC], [xsltproc])
|
||||||
|
GTK_DOC_CHECK([1.3])
|
||||||
|
|
||||||
AS_AC_EXPAND(DATADIR, $datadir)
|
AS_AC_EXPAND(DATADIR, $datadir)
|
||||||
|
|
||||||
DBUS_SERVICES_DIR="$DATADIR/dbus-1/services"
|
DBUS_SERVICES_DIR="$DATADIR/dbus-1/services"
|
||||||
@ -57,6 +61,14 @@ AC_DEFINE_UNQUOTED(SYSCONFDIR, "$sysconfdir", [Where the configuration file will
|
|||||||
|
|
||||||
GNOME_COMPILE_WARNINGS
|
GNOME_COMPILE_WARNINGS
|
||||||
|
|
||||||
AC_CONFIG_FILES([Makefile] [src/Makefile] [data/Makefile] [tests/Makefile] [pam/Makefile] [po/Makefile.in])
|
AC_OUTPUT([
|
||||||
AC_OUTPUT
|
Makefile
|
||||||
|
src/Makefile
|
||||||
|
data/Makefile
|
||||||
|
tests/Makefile
|
||||||
|
pam/Makefile
|
||||||
|
doc/Makefile
|
||||||
|
doc/version.xml
|
||||||
|
doc/dbus/Makefile
|
||||||
|
po/Makefile.in
|
||||||
|
])
|
||||||
|
|||||||
77
doc/Makefile.am
Normal file
77
doc/Makefile.am
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
|
||||||
|
SUBDIRS = dbus
|
||||||
|
|
||||||
|
NULL =
|
||||||
|
|
||||||
|
AUTOMAKE_OPTIONS = 1.7
|
||||||
|
|
||||||
|
# The name of the module.
|
||||||
|
DOC_MODULE=fprintd
|
||||||
|
|
||||||
|
# The top-level SGML file.
|
||||||
|
DOC_MAIN_SGML_FILE=fprintd-docs.xml
|
||||||
|
|
||||||
|
# Extra options to supply to gtkdoc-scan
|
||||||
|
SCAN_OPTIONS=--ignore-headers=config.h
|
||||||
|
|
||||||
|
# The directory containing the source code. Relative to $(srcdir)
|
||||||
|
DOC_SOURCE_DIR=../src
|
||||||
|
|
||||||
|
# Used for dependencies
|
||||||
|
HFILE_GLOB=
|
||||||
|
#$(top_srcdir)/policy/*.h
|
||||||
|
CFILE_GLOB=
|
||||||
|
#$(top_srcdir)/policy/*.c
|
||||||
|
|
||||||
|
# Headers to ignore
|
||||||
|
IGNORE_HFILES= \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
# CFLAGS and LDFLAGS for compiling scan program. Only needed
|
||||||
|
# if $(DOC_MODULE).types is non-empty.
|
||||||
|
INCLUDES = \
|
||||||
|
$(GLIB_CFLAGS) \
|
||||||
|
-I$(top_srcdir)/src \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
GTKDOC_LIBS = \
|
||||||
|
$(GLIB_LIBS) \
|
||||||
|
$(top_builddir)/src/libfprintd.la \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
# Extra options to supply to gtkdoc-mkdb
|
||||||
|
MKDB_OPTIONS=--sgml-mode --output-format=xml
|
||||||
|
|
||||||
|
# Extra options to supply to gtkdoc-mktmpl
|
||||||
|
MKTMPL_OPTIONS=
|
||||||
|
|
||||||
|
# Non-autogenerated SGML files to be included in $(DOC_MAIN_SGML_FILE)
|
||||||
|
content_files = \
|
||||||
|
version.xml \
|
||||||
|
dbus/net.reactivated.Fprint.Manager.ref.xml \
|
||||||
|
dbus/net.reactivated.Fprint.Device.ref.xml \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
# Images to copy into HTML directory
|
||||||
|
HTML_IMAGES = \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
# Extra options to supply to gtkdoc-fixref
|
||||||
|
FIXXREF_OPTIONS=
|
||||||
|
|
||||||
|
MAINTAINERCLEANFILES = \
|
||||||
|
*~ \
|
||||||
|
Makefile.in \
|
||||||
|
fprintd.types \
|
||||||
|
fprintd-*.txt \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
if ENABLE_GTK_DOC
|
||||||
|
include $(top_srcdir)/gtk-doc.make
|
||||||
|
else
|
||||||
|
EXTRA_DIST =
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Version information for marking the documentation
|
||||||
|
EXTRA_DIST += version.xml.in
|
||||||
|
|
||||||
15
doc/dbus/Makefile.am
Normal file
15
doc/dbus/Makefile.am
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
|
||||||
|
all : net.reactivated.Fprint.Manager.ref.xml net.reactivated.Fprint.Device.ref.xml
|
||||||
|
|
||||||
|
net.reactivated.Fprint.Manager.ref.xml : $(top_srcdir)/src/manager.xml $(top_srcdir)/doc/dbus/spec-to-docbook.xsl
|
||||||
|
echo "<?xml version=\"1.0\"?>""<!DOCTYPE refentry PUBLIC \"-//OASIS//DTD DocBook XML V4.1.2//EN\" \"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd\">" > $@
|
||||||
|
$(XSLTPROC) $(top_srcdir)/doc/dbus/spec-to-docbook.xsl $< | tail -n +2 >> $@
|
||||||
|
|
||||||
|
net.reactivated.Fprint.Device.ref.xml : $(top_srcdir)/src/device.xml $(top_srcdir)/doc/dbus/spec-to-docbook.xsl
|
||||||
|
echo "<?xml version=\"1.0\"?>""<!DOCTYPE refentry PUBLIC \"-//OASIS//DTD DocBook XML V4.1.2//EN\" \"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd\">" > $@
|
||||||
|
$(XSLTPROC) $(top_srcdir)/doc/dbus/spec-to-docbook.xsl $< | tail -n +2 >> $@
|
||||||
|
|
||||||
|
EXTRA_DIST = spec-to-docbook.xsl dbus-introspect-docs.dtd
|
||||||
|
|
||||||
|
clean-local :
|
||||||
|
rm -f *~ *.ref.xml
|
||||||
32
doc/dbus/dbus-introspect-docs.dtd
Normal file
32
doc/dbus/dbus-introspect-docs.dtd
Normal file
@ -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 (item*)>
|
||||||
|
<!ATTLIST list type (bullet|number) #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>
|
||||||
543
doc/dbus/spec-to-docbook.xsl
Normal file
543
doc/dbus/spec-to-docbook.xsl
Normal file
@ -0,0 +1,543 @@
|
|||||||
|
<?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>
|
||||||
|
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="count(///signal) > 0">
|
||||||
|
<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>
|
||||||
|
</xsl:when>
|
||||||
|
</xsl:choose>
|
||||||
|
|
||||||
|
<refsect1 role="impl_interfaces">
|
||||||
|
<title role="impl_interfaces.title">Implemented Interfaces</title>
|
||||||
|
<para>
|
||||||
|
Objects implementing <xsl:value-of select="$interface"/> also implements
|
||||||
|
org.freedesktop.DBus.Introspectable,
|
||||||
|
org.freedesktop.DBus.Properties
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="count(///property) > 0">
|
||||||
|
<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>
|
||||||
|
</xsl:when>
|
||||||
|
</xsl:choose>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="count(///signal) > 0">
|
||||||
|
<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>
|
||||||
|
</xsl:when>
|
||||||
|
</xsl:choose>
|
||||||
|
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="count(///property) > 0">
|
||||||
|
<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>
|
||||||
|
</xsl:when>
|
||||||
|
</xsl:choose>
|
||||||
|
|
||||||
|
</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:tt">
|
||||||
|
<literal>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</literal>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="doc:i">
|
||||||
|
<emphasis>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</emphasis>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="doc:b">
|
||||||
|
<emphasis role="bold">
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</emphasis>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="doc:ulink">
|
||||||
|
<ulink>
|
||||||
|
<xsl:attribute name="url"><xsl:value-of select="@url"/></xsl:attribute>
|
||||||
|
<xsl:value-of select="."/>
|
||||||
|
</ulink>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="doc:summary">
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="doc:example">
|
||||||
|
<informalexample>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</informalexample>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template name="listitems-do-term">
|
||||||
|
<xsl:param name="str"/>
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="string-length($str) > 0">
|
||||||
|
<emphasis role="bold"><xsl:value-of select="$str"/>: </emphasis>
|
||||||
|
</xsl:when>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template name="do-listitems">
|
||||||
|
<xsl:for-each select="doc:item">
|
||||||
|
<listitem>
|
||||||
|
<xsl:call-template name="listitems-do-term"><xsl:with-param name="str" select="doc:term"/></xsl:call-template>
|
||||||
|
<xsl:apply-templates select="doc:definition"/>
|
||||||
|
</listitem>
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="doc:list">
|
||||||
|
<para>
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="contains(@type,'number')">
|
||||||
|
<orderedlist>
|
||||||
|
<xsl:call-template name="do-listitems"/>
|
||||||
|
</orderedlist>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<itemizedlist>
|
||||||
|
<xsl:call-template name="do-listitems"/>
|
||||||
|
</itemizedlist>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</para>
|
||||||
|
</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:errors">
|
||||||
|
<para role="errors">
|
||||||
|
<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>
|
||||||
|
</xsl:when>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="doc:ref">
|
||||||
|
<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="."/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template name="method-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:apply-templates 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:choose>
|
||||||
|
<xsl:when test="count(doc:doc/doc:errors) > 0">
|
||||||
|
<refsect3>
|
||||||
|
<title>Errors</title>
|
||||||
|
<variablelist role="errors">
|
||||||
|
<xsl:for-each select="doc:doc/doc:errors/doc:error">
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter><xsl:value-of select="@name"/></parameter>:</term>
|
||||||
|
<listitem><simpara><xsl:apply-templates select="."/></simpara></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</xsl:for-each>
|
||||||
|
</variablelist>
|
||||||
|
</refsect3>
|
||||||
|
</xsl:when>
|
||||||
|
</xsl:choose>
|
||||||
|
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="count(doc:doc/doc:permission) > 0">
|
||||||
|
<refsect3>
|
||||||
|
<title>Permissions</title>
|
||||||
|
<xsl:apply-templates select="doc:doc/doc:permission"/>
|
||||||
|
</refsect3>
|
||||||
|
</xsl:when>
|
||||||
|
</xsl:choose>
|
||||||
|
|
||||||
|
<xsl:apply-templates select="doc:doc/doc:seealso"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template name="method-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="///method">
|
||||||
|
<refsect2>
|
||||||
|
<title><anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>.<xsl:value-of select="@name"/></xsl:attribute></anchor><xsl:value-of select="@name"/> ()</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="method-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="method-doc"/>
|
||||||
|
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<xsl:template name="properties-synopsis">
|
||||||
|
<xsl:param name="basename"/>
|
||||||
|
<xsl:variable name="longest">
|
||||||
|
<xsl:call-template name="find-longest">
|
||||||
|
<xsl:with-param name="set" select="///property/@name"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:for-each select="///property">
|
||||||
|
<link><xsl:attribute name="linkend"><xsl:value-of select="$basename"/>:<xsl:value-of select="@name"/></xsl:attribute>'<xsl:value-of select="@name"/>'</link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template> <xsl:call-template name="property-args"><xsl:with-param name="indent" select="$longest + 2"/></xsl:call-template>
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<xsl:template name="signals-synopsis">
|
||||||
|
<xsl:param name="basename"/>
|
||||||
|
<xsl:variable name="longest">
|
||||||
|
<xsl:call-template name="find-longest">
|
||||||
|
<xsl:with-param name="set" select="///signal/@name"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:for-each select="///signal">
|
||||||
|
<link><xsl:attribute name="linkend"><xsl:value-of select="$basename"/>::<xsl:value-of select="@name"/></xsl:attribute><xsl:value-of select="@name"/></link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template>(<xsl:call-template name="signal-args"><xsl:with-param name="indent" select="$longest + 2"/><xsl:with-param name="prefix" select="///signal"/></xsl:call-template>)
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<xsl:template name="methods-synopsis">
|
||||||
|
<xsl:param name="basename"/>
|
||||||
|
<xsl:variable name="longest">
|
||||||
|
<xsl:call-template name="find-longest">
|
||||||
|
<xsl:with-param name="set" select="///method/@name"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:for-each select="///method">
|
||||||
|
<link><xsl:attribute name="linkend"><xsl:value-of select="$basename"/>.<xsl:value-of select="@name"/></xsl:attribute><xsl:value-of select="@name"/></link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template>(<xsl:call-template name="method-args"><xsl:with-param name="indent" select="$longest + 2"/><xsl:with-param name="prefix" select="///method"/></xsl:call-template>)
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<xsl:template name="method-args"><xsl:param name="indent"/><xsl:param name="prefix"/><xsl:variable name="longest"><xsl:call-template name="find-longest"><xsl:with-param name="set" select="$prefix/arg/@type"/></xsl:call-template></xsl:variable><xsl:for-each select="arg"><xsl:value-of select="@direction"/>
|
||||||
|
<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="4 - string-length(@direction)"/></xsl:call-template>'<xsl:value-of select="@type"/>'<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@type) + 1"/></xsl:call-template>
|
||||||
|
<xsl:value-of select="@name"/><xsl:if test="not(position() = last())">,
|
||||||
|
<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$indent"/></xsl:call-template></xsl:if>
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<xsl:template name="signal-args"><xsl:param name="indent"/><xsl:param name="prefix"/><xsl:variable name="longest"><xsl:call-template name="find-longest"><xsl:with-param name="set" select="$prefix/arg/@type"/></xsl:call-template></xsl:variable><xsl:for-each select="arg">'<xsl:value-of select="@type"/>'<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@type) + 1"/></xsl:call-template>
|
||||||
|
<xsl:value-of select="@name"/><xsl:if test="not(position() = last())">,
|
||||||
|
<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$indent"/></xsl:call-template></xsl:if>
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<xsl:template name="property-args"><xsl:param name="indent"/>
|
||||||
|
<xsl:value-of select="@access"/><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="9 - string-length(@access) + 1"/></xsl:call-template>'<xsl:value-of select="@type"/>'
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<xsl:template name="pad-spaces">
|
||||||
|
<xsl:param name="width"/>
|
||||||
|
<xsl:variable name="spaces" xml:space="preserve"> </xsl:variable>
|
||||||
|
<xsl:value-of select="substring($spaces,1,$width)"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<xsl:template name="find-longest">
|
||||||
|
<xsl:param name="set"/>
|
||||||
|
<xsl:param name="index" select="1"/>
|
||||||
|
<xsl:param name="longest" select="0"/>
|
||||||
|
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="$index > count($set)">
|
||||||
|
<!--finished looking-->
|
||||||
|
<xsl:value-of select="$longest"/>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:when test="string-length($set[$index])>$longest">
|
||||||
|
<!--found new longest-->
|
||||||
|
<xsl:call-template name="find-longest">
|
||||||
|
<xsl:with-param name="set" select="$set"/>
|
||||||
|
<xsl:with-param name="index" select="$index + 1"/>
|
||||||
|
<xsl:with-param name="longest" select="string-length($set[$index])"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<!--this isn't any longer-->
|
||||||
|
<xsl:call-template name="find-longest">
|
||||||
|
<xsl:with-param name="set" select="$set"/>
|
||||||
|
<xsl:with-param name="index" select="$index + 1"/>
|
||||||
|
<xsl:with-param name="longest" select="$longest"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<xsl:template name="interface-basename">
|
||||||
|
<xsl:param name="str"/>
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="contains($str,'.')">
|
||||||
|
<xsl:call-template name="interface-basename">
|
||||||
|
<xsl:with-param name="str" select="substring-after($str,'.')"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:value-of select="$str"/>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
||||||
82
doc/fprintd-docs.xml
Normal file
82
doc/fprintd-docs.xml
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
||||||
|
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
|
||||||
|
<!ENTITY version SYSTEM "version.xml">
|
||||||
|
]>
|
||||||
|
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
|
||||||
|
<bookinfo>
|
||||||
|
<title>fprintd Reference Manual</title>
|
||||||
|
<releaseinfo>Version &version;</releaseinfo>
|
||||||
|
<authorgroup>
|
||||||
|
<author>
|
||||||
|
<firstname>Bastien</firstname>
|
||||||
|
<surname>Nocera</surname>
|
||||||
|
<affiliation>
|
||||||
|
<address>
|
||||||
|
<email>hadess@hadess.net</email>
|
||||||
|
</address>
|
||||||
|
</affiliation>
|
||||||
|
</author>
|
||||||
|
</authorgroup>
|
||||||
|
|
||||||
|
<copyright>
|
||||||
|
<year>2008</year>
|
||||||
|
<holder>The DeviceKit-disks Authors</holder>
|
||||||
|
</copyright>
|
||||||
|
|
||||||
|
<legalnotice>
|
||||||
|
<para>
|
||||||
|
Permission is granted to copy, distribute and/or modify this
|
||||||
|
document under the terms of the <citetitle>GNU Free
|
||||||
|
Documentation License</citetitle>, Version 1.1 or any later
|
||||||
|
version published by the Free Software Foundation with no
|
||||||
|
Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
||||||
|
Texts. You may obtain a copy of the <citetitle>GNU Free
|
||||||
|
Documentation License</citetitle> from the Free Software
|
||||||
|
Foundation by visiting <ulink type="http"
|
||||||
|
url="http://www.fsf.org">their Web site</ulink> or by writing
|
||||||
|
to:
|
||||||
|
|
||||||
|
<address>
|
||||||
|
The Free Software Foundation, Inc.,
|
||||||
|
<street>59 Temple Place</street> - Suite 330,
|
||||||
|
<city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>,
|
||||||
|
<country>USA</country>
|
||||||
|
</address>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Many of the names used by companies to distinguish their
|
||||||
|
products and services are claimed as trademarks. Where those
|
||||||
|
names appear in any GNOME documentation, and those trademarks
|
||||||
|
are made aware to the members of the GNOME Documentation
|
||||||
|
Project, the names have been printed in caps or initial caps.
|
||||||
|
</para>
|
||||||
|
</legalnotice>
|
||||||
|
</bookinfo>
|
||||||
|
|
||||||
|
<reference id="ref-dbus">
|
||||||
|
<title>D-Bus API Reference</title>
|
||||||
|
<partintro>
|
||||||
|
<para>
|
||||||
|
This part documents the D-Bus interface used to access the
|
||||||
|
fprintd daemon.
|
||||||
|
</para>
|
||||||
|
</partintro>
|
||||||
|
<xi:include href="dbus/net.reactivated.Fprint.Manager.ref.xml"/>
|
||||||
|
<xi:include href="dbus/net.reactivated.Fprint.Device.ref.xml"/>
|
||||||
|
</reference>
|
||||||
|
|
||||||
|
<index>
|
||||||
|
<title>Index</title>
|
||||||
|
</index>
|
||||||
|
|
||||||
|
<!-- License -->
|
||||||
|
|
||||||
|
<appendix id="license">
|
||||||
|
<title>License</title>
|
||||||
|
<para>
|
||||||
|
<programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../COPYING" parse="text"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include></programlisting>
|
||||||
|
</para>
|
||||||
|
</appendix>
|
||||||
|
</book>
|
||||||
1
doc/version.xml.in
Normal file
1
doc/version.xml.in
Normal file
@ -0,0 +1 @@
|
|||||||
|
@VERSION@
|
||||||
@ -5,17 +5,22 @@ CLEANFILES = $(BUILT_SOURCES)
|
|||||||
EXTRA_DIST = manager.xml device.xml fprintd-marshal.list
|
EXTRA_DIST = manager.xml device.xml fprintd-marshal.list
|
||||||
|
|
||||||
libexec_PROGRAMS = fprintd
|
libexec_PROGRAMS = fprintd
|
||||||
|
noinst_LTLIBRARIES = libfprintd.la
|
||||||
|
|
||||||
|
AM_CFLAGS = $(WARN_CFLAGS) $(FPRINT_CFLAGS) $(DAEMON_CFLAGS) -DLOCALEDIR=\""$(datadir)/locale"\" -DPLUGINDIR=\""$(libdir)/fprintd/modules"\"
|
||||||
|
|
||||||
|
libfprintd_la_SOURCES = \
|
||||||
|
manager.c device.c \
|
||||||
|
egg-dbus-monitor.c egg-dbus-monitor.h \
|
||||||
|
$(MARSHALFILES) \
|
||||||
|
fprintd.h
|
||||||
|
libfprintd_la_LIBADD = $(FPRINT_LIBS) $(DAEMON_LIBS)
|
||||||
|
libfprintd_la_LDFLAGS = -no-undefined
|
||||||
|
|
||||||
fprintd_SOURCES = \
|
fprintd_SOURCES = \
|
||||||
main.c fprintd.h \
|
main.c \
|
||||||
manager.c \
|
file_storage.c file_storage.h storage.h
|
||||||
device.c \
|
fprintd_LDADD = libfprintd.la
|
||||||
file_storage.c file_storage.h storage.h \
|
|
||||||
egg-dbus-monitor.c egg-dbus-monitor.h \
|
|
||||||
$(MARSHALFILES)
|
|
||||||
|
|
||||||
fprintd_LDADD = $(FPRINT_LIBS) $(DAEMON_LIBS)
|
|
||||||
fprintd_CFLAGS = $(WARN_CFLAGS) $(FPRINT_CFLAGS) $(DAEMON_CFLAGS) -DLOCALEDIR=\""$(datadir)/locale"\" -DPLUGINDIR=\""$(libdir)/fprintd/modules"\"
|
|
||||||
|
|
||||||
manager-dbus-glue.h: manager.xml
|
manager-dbus-glue.h: manager.xml
|
||||||
dbus-binding-tool --prefix=fprint_manager --mode=glib-server $< --output=$@
|
dbus-binding-tool --prefix=fprint_manager --mode=glib-server $< --output=$@
|
||||||
|
|||||||
@ -27,7 +27,6 @@
|
|||||||
#define TIMEOUT 30
|
#define TIMEOUT 30
|
||||||
#define FPRINT_SERVICE_NAME "net.reactivated.Fprint"
|
#define FPRINT_SERVICE_NAME "net.reactivated.Fprint"
|
||||||
extern DBusGConnection *fprintd_dbus_conn;
|
extern DBusGConnection *fprintd_dbus_conn;
|
||||||
extern gboolean no_timeout;
|
|
||||||
GQuark fprint_error_quark(void);
|
GQuark fprint_error_quark(void);
|
||||||
|
|
||||||
/* Errors */
|
/* Errors */
|
||||||
@ -66,7 +65,7 @@ struct FprintManagerClass {
|
|||||||
typedef struct FprintManager FprintManager;
|
typedef struct FprintManager FprintManager;
|
||||||
typedef struct FprintManagerClass FprintManagerClass;
|
typedef struct FprintManagerClass FprintManagerClass;
|
||||||
|
|
||||||
FprintManager *fprint_manager_new(void);
|
FprintManager *fprint_manager_new(gboolean no_timeout);
|
||||||
GError *fprint_manager_get_error(FprintManager *manager);
|
GError *fprint_manager_get_error(FprintManager *manager);
|
||||||
GType fprint_manager_get_type(void);
|
GType fprint_manager_get_type(void);
|
||||||
|
|
||||||
|
|||||||
14
src/main.c
14
src/main.c
@ -33,18 +33,10 @@
|
|||||||
#include "storage.h"
|
#include "storage.h"
|
||||||
#include "file_storage.h"
|
#include "file_storage.h"
|
||||||
|
|
||||||
DBusGConnection *fprintd_dbus_conn = NULL;
|
extern DBusGConnection *fprintd_dbus_conn;
|
||||||
gboolean no_timeout = FALSE;
|
static gboolean no_timeout = FALSE;
|
||||||
static gboolean g_fatal_warnings = FALSE;
|
static gboolean g_fatal_warnings = FALSE;
|
||||||
|
|
||||||
GQuark fprint_error_quark(void)
|
|
||||||
{
|
|
||||||
static GQuark quark = 0;
|
|
||||||
if (!quark)
|
|
||||||
quark = g_quark_from_static_string("fprintd-error-quark");
|
|
||||||
return quark;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct fdsource {
|
struct fdsource {
|
||||||
GSource source;
|
GSource source;
|
||||||
GSList *pollfds;
|
GSList *pollfds;
|
||||||
@ -353,7 +345,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
/* create the one instance of the Manager object to be shared between
|
/* create the one instance of the Manager object to be shared between
|
||||||
* all fprintd users */
|
* all fprintd users */
|
||||||
manager = fprint_manager_new();
|
manager = fprint_manager_new(no_timeout);
|
||||||
error = fprint_manager_get_error (manager);
|
error = fprint_manager_get_error (manager);
|
||||||
if (error != NULL) {
|
if (error != NULL) {
|
||||||
g_error("Couldn't create manager object: %s", error->message);
|
g_error("Couldn't create manager object: %s", error->message);
|
||||||
|
|||||||
@ -27,6 +27,8 @@
|
|||||||
|
|
||||||
#include "fprintd.h"
|
#include "fprintd.h"
|
||||||
|
|
||||||
|
DBusGConnection *fprintd_dbus_conn;
|
||||||
|
|
||||||
static gboolean fprint_manager_get_devices(FprintManager *manager,
|
static gboolean fprint_manager_get_devices(FprintManager *manager,
|
||||||
GPtrArray **devices, GError **error);
|
GPtrArray **devices, GError **error);
|
||||||
static gboolean fprint_manager_get_default_device(FprintManager *manager,
|
static gboolean fprint_manager_get_default_device(FprintManager *manager,
|
||||||
@ -41,6 +43,7 @@ typedef struct
|
|||||||
{
|
{
|
||||||
GError *last_error;
|
GError *last_error;
|
||||||
GSList *dev_registry;
|
GSList *dev_registry;
|
||||||
|
gboolean no_timeout;
|
||||||
guint timeout_id;
|
guint timeout_id;
|
||||||
} FprintManagerPrivate;
|
} FprintManagerPrivate;
|
||||||
|
|
||||||
@ -105,7 +108,7 @@ fprint_manager_in_use_notified (FprintDevice *rdev, GParamSpec *spec, FprintMana
|
|||||||
num_devices_used++;
|
num_devices_used++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (num_devices_used == 0 && !no_timeout)
|
if (num_devices_used == 0 && !priv->no_timeout)
|
||||||
priv->timeout_id = g_timeout_add_seconds (TIMEOUT, (GSourceFunc) fprint_manager_timeout_cb, manager);
|
priv->timeout_id = g_timeout_add_seconds (TIMEOUT, (GSourceFunc) fprint_manager_timeout_cb, manager);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,13 +143,20 @@ fprint_manager_init (FprintManager *manager)
|
|||||||
g_free(path);
|
g_free(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!no_timeout)
|
if (!priv->no_timeout)
|
||||||
priv->timeout_id = g_timeout_add_seconds (TIMEOUT, (GSourceFunc) fprint_manager_timeout_cb, manager);
|
priv->timeout_id = g_timeout_add_seconds (TIMEOUT, (GSourceFunc) fprint_manager_timeout_cb, manager);
|
||||||
}
|
}
|
||||||
|
|
||||||
FprintManager *fprint_manager_new(void)
|
FprintManager *fprint_manager_new(gboolean no_timeout)
|
||||||
{
|
{
|
||||||
return g_object_new(FPRINT_TYPE_MANAGER, NULL);
|
FprintManagerPrivate *priv;
|
||||||
|
GObject *object;
|
||||||
|
|
||||||
|
object = g_object_new(FPRINT_TYPE_MANAGER, NULL);
|
||||||
|
priv = FPRINT_MANAGER_GET_PRIVATE (object);
|
||||||
|
priv->no_timeout = no_timeout;
|
||||||
|
|
||||||
|
return FPRINT_MANAGER (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
GError *fprint_manager_get_error(FprintManager *manager)
|
GError *fprint_manager_get_error(FprintManager *manager)
|
||||||
@ -192,3 +202,12 @@ static gboolean fprint_manager_get_default_device(FprintManager *manager,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GQuark fprint_error_quark(void)
|
||||||
|
{
|
||||||
|
static GQuark quark = 0;
|
||||||
|
if (!quark)
|
||||||
|
quark = g_quark_from_static_string("fprintd-error-quark");
|
||||||
|
return quark;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user