VirtualBox

source: vbox/trunk/src/VBox/Main/idl/VirtualBox.dtd

Last change on this file was 98103, checked in by vboxsync, 16 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 8.6 KB
Line 
1<!--
2 Unofficial DTD for the VirtualBox.xidl file. This is not currently used:
3 neither by the VirtualBox build process nor at runtime, so it's not shipped
4 with the product either, and thus not guaranteed to be up to date.
5 It is still the only sort-of-documentation available about what is valid
6 XIDL syntax.
7-->
8<!--
9 Copyright (C) 2008-2023 Oracle and/or its affiliates.
10
11 This file is part of VirtualBox base platform packages, as
12 available from https://www.virtualbox.org.
13
14 This program is free software; you can redistribute it and/or
15 modify it under the terms of the GNU General Public License
16 as published by the Free Software Foundation, in version 3 of the
17 License.
18
19 This program is distributed in the hope that it will be useful, but
20 WITHOUT ANY WARRANTY; without even the implied warranty of
21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22 General Public License for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with this program; if not, see <https://www.gnu.org/licenses>.
26
27 SPDX-License-Identifier: GPL-3.0-only
28-->
29 <!ELEMENT idl (desc|if|library)*> <!-- done -->
30 <!ELEMENT if ANY> <!-- done -->
31 <!ATTLIST if target (midl|xpidl|wsdl) #REQUIRED>
32 <!ELEMENT cpp ANY> <!-- done -->
33 <!ATTLIST cpp line CDATA #IMPLIED>
34 <!ELEMENT library (application|if)*> <!-- done -->
35 <!ATTLIST library name CDATA #REQUIRED>
36 <!ATTLIST library uuid CDATA #REQUIRED>
37 <!ATTLIST library version CDATA #REQUIRED>
38 <!ELEMENT application (descGroup|if|result|enum|interface|module)*> <!-- done -->
39 <!ATTLIST application name CDATA #REQUIRED>
40 <!ATTLIST application uuid CDATA #REQUIRED>
41 <!ATTLIST application supportsErrorInfo CDATA #REQUIRED>
42 <!ELEMENT result (#PCDATA|desc|link)*> <!-- done -->
43 <!ATTLIST result name CDATA #REQUIRED>
44 <!ATTLIST result value CDATA #IMPLIED>
45 <!ELEMENT module (class)*> <!-- done -->
46 <!ATTLIST module name CDATA #REQUIRED>
47 <!ATTLIST module context CDATA #REQUIRED>
48 <!ATTLIST module threadingModel CDATA #IMPLIED>
49 <!ELEMENT enum (desc?, const+)> <!-- done -->
50 <!ATTLIST enum name CDATA #REQUIRED>
51 <!ATTLIST enum uuid CDATA #REQUIRED>
52 <!ELEMENT const (desc?)> <!-- done -->
53 <!ATTLIST const name CDATA #REQUIRED>
54 <!ATTLIST const value CDATA #REQUIRED>
55 <!ATTLIST const wsmap (managed|suppress) "managed">
56 <!ELEMENT interface (desc?, (attribute|method|class|if)*)> <!-- done -->
57 <!ATTLIST interface name CDATA #REQUIRED>
58 <!ATTLIST interface extends CDATA #IMPLIED>
59 <!ATTLIST interface uuid CDATA #IMPLIED>
60 <!ATTLIST interface supportsErrorInfo (yes|no) #IMPLIED>
61 <!ATTLIST interface default (yes|no) "no">
62 <!ATTLIST interface internal (yes|no) "no">
63 <!ATTLIST interface wsmap (fail|global|struct|managed|suppress) "fail">
64 <!-- wsmap specifies how this interface is mapped to the
65 web services API (WSDL). One of the following must be specified:
66 fail: the default value, for which vboxweb.xsl will raise an error and die.
67 global: object is a singleton and resides in global variable in the web service.
68 managed: objects of this type are referenced by managed object referenced
69 struct: object is a simple struct and can be copied as such
70 suppress: Skip this interface entirely, and all methods that use it -->
71 <!ATTLIST interface wscpp (generate|hardcoded) "generate">
72 <!-- wscpp specifies whether C++ code should be generated in methodmaps.cpp
73 as a mapper to COM APIs. By default, this is "generate"; however, if set
74 to "hardcoded", then no automatic C++ code should be generated. This is done
75 for webservice APIs that have no counterpart in COM and are hard-coded in
76 the webservice server, such as IManagedObjectReference and ISessionManager. -->
77 <!ATTLIST interface rest (managed|suppress) "suppress">
78 <!-- rest specifies how this interface is mapped to the
79 web services API (RESTful). One of the following must be specified:
80 managed: objects of this type are represented
81 suppress: the default value, skip this interface entirely -->
82 <!ATTLIST interface autogen CDATA #IMPLIED>
83 <!-- autogen names the style of code auto-generation for this
84 interface (currently only VBoxEvent). -->
85 <!ATTLIST interface autogenflags CDATA #IMPLIED>
86 <!-- autogenflags contains autogen tweaks.
87 For autoget=VBoxEvent: 'BSTR' - generate IN_BSTR variants of the functions. -->
88 <!ATTLIST interface id CDATA #IMPLIED>
89 <!-- id is only relevant for event interfaces, and specifies
90 which const name will be generated. -->
91 <!ATTLIST interface waitable (yes|no) "no">
92 <!-- waitable is only relevant for event interfaces, and
93 specifies that this event can be waited for. -->
94 <!ATTLIST interface wrap-hint-server-addinterfaces CDATA #IMPLIED>
95 <!ATTLIST interface wrap-hint-server CDATA #IMPLIED>
96 <!ATTLIST interface wrap-gen-hook (yes|no) "no">
97 <!ATTLIST interface notdual (yes|no) "no">
98 <!-- DTrace has a probe name length limit, so dtracename helps dealing with excessivly long names. -->
99 <!ATTLIST interface dtracename CDATA #IMPLIED>
100 <!ATTLIST interface reservedAttributes CDATA #IMPLIED>
101 <!ATTLIST interface reservedMethods CDATA #IMPLIED>
102 <!ELEMENT class (interface)> <!-- done -->
103 <!ATTLIST class name CDATA #REQUIRED>
104 <!ATTLIST class uuid CDATA #REQUIRED>
105 <!ATTLIST class namespace CDATA #REQUIRED>
106 <!ELEMENT attribute (desc?)> <!-- done -->
107 <!ATTLIST attribute name CDATA #REQUIRED>
108 <!ATTLIST attribute type CDATA #REQUIRED>
109 <!ATTLIST attribute default CDATA #IMPLIED>
110 <!ATTLIST attribute readonly (yes|no) "no">
111 <!ATTLIST attribute mod (ptr|string) #IMPLIED>
112 <!ATTLIST attribute internal (yes|no) "no">
113 <!ATTLIST attribute safearray (yes|no) "no">
114 <!ATTLIST attribute wsmap (managed|suppress) "managed">
115 <!ATTLIST attribute rest (uuid|suppress|default) "default">
116 <!ATTLIST attribute wrap-hint-server CDATA #IMPLIED>
117 <!-- DTrace has a probe name length limit, so dtracename helps dealing with excessivly long names. -->
118 <!ATTLIST attribute dtracename CDATA #IMPLIED>
119 <!ELEMENT method (rest?,desc?,param*,result*)> <!-- done -->
120 <!ATTLIST method name CDATA #REQUIRED>
121 <!ATTLIST method const CDATA "no">
122 <!ATTLIST method internal (yes|no) "no">
123 <!ATTLIST method wsmap (managed|suppress) "managed">
124 <!ATTLIST method wrap-hint-server CDATA #IMPLIED>
125 <!-- DTrace has a probe name length limit, so dtracename helps dealing with excessivly long names. -->
126 <!ATTLIST method dtracename CDATA #IMPLIED>
127 <!ELEMENT rest ANY> <!-- done -->
128 <!ATTLIST rest name CDATA #IMPLIED>
129 <!ATTLIST rest request (get|put|post|delete|patch) "get">
130 <!ATTLIST rest path CDATA #REQUIRED>
131 <!ELEMENT param (desc?)> <!-- done -->
132 <!ATTLIST param name CDATA #REQUIRED>
133 <!ATTLIST param type CDATA #REQUIRED>
134 <!ATTLIST param dir (in|out|return) #REQUIRED>
135 <!ATTLIST param mod (ptr|string) #IMPLIED>
136 <!ATTLIST param safearray (yes|no) "no">
137 <!ELEMENT descGroup (desc)*> <!-- done (ignoring, butt-ugly hack, improper nesting enforced all over the .xsl files!) -->
138 <!ATTLIST descGroup id CDATA #IMPLIED>
139 <!ATTLIST descGroup title CDATA #IMPLIED>
140 <!ELEMENT desc (#PCDATA|link|note|see|b|tt|i|pre|para|ul|ol|h3|table|result)*> <!-- done (ignoring) -->
141 <!-- the following only appear within descriptions -->
142 <!ELEMENT link (#PCDATA)>
143 <!ATTLIST link to CDATA #REQUIRED>
144 <!ELEMENT h3 ANY>
145 <!ELEMENT para ANY>
146 <!ELEMENT b ANY>
147 <!ELEMENT i ANY>
148 <!ELEMENT ul (#PCDATA|li)*>
149 <!ELEMENT ol (#PCDATA|li)*>
150 <!ELEMENT li ANY>
151 <!ELEMENT pre ANY>
152 <!ELEMENT tt ANY>
153 <!ELEMENT see (#PCDATA|link)*>
154 <!ELEMENT note ANY>
155 <!ATTLIST note internal (yes|no) "no">
156 <!ELEMENT table (tr)+>
157 <!ELEMENT tr (td|th)+>
158 <!ELEMENT th ANY>
159 <!ELEMENT td ANY>
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use