diff options
author | Xavier Claessens <xclaesse@src.gnome.org> | 2008-02-26 21:31:02 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2008-02-26 21:31:02 +0800 |
commit | c3751daec7cca3e44abfed1db475cf0fc4703d66 (patch) | |
tree | 4ba009a19d6f3254acb8d91be788d49a7e259fc2 /tools/c-interfaces-generator.xsl | |
parent | 035e672692a3c63ccf7b927b0b7b74438c1f0e24 (diff) | |
download | gsoc2013-empathy-c3751daec7cca3e44abfed1db475cf0fc4703d66.tar gsoc2013-empathy-c3751daec7cca3e44abfed1db475cf0fc4703d66.tar.gz gsoc2013-empathy-c3751daec7cca3e44abfed1db475cf0fc4703d66.tar.bz2 gsoc2013-empathy-c3751daec7cca3e44abfed1db475cf0fc4703d66.tar.lz gsoc2013-empathy-c3751daec7cca3e44abfed1db475cf0fc4703d66.tar.xz gsoc2013-empathy-c3751daec7cca3e44abfed1db475cf0fc4703d66.tar.zst gsoc2013-empathy-c3751daec7cca3e44abfed1db475cf0fc4703d66.zip |
Import tools from telepathy-glib 0.7.3 and build a static libemp-extensions.la.
Link that library into libempathy (it's not actually used for anything at this
point).
Extensions currently built: ChannelHandler and StreamEngine.
The namespacing convention used is emp_*, Emp*, EMP_* so it won't be included
in the library ABI.
svn path=/trunk/; revision=663
Diffstat (limited to 'tools/c-interfaces-generator.xsl')
-rw-r--r-- | tools/c-interfaces-generator.xsl | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/tools/c-interfaces-generator.xsl b/tools/c-interfaces-generator.xsl new file mode 100644 index 000000000..f965a7051 --- /dev/null +++ b/tools/c-interfaces-generator.xsl @@ -0,0 +1,84 @@ +<!-- Stylesheet to extract C enumerations from the Telepathy spec. +The master copy of this stylesheet is in telepathy-glib - please make any +changes there. + +Copyright (C) 2006, 2007 Collabora Limited + +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. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +--> + +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0" + exclude-result-prefixes="tp"> + + <xsl:param name="mixed-case-prefix" select="''"/> + + <xsl:variable name="PREFIX" + select="translate($mixed-case-prefix, $lower, $upper)"/> + <xsl:variable name="Prefix" select="$mixed-case-prefix"/> + <xsl:variable name="prefix" + select="translate($mixed-case-prefix, $upper, $lower)"/> + + <xsl:output method="text" indent="no" encoding="ascii"/> + + <xsl:variable name="upper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/> + <xsl:variable name="lower" select="'abcdefghijklmnopqrstuvwxyz'"/> + + <xsl:template match="interface"> + <xsl:text>/** * </xsl:text> + <xsl:value-of select="$PREFIX"/> + <xsl:text>_IFACE_</xsl:text> + <xsl:value-of select="translate(../@name, concat($lower, '/'), $upper)"/> + <xsl:text>: * * The interface name "</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>" */ #define </xsl:text> + <xsl:value-of select="$PREFIX"/> + <xsl:text>_IFACE_</xsl:text> + <xsl:value-of select="translate(../@name, concat($lower, '/'), $upper)"/> + <xsl:text> \ "</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>" </xsl:text> + </xsl:template> + + <xsl:template match="text()"/> + + <xsl:template match="/tp:spec"> + <xsl:if test="$mixed-case-prefix = ''"> + <xsl:message terminate="yes"> + <xsl:text>mixed-case-prefix param must be set </xsl:text> + </xsl:message> + </xsl:if> + + <xsl:text>/* Generated from: </xsl:text> + <xsl:value-of select="tp:title"/> + <xsl:if test="tp:version"> + <xsl:text> version </xsl:text> + <xsl:value-of select="tp:version"/> + </xsl:if> + <xsl:text> </xsl:text> + <xsl:for-each select="tp:copyright"> + <xsl:value-of select="."/> + <xsl:text> </xsl:text> + </xsl:for-each> + <xsl:text> </xsl:text> + <xsl:value-of select="tp:license"/> + <xsl:value-of select="tp:docstring"/> + <xsl:text> */ </xsl:text> + <xsl:apply-templates/> + </xsl:template> + +</xsl:stylesheet> + +<!-- vim:set sw=2 sts=2 et noai noci: --> |