genjifaces.xsl revision fd168522254205059178a7e247606c9159ed2ae3
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:stylesheet version = '1.0'
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync extension-element-prefixes="exsl">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync XSLT stylesheet that generates Java XPCOM bridge intreface code from VirtualBox.xidl.
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync Copyright (C) 2010 Oracle Corporation
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync This file is part of VirtualBox Open Source Edition (OSE), as
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync available from http://www.virtualbox.org. This file is free software;
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync you can redistribute it and/or modify it under the terms of the GNU
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync General Public License (GPL) as published by the Free Software
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync Foundation, in version 2 as it comes in the "COPYING" file of the
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync VirtualBox OSE distribution. VirtualBox OSE is distributed in the
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync method="text"
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync version="1.0"
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync encoding="utf-8"
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync indent="no"/>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync global XSLT variables
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync - - - - - - - - - - - - - - - - - - - - - - -->
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:variable name="G_xsltFilename" select="'genjifaces.xsl'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:template name="uppercase">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:param name="str" select="."/>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="translate($str, 'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync</xsl:template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:template name="capitalize">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:param name="str" select="."/>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync concat(translate(substring($str,1,1),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ'),
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync substring($str,2))"/>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync</xsl:template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:template name="makeGetterName">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:param name="attrname" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="capsname">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="capitalize">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="str" select="$attrname" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:variable>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat('get', $capsname)" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync</xsl:template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:template name="makeSetterName">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:param name="attrname" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="capsname">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="capitalize">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="str" select="$attrname" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:variable>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat('set', $capsname)" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync</xsl:template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:template name="fileheader">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:param name="name" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:text>/**
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync * Copyright (C) 2010 Oracle Corporation
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync * available from http://www.virtualbox.org. This file is free software;
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync * you can redistribute it and/or modify it under the terms of the GNU
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync * General Public License (GPL) as published by the Free Software
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat(' * ',$name)"/>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync * DO NOT EDIT! This is a generated file.
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync * Generated from: src/VBox/Main/idl/VirtualBox.xidl (VirtualBox's interface definitions in XML)
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync * Generator: src/VBox/src/libs/xpcom18a4/java/tools/genjifaces.xsl
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync</xsl:template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:template name="startFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:param name="file" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat(' // ##### BEGINFILE "', $file, '" ')" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="fileheader">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="name" select="$file" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select=" 'package org.mozilla.interfaces; '" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync</xsl:template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:template name="endFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:param name="file" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat(' // ##### ENDFILE "', $file, '" ')" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync</xsl:template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:template name="emitHandwritten">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="startFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="file" select="'nsISupports.java'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:text><![CDATA[
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsyncpublic interface nsISupports
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync public static final String NS_ISUPPORTS_IID =
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync "{00000000-0000-0000-c000-000000000046}";
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync public nsISupports queryInterface(String arg1);
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync]]></xsl:text>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="endFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="file" select="'nsISupports.java'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:call-template name="startFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="file" select="'nsIComponentManager.java'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:text><![CDATA[
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsyncpublic interface nsIComponentManager extends nsISupports
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync public static final String NS_ICOMPONENTMANAGER_IID =
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync "{a88e5a60-205a-4bb1-94e1-2628daf51eae}";
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync public nsISupports getClassObject(String arg1, String arg2);
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync public nsISupports getClassObjectByContractID(String arg1, String arg2);
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync public nsISupports createInstance(String arg1, nsISupports arg2, String arg3);
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync public nsISupports createInstanceByContractID(String arg1, nsISupports arg2, String arg3);
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync]]></xsl:text>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="endFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="file" select="'nsIComponentManager.java'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:call-template name="startFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="file" select="'nsIServiceManager.java'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:text><![CDATA[
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsyncpublic interface nsIServiceManager extends nsISupports
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync public static final String NS_ISERVICEMANAGER_IID =
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync "{8bb35ed9-e332-462d-9155-4a002ab5c958}";
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync public nsISupports getService(String arg1, String arg2);
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync public nsISupports getServiceByContractID(String arg1, String arg2);
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync public boolean isServiceInstantiated(String arg1, String arg2);
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync public boolean isServiceInstantiatedByContractID(String arg1, String arg2);
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync]]></xsl:text>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="endFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="file" select="'nsIServiceManager.java'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:call-template name="startFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="file" select="'nsIComponentRegistrar.java'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:text><![CDATA[
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsyncpublic interface nsIComponentRegistrar extends nsISupports
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync public static final String NS_ICOMPONENTREGISTRAR_IID =
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync "{2417cbfe-65ad-48a6-b4b6-eb84db174392}";
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync // No methods - placeholder
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync]]></xsl:text>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="endFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="file" select="'nsIComponentRegistrar.java'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:call-template name="startFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="file" select="'nsIFile.java'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:text><![CDATA[
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsyncpublic interface nsIFile extends nsISupports
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync public static final String NS_IFILE_IID =
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync "{c8c0a080-0868-11d3-915f-d9d889d48e3c}";
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync // No methods - placeholder
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync]]></xsl:text>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="endFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="file" select="'nsIFile.java'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:call-template name="startFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="file" select="'nsILocalFile.java'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:text><![CDATA[
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsyncpublic interface nsILocalFile extends nsIFile
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync public static final String NS_ILOCALFILE_IID =
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync "{aa610f20-a889-11d3-8c81-000064657374}";
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync // No methods - placeholder
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync]]></xsl:text>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="endFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="file" select="'nsILocalFile.java'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync</xsl:template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:template name="genEnum">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:param name="enumname" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:param name="filename" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="startFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="file" select="$filename" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat('public interface ', $enumname, ' { ')" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="uppername">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="uppercase">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="str" select="$enumname" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:variable>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat(' public static final String ', $uppername, '_IID = ',
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync ' "{',@uuid, '}"; ')" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:for-each select="const">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="enumconst" select="@name" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat(' public static final long ', @name, ' = ', @value, 'L; ')" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:for-each>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="'} '" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="endFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="file" select="$filename" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync</xsl:template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:template name="typeIdl2Back">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:param name="type" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:param name="safearray" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:param name="forceelem" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="needarray" select="($safearray='yes') and not($forceelem='yes')" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:choose>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="$type='unsigned long long'">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <!-- stupid, rewrite the bridge -->
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="'double'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="$type='long long'">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="'long'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="$type='unsigned long'">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="'long'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="$type='long'">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="'int'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="$type='unsigned short'">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="'int'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="$type='short'">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="'short'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="$type='octet'">
d331c1c91fc1c4b9f019b9824e7dd9c2cdf804c0vboxsync <xsl:value-of select="'byte'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="$type='boolean'">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="'boolean'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="$type='$unknown'">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="'nsISupports'"/>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="$type='wstring'">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="'String'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="$type='uuid'">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="'String'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="//interface[@name=$type]">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="$type" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="//enum[@name=$type]">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="'long'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:choose>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:if test="$needarray">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="'[]'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync</xsl:template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:template name="genIface">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:param name="ifname" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:param name="filename" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="startFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="file" select="$filename" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="extendsidl" select="//interface[@name=$ifname]/@extends" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="extends">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:choose>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="($extendsidl = '$unknown') or ($extendsidl = '$dispatched') or ($extendsidl = '$errorinfo')">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="'nsISupports'" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:otherwise>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="$extendsidl" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:otherwise>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:choose>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:variable>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat('public interface ', $ifname, ' extends ', $extends, ' { ')" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="uppername">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="uppercase">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="str" select="$ifname" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:variable>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat(' public static final String ', $uppername, '_IID = ',
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync ' "{',@uuid, '}"; ')" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:for-each select="attribute">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="attrname" select="@name" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="attrtype" select="@type" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="gettername">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="makeGetterName">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="attrname" select="$attrname" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:variable>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="backtype">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="typeIdl2Back">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="type" select="$attrtype" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="safearray" select="@safearray" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:variable>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="callparam">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:if test="@safearray='yes'">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat(' long[] ', @name, 'Size')" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:variable>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat(' public ', $backtype, ' ', $gettername, '(',$callparam,'); ')" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:if test="not(@readonly='yes')">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="settername">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="makeSetterName">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="attrname" select="$attrname" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:variable>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat(' public void ', $settername, '(', $backtype, ' arg1); ')" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:for-each>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:for-each select="method">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="methodname" select="@name" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="returnidltype" select="param[@dir='return']/@type" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="returnidlsafearray" select="param[@dir='return']/@safearray" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="returntype">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:choose>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="$returnidltype">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="typeIdl2Back">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="type" select="$returnidltype" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="safearray" select="$returnidlsafearray" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:otherwise>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:text>void</xsl:text>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:otherwise>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:choose>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:variable>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat(' public ', $returntype, ' ', $methodname, '(')" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:for-each select="param">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="paramtype">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="typeIdl2Back">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="type" select="@type" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="safearray" select="@safearray" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:variable>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:choose>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="(@safearray='yes') and (@dir='return')">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat('long[] ', @name)" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="(@safearray='yes') and (@dir='out')">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat('long[] ', @name, 'Size, ', $paramtype, '[] ', @name)" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
fd168522254205059178a7e247606c9159ed2ae3vboxsync <xsl:when test="(@safearray='yes') and (@dir='in') and (@type='octet')">
fd168522254205059178a7e247606c9159ed2ae3vboxsync <xsl:value-of select="concat($paramtype, ' ', @name)" />
fd168522254205059178a7e247606c9159ed2ae3vboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="(@safearray='yes') and (@dir='in')">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat('long ', @name, 'Size, ', $paramtype, ' ', @name)" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="@dir='out'">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat($paramtype, '[] ', @name)" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:when test="@dir='in'">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="concat($paramtype, ' ', @name)" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:when>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:choose>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:if test="not(position()=last()) and not(following-sibling::param[1]/@dir='return' and not(following-sibling::param[1]/@safearray='yes'))">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="', '" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:for-each>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select=" '); '" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:for-each>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:value-of select="'} '" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="endFile">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="file" select="$filename" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync</xsl:template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync<xsl:template match="/">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <!-- Handwritten files -->
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="emitHandwritten"/>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <!-- Enums -->
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:for-each select="//enum">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="genEnum">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="enumname" select="@name" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="filename" select="concat(@name, '.java')" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:for-each>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <!-- Interfaces -->
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:for-each select="//interface">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="self_target" select="current()/ancestor::if/@target"/>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:variable name="module" select="current()/ancestor::module/@name"/>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <!-- We don't need WSDL-specific interfaces here -->
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:if test="not($self_target='wsdl') and not($module)">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:call-template name="genIface">
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="ifname" select="@name" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync <xsl:with-param name="filename" select="concat(@name, '.java')" />
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:call-template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync </xsl:for-each>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync</xsl:template>
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync</xsl:stylesheet>