VirtualBox

source: vbox/trunk/src/VBox/Main/idl/xpidl_iid.xsl@ 83640

Last change on this file since 83640 was 82969, checked in by vboxsync, 5 years ago

Copyright year updates - manual ones.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.6 KB
Line 
1<?xml version="1.0"?>
2<!-- $Id: xpidl_iid.xsl 82969 2020-02-04 10:54:12Z vboxsync $ -->
3
4<!--
5 * A template to generate a header file containing IIDs for XPCOM
6 * from the generic interface definition expressed in XML.
7
8 Copyright (C) 2006-2020 Oracle Corporation
9
10 This file is part of VirtualBox Open Source Edition (OSE), as
11 available from http://www.virtualbox.org. This file is free software;
12 you can redistribute it and/or modify it under the terms of the GNU
13 General Public License (GPL) as published by the Free Software
14 Foundation, in version 2 as it comes in the "COPYING" file of the
15 VirtualBox OSE distribution. VirtualBox OSE is distributed in the
16 hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
17-->
18
19<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
20<xsl:output method="text"/>
21
22<xsl:strip-space elements="*"/>
23
24<!--
25// templates
26/////////////////////////////////////////////////////////////////////////////
27-->
28
29
30<!--
31 * not explicitly matched elements and attributes
32-->
33<xsl:template match="*"/>
34
35
36<!--
37 * header
38-->
39<xsl:template match="/idl">
40 <xsl:text>
41/*
42 * DO NOT EDIT! This is a generated file.
43 *
44 * XPCOM C definitions for VirtualBox Main API (IIDs for COM interfaces)
45 * generated from XIDL (XML interface definition).
46 *
47 * Source : src/VBox/Main/idl/VirtualBox.xidl
48 * Generator : src/VBox/Main/idl/xpidl_iid.xsl
49 */
50
51#ifndef nsID_h__
52struct nsID
53{
54 unsigned int m0;
55 unsigned short m1;
56 unsigned short m2;
57 unsigned char m3[8];
58};
59
60typedef struct nsID nsID;
61typedef struct nsID nsIID;
62typedef struct nsID nsCID;
63#endif /* nsID_h__ */
64
65#ifdef __cplusplus
66extern "C" {
67#endif
68
69</xsl:text>
70 <xsl:apply-templates/>
71 <xsl:text>
72
73#ifdef __cplusplus
74}
75#endif
76
77</xsl:text>
78</xsl:template>
79
80
81<!--
82 * ignore all |if|s except those for XPIDL target
83-->
84<xsl:template match="if">
85 <xsl:if test="@target='xpidl'">
86 <xsl:apply-templates/>
87 </xsl:if>
88</xsl:template>
89
90
91<!--
92 * libraries
93-->
94<xsl:template match="library">
95 <xsl:apply-templates select="application/if | application/interface"/>
96 <xsl:apply-templates select="application/module"/>
97</xsl:template>
98
99
100<!--
101 * interfaces
102-->
103<xsl:template match="interface">
104 <xsl:text>const nsID IID_</xsl:text>
105 <xsl:value-of select="@name"/>
106 <xsl:text> = {&#x0A;</xsl:text>
107 <xsl:text> 0x</xsl:text><xsl:value-of select="substring(@uuid,1,8)"/>
108 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,10,4)"/>
109 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,15,4)"/>
110 <xsl:text>, \&#x0A; </xsl:text>
111 <xsl:text>{ 0x</xsl:text><xsl:value-of select="substring(@uuid,20,2)"/>
112 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,22,2)"/>
113 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,25,2)"/>
114 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,27,2)"/>
115 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,29,2)"/>
116 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,31,2)"/>
117 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,33,2)"/>
118 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,35,2)"/>
119 <xsl:text> } \&#x0A;};&#x0A;&#x0A;</xsl:text>
120</xsl:template>
121
122
123<!--
124 * modules
125-->
126<xsl:template match="module">
127 <xsl:apply-templates select="class"/>
128</xsl:template>
129
130
131<!--
132 * co-classes
133-->
134<xsl:template match="module/class">
135 <xsl:text>const nsCID CLSID_</xsl:text>
136 <xsl:value-of select="@name"/>
137 <xsl:text> = {&#x0A;</xsl:text>
138 <xsl:text> 0x</xsl:text><xsl:value-of select="substring(@uuid,1,8)"/>
139 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,10,4)"/>
140 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,15,4)"/>
141 <xsl:text>, \&#x0A; </xsl:text>
142 <xsl:text>{ 0x</xsl:text><xsl:value-of select="substring(@uuid,20,2)"/>
143 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,22,2)"/>
144 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,25,2)"/>
145 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,27,2)"/>
146 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,29,2)"/>
147 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,31,2)"/>
148 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,33,2)"/>
149 <xsl:text>, 0x</xsl:text><xsl:value-of select="substring(@uuid,35,2)"/>
150 <xsl:text> } \&#x0A;};&#x0A;&#x0A;</xsl:text>
151</xsl:template>
152
153
154<xsl:template match="application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']//module/class" />
155
156<xsl:template match="application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']/if//interface
157| application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']//interface" />
158
159</xsl:stylesheet>
160
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette