VirtualBox_rgs.xsl revision a74782eac5771b0de57834e8c8c0247c55e8dd57
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse * A template to generate a RGS resource script that contains
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse * registry definitions necessary to properly register
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse * VirtualBox Main API COM components.
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse Copyright (C) 2007 Oracle Corporation
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse This file is part of VirtualBox Open Source Edition (OSE), as
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse available from http://www.virtualbox.org. This file is free software;
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rse you can redistribute it and/or modify it under the terms of the GNU
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rse General Public License (GPL) as published by the Free Software
bc8fd1b0b1afdf89b8d28eefa8cd74e26ba97986fielding Foundation, in version 2 as it comes in the "COPYING" file of the
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rse VirtualBox OSE distribution. VirtualBox OSE is distributed in the
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rse// parameters
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse/////////////////////////////////////////////////////////////////////////////
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rse<!-- Name of the module to generate the RGS script for -->
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rse// templates
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rse/////////////////////////////////////////////////////////////////////////////
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rse * libraries
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rse NoRemove AppID
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse {<xsl:value-of select="@appUuid"/>} = s '<xsl:value-of select="@name"/> Application'
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse<xsl:apply-templates select="module[@name=$Module]/class"/>
a943533fd4d91d114af622731a405407990c4fb1rse <xsl:variable name="cname" select="concat(//library/@name,'.',@name)"/>
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse <xsl:variable name="desc" select="concat(@name,' Class')"/>
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse <xsl:value-of select="concat($cname,'.1')"/> = s '<xsl:value-of select="$desc"/>'
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse <xsl:value-of select="$cname"/> = s '<xsl:value-of select="$desc"/>'
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse CurVer = s '<xsl:value-of select="concat($cname,'.1')"/>'
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse NoRemove CLSID
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse ForceRemove {<xsl:value-of select="@uuid"/>} = s '<xsl:value-of select="$desc"/>'
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse ProgId = s '<xsl:value-of select="concat($cname,'.1')"/>'
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse VersionIndependentProgID = s '<xsl:value-of select="$cname"/>'
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse <xsl:when test="../@context='InprocServer'">InprocServer32</xsl:when>
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse <xsl:when test="../@context='LocalServer'">LocalServer32</xsl:when>
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse <xsl:value-of select="concat(../../@name,'::',../@name,': ')"/>
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse <xsl:value-of select="concat('"',../@context,'"')"/>
a943533fd4d91d114af622731a405407990c4fb1rse <xsl:variable name="tmodel" select="(./@threadingModel | ../@threadingModel)[last()]"/>{
a943533fd4d91d114af622731a405407990c4fb1rse <xsl:when test="$tmodel='Apartment'">Apartment</xsl:when>
7933d4a963def02417113b6798d87a36395053b0rse <xsl:value-of select="concat(../../@name,'::',@name,': ')"/>
9603c496d9e1dbc213141ca64378df5fa45a9aa4dougm <xsl:value-of select="concat('"',$tmodel,'"')"/>
af5dd1c93d2185f7e37f8783c593b64fd35ea8a6wrowe val AppId = s '{<xsl:value-of select="//library/@appUuid"/>}'
af5dd1c93d2185f7e37f8783c593b64fd35ea8a6wrowe 'TypeLib' = s '{<xsl:value-of select="//library/@uuid"/>}'
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse * eat everything else not explicitly matched