Changeset 7607 in vbox
- Timestamp:
- Mar 27, 2008 9:33:38 PM (17 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/ostypes.h
r7233 r7607 54 54 VBOXOSTYPE_Win2k3 = 0x34000, 55 55 VBOXOSTYPE_WinVista = 0x35000, 56 VBOXOSTYPE_Win2k8 = 0x36000, 56 57 VBOXOSTYPE_OS2 = 0x40000, 57 58 VBOXOSTYPE_OS2Warp3 = 0x41000, 58 59 VBOXOSTYPE_OS2Warp4 = 0x42000, 59 60 VBOXOSTYPE_OS2Warp45 = 0x43000, 61 VBOXOSTYPE_ECS = 0x44000, 60 62 VBOXOSTYPE_Linux = 0x50000, 61 63 VBOXOSTYPE_Linux22 = 0x51000, 62 64 VBOXOSTYPE_Linux24 = 0x52000, 63 65 VBOXOSTYPE_Linux26 = 0x53000, 66 VBOXOSTYPE_ArchLinux = 0x54000, 67 VBOXOSTYPE_Debian = 0x55000, 68 VBOXOSTYPE_OpenSUSE = 0x56000, 69 VBOXOSTYPE_FedoraCore= 0x57000, 70 VBOXOSTYPE_Gentoo = 0x58000, 71 VBOXOSTYPE_Mandriva = 0x59000, 72 VBOXOSTYPE_RedHat = 0x5A000, 73 VBOXOSTYPE_Ubuntu = 0x5B000, 74 VBOXOSTYPE_Xandros = 0x5C000, 64 75 VBOXOSTYPE_FreeBSD = 0x60000, 65 76 VBOXOSTYPE_OpenBSD = 0x61000, -
trunk/src/VBox/Main/Makefile.kmk
r7442 r7607 503 503 504 504 # 505 # Generate SchemaDefs.h from XML Schema505 # Generate SchemaDefs.h and SchemaDefs.cpp from XML Schema 506 506 # 507 507 VBOX_XML_SCHEMADEFS_H = $(PATH_TARGET)/SchemaDefs.h 508 VBOX_XML_SCHEMADEFS_CPP = $(PATH_TARGET)/SchemaDefs.cpp 508 509 VBOX_XML_SCHEMADEFS_XSL = xml/SchemaDefs.xsl 509 510 510 511 VBoxC_DEPS += $(VBOX_XML_SCHEMADEFS_H) 511 512 VBoxC_INCS += $(PATH_TARGET) 513 512 514 VBoxSVC_DEPS += $(VBOX_XML_SCHEMADEFS_H) 513 515 VBoxSVC_INCS += $(PATH_TARGET) 516 VBoxSVC_SOURCES += $(VBOX_XML_SCHEMADEFS_CPP) 514 517 515 518 $(VBOX_XML_SCHEMADEFS_H): $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA.$(BUILD_TARGET)) $(VBOX_XML_SCHEMA_COMMON) 516 $(call MSG_TOOL,xsltproc,VBoxSVC,$<,$@) 517 $(QUIET)$(VBOX_XSLTPROC) -o $@ $(filter-out $(VBOX_XML_SCHEMA_COMMON),$^) 518 519 OTHER_CLEAN += $(VBOX_XML_SCHEMADEFS_H) 520 .NOTPARALLEL: $(VBOX_XML_SCHEMADEFS_H) 519 $(call MSG_TOOL,xsltproc,SchemaDefs,$<,$@) 520 $(QUIET)$(VBOX_XSLTPROC) --stringparam mode declare -o $@ $(filter-out $(VBOX_XML_SCHEMA_COMMON),$^) 521 522 $(VBOX_XML_SCHEMADEFS_CPP): $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA.$(BUILD_TARGET)) $(VBOX_XML_SCHEMA_COMMON) 523 $(call MSG_TOOL,xsltproc,SchemaDefs,$<,$@) 524 $(QUIET)$(VBOX_XSLTPROC) --stringparam mode define -o $@ $(filter-out $(VBOX_XML_SCHEMA_COMMON),$^) 525 526 OTHER_CLEAN += $(VBOX_XML_SCHEMADEFS_H) $(VBOX_XML_SCHEMADEFS_CPP) 527 .NOTPARALLEL: $(VBOX_XML_SCHEMADEFS_H) $(VBOX_XML_SCHEMADEFS_CPP) 521 528 522 529 … … 665 672 endif 666 673 674 testschemadefs: $(VBOX_XML_SCHEMADEFS_H) $(VBOX_XML_SCHEMADEFS_CPP) 675 667 676 $(PATH_BIN)/comregister.cmd: win32/comregister.cmd 668 677 $(CP) $< $@ -
trunk/src/VBox/Main/VirtualBoxImpl.cpp
r7370 r7607 4479 4479 const uint32_t recommendedVRAM; 4480 4480 const uint32_t recommendedHDD; 4481 } OSTypes [] =4481 } OSTypes [SchemaDefs::OSTypeId_COUNT] = 4482 4482 { 4483 4483 /// @todo (dmik) get the list of OS types from the XML schema … … 4485 4485 * NOTE2: please use powers of 2 when specifying the size of harddisks since 4486 4486 * '2GB' looks better than '1.95GB' (= 2000MB) */ 4487 { "unknown", tr ("Other/Unknown"), VBOXOSTYPE_Unknown, 64, 4, 2 * _1K }, 4488 { "dos", "DOS", VBOXOSTYPE_DOS, 32, 4, 512 }, 4489 { "win31", "Windows 3.1", VBOXOSTYPE_Win31, 32, 4, 1 * _1K }, 4490 { "win95", "Windows 95", VBOXOSTYPE_Win95, 64, 4, 2 * _1K }, 4491 { "win98", "Windows 98", VBOXOSTYPE_Win98, 64, 4, 2 * _1K }, 4492 { "winme", "Windows Me", VBOXOSTYPE_WinMe, 64, 4, 4 * _1K }, 4493 { "winnt4", "Windows NT 4", VBOXOSTYPE_WinNT4, 128, 4, 2 * _1K }, 4494 { "win2k", "Windows 2000", VBOXOSTYPE_Win2k, 168, 4, 4 * _1K }, 4495 { "winxp", "Windows XP", VBOXOSTYPE_WinXP, 192, 4, 10 * _1K }, 4496 { "win2k3", "Windows Server 2003", VBOXOSTYPE_Win2k3, 256, 4, 20 * _1K }, 4497 { "winvista", "Windows Vista", VBOXOSTYPE_WinVista, 512, 4, 20 * _1K }, 4498 { "os2warp3", "OS/2 Warp 3", VBOXOSTYPE_OS2Warp3, 48, 4, 1 * _1K }, 4499 { "os2warp4", "OS/2 Warp 4", VBOXOSTYPE_OS2Warp4, 64, 4, 2 * _1K }, 4500 { "os2warp45", "OS/2 Warp 4.5", VBOXOSTYPE_OS2Warp45, 96, 4, 2 * _1K }, 4501 { "linux22", "Linux 2.2", VBOXOSTYPE_Linux22, 64, 4, 2 * _1K }, 4502 { "linux24", "Linux 2.4", VBOXOSTYPE_Linux24, 128, 4, 4 * _1K }, 4503 { "linux26", "Linux 2.6", VBOXOSTYPE_Linux26, 256, 4, 8 * _1K }, 4504 { "freebsd", "FreeBSD", VBOXOSTYPE_FreeBSD, 64, 4, 2 * _1K }, 4505 { "openbsd", "OpenBSD", VBOXOSTYPE_OpenBSD, 64, 4, 2 * _1K }, 4506 { "netbsd", "NetBSD", VBOXOSTYPE_NetBSD, 64, 4, 2 * _1K }, 4507 { "netware", "Netware", VBOXOSTYPE_Netware, 128, 4, 4 * _1K }, 4508 { "solaris", "Solaris", VBOXOSTYPE_Solaris, 128, 4, 8 * _1K }, 4509 { "l4", "L4", VBOXOSTYPE_L4, 64, 4, 2 * _1K } 4487 { SchemaDefs_OSTypeId_unknown, tr ("Other/Unknown"), VBOXOSTYPE_Unknown, 64, 4, 2 * _1K }, 4488 { SchemaDefs_OSTypeId_dos, "DOS", VBOXOSTYPE_DOS, 32, 4, 512 }, 4489 { SchemaDefs_OSTypeId_win31, "Windows 3.1", VBOXOSTYPE_Win31, 32, 4, 1 * _1K }, 4490 { SchemaDefs_OSTypeId_win95, "Windows 95", VBOXOSTYPE_Win95, 64, 4, 2 * _1K }, 4491 { SchemaDefs_OSTypeId_win98, "Windows 98", VBOXOSTYPE_Win98, 64, 4, 2 * _1K }, 4492 { SchemaDefs_OSTypeId_winme, "Windows Me", VBOXOSTYPE_WinMe, 64, 4, 4 * _1K }, 4493 { SchemaDefs_OSTypeId_winnt4, "Windows NT 4", VBOXOSTYPE_WinNT4, 128, 4, 2 * _1K }, 4494 { SchemaDefs_OSTypeId_win2k, "Windows 2000", VBOXOSTYPE_Win2k, 168, 4, 4 * _1K }, 4495 { SchemaDefs_OSTypeId_winxp, "Windows XP", VBOXOSTYPE_WinXP, 192, 4, 10 * _1K }, 4496 { SchemaDefs_OSTypeId_win2k3, "Windows Server 2003", VBOXOSTYPE_Win2k3, 256, 4, 20 * _1K }, 4497 { SchemaDefs_OSTypeId_winvista, "Windows Vista", VBOXOSTYPE_WinVista, 512, 4, 20 * _1K }, 4498 { SchemaDefs_OSTypeId_win2k8, "Windows Server 2008", VBOXOSTYPE_Win2k8, 256, 4, 20 * _1K }, 4499 { SchemaDefs_OSTypeId_os2warp3, "OS/2 Warp 3", VBOXOSTYPE_OS2Warp3, 48, 4, 1 * _1K }, 4500 { SchemaDefs_OSTypeId_os2warp4, "OS/2 Warp 4", VBOXOSTYPE_OS2Warp4, 64, 4, 2 * _1K }, 4501 { SchemaDefs_OSTypeId_os2warp45, "OS/2 Warp 4.5", VBOXOSTYPE_OS2Warp45, 96, 4, 2 * _1K }, 4502 { SchemaDefs_OSTypeId_ecs, "eComStation", VBOXOSTYPE_ECS, 96, 4, 2 * _1K }, 4503 { SchemaDefs_OSTypeId_linux22, "Linux 2.2", VBOXOSTYPE_Linux22, 64, 4, 2 * _1K }, 4504 { SchemaDefs_OSTypeId_linux24, "Linux 2.4", VBOXOSTYPE_Linux24, 128, 4, 4 * _1K }, 4505 { SchemaDefs_OSTypeId_linux26, "Linux 2.6", VBOXOSTYPE_Linux26, 256, 4, 8 * _1K }, 4506 { SchemaDefs_OSTypeId_archlinux, "Arch Linux", VBOXOSTYPE_ArchLinux, 256, 4, 8 * _1K }, 4507 { SchemaDefs_OSTypeId_debian, "Debian", VBOXOSTYPE_Debian, 256, 4, 8 * _1K }, 4508 { SchemaDefs_OSTypeId_opensuse, "openSUSE", VBOXOSTYPE_OpenSUSE, 256, 4, 8 * _1K }, 4509 { SchemaDefs_OSTypeId_fedoracore,"Fedora Core", VBOXOSTYPE_FedoraCore,256, 4, 8 * _1K }, 4510 { SchemaDefs_OSTypeId_gentoo, "Gentoo Linux", VBOXOSTYPE_Gentoo, 256, 4, 8 * _1K }, 4511 { SchemaDefs_OSTypeId_mandriva, "Mandriva", VBOXOSTYPE_Mandriva, 256, 4, 8 * _1K }, 4512 { SchemaDefs_OSTypeId_redhat, "Red Hat", VBOXOSTYPE_RedHat, 256, 4, 8 * _1K }, 4513 { SchemaDefs_OSTypeId_ubuntu, "Ubuntu", VBOXOSTYPE_Ubuntu, 256, 4, 8 * _1K }, 4514 { SchemaDefs_OSTypeId_xandros, "Xandros", VBOXOSTYPE_Xandros, 256, 4, 8 * _1K }, 4515 { SchemaDefs_OSTypeId_freebsd, "FreeBSD", VBOXOSTYPE_FreeBSD, 64, 4, 2 * _1K }, 4516 { SchemaDefs_OSTypeId_openbsd, "OpenBSD", VBOXOSTYPE_OpenBSD, 64, 4, 2 * _1K }, 4517 { SchemaDefs_OSTypeId_netbsd, "NetBSD", VBOXOSTYPE_NetBSD, 64, 4, 2 * _1K }, 4518 { SchemaDefs_OSTypeId_netware, "Netware", VBOXOSTYPE_Netware, 128, 4, 4 * _1K }, 4519 { SchemaDefs_OSTypeId_solaris, "Solaris", VBOXOSTYPE_Solaris, 128, 4, 8 * _1K }, 4520 { SchemaDefs_OSTypeId_l4, "L4", VBOXOSTYPE_L4, 64, 4, 2 * _1K } 4510 4521 }; 4511 4522 -
trunk/src/VBox/Main/xml/SchemaDefs.xsl
r7466 r7607 10 10 11 11 Copyright (C) 2006-2007 innotek GmbH 12 12 13 13 This file is part of VirtualBox Open Source Edition (OSE), as 14 14 available from http://www.virtualbox.org. This file is free software; … … 28 28 <xsl:strip-space elements="*"/> 29 29 30 <xsl:param name="mode" expr=''/> 31 30 32 <!-- 31 33 // helpers … … 54 56 --> 55 57 <xsl:template match="*"/> 56 57 < !--58 * header 59 --> 58 <xsl:template match="*" mode="declare"/> 59 <xsl:template match="*" mode="declare.enum"/> 60 <xsl:template match="*" mode="define"/> 61 60 62 <xsl:template match="/"> 63 <xsl:choose> 64 <xsl:when test="$mode='declare'"> 65 <xsl:apply-templates select="/" mode="declare"/> 66 </xsl:when> 67 <xsl:when test="$mode='define'"> 68 <xsl:apply-templates select="/" mode="define"/> 69 </xsl:when> 70 <xsl:otherwise> 71 <xsl:message terminate="yes"> 72 Value '<xsl:value-of select="$mode"/>' of parameter 'mode' is invalid! 73 </xsl:message> 74 </xsl:otherwise> 75 </xsl:choose> 76 </xsl:template> 77 78 <!-- 79 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 80 * declare mode (C++ header file) 81 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 82 --> 83 84 <xsl:template match="/" mode="declare"> 61 85 <xsl:text> 62 86 /* 63 87 * DO NOT EDIT. 64 88 * 65 * This header is automatically generated from the VirtualBox XML S chema66 * and contains selected schema constraints defined in C.89 * This header is automatically generated from the VirtualBox XML Settings 90 * Schema and contains selected schema constraints declared in C++. 67 91 */ 68 92 … … 70 94 #define ____H_SCHEMADEFS 71 95 72 structSchemaDefs96 namespace SchemaDefs 73 97 { 74 98 enum … … 76 100 </xsl:text> 77 101 78 <xsl:apply-templates select="xsd:schema" />102 <xsl:apply-templates select="xsd:schema" mode="declare.enum"/> 79 103 80 104 <xsl:text> }; 81 }; 105 </xsl:text> 106 107 <xsl:apply-templates select="xsd:schema" mode="declare"/> 108 109 <xsl:text>} 82 110 83 111 #endif // ____H_SCHEMADEFS … … 86 114 87 115 <!-- 88 * e xtract schema definitions89 --> 90 <xsl:template match="xsd:schema" >116 * enumeration values 117 --> 118 <xsl:template match="xsd:schema" mode="declare.enum"> 91 119 92 120 <!-- process include statements --> … … 94 122 <!-- skip VirtualBox-settings-root.xsd inclusion as it is computed at runtime --> 95 123 <xsl:if test="not(@schemaLocation='VirtualBox-settings-root.xsd')"> 96 <xsl:apply-templates select="document(@schemaLocation)/xsd:schema" />124 <xsl:apply-templates select="document(@schemaLocation)/xsd:schema" mode="declare.enum"/> 97 125 </xsl:if> 98 126 </xsl:for-each> … … 123 151 "/> 124 152 </xsl:call-template> 153 125 154 <xsl:call-template name="defineEnumMember"> 126 155 <xsl:with-param name="member" select="' MaxGuestMonitors'"/> … … 135 164 "/> 136 165 </xsl:call-template> 166 137 167 <xsl:call-template name="defineEnumMember"> 138 168 <xsl:with-param name="member" select="' SerialPortCount'"/> … … 141 171 "/> 142 172 </xsl:call-template> 173 143 174 <xsl:call-template name="defineEnumMember"> 144 175 <xsl:with-param name="member" select="' ParallelPortCount'"/> … … 147 178 "/> 148 179 </xsl:call-template> 180 149 181 <xsl:call-template name="defineEnumMember"> 150 182 <xsl:with-param name="member" select="' MaxBootPosition'"/> … … 156 188 </xsl:template> 157 189 190 <!-- 191 * aliases (defines) for individual OSTypeIds array elements 192 --> 193 <xsl:template match="xsd:schema" mode="declare"> 194 195 <xsl:text>
 extern const char *OSTypeIds[];
</xsl:text> 196 197 <xsl:text>
 enum { OSTypeId_COUNT = </xsl:text> 198 <xsl:value-of select="count ( 199 xsd:simpleType[@name='TGuestOSType']/xsd:restriction[@base='xsd:string']/xsd:enumeration | 200 document(xsd:include[not(@schemaLocation='VirtualBox-settings-root.xsd')]/@schemaLocation)/xsd:schema/xsd:simpleType[@name='TGuestOSType']/xsd:restriction[@base='xsd:string']/xsd:enumeration 201 )"/> 202 <xsl:text> };

</xsl:text> 203 204 <xsl:for-each select=" 205 xsd:simpleType[@name='TGuestOSType']/xsd:restriction[@base='xsd:string']/xsd:enumeration | 206 document(xsd:include[not(@schemaLocation='VirtualBox-settings-root.xsd')]/@schemaLocation)/xsd:schema/xsd:simpleType[@name='TGuestOSType']/xsd:restriction[@base='xsd:string']/xsd:enumeration 207 "> 208 <xsl:text> #define SchemaDefs_OSTypeId_</xsl:text> 209 <xsl:value-of select="@value"/> 210 <xsl:text> SchemaDefs::OSTypeIds [</xsl:text> 211 <xsl:value-of select="position()-1"/> 212 <xsl:text>]
</xsl:text> 213 </xsl:for-each> 214 215 </xsl:template> 216 217 <!-- 218 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 219 * define mode (C++ source file) 220 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 221 --> 222 223 <xsl:template match="/" mode="define"> 224 <xsl:text> 225 /* 226 * DO NOT EDIT. 227 * 228 * This source is automatically generated from the VirtualBox XML Settings 229 * Schema and contains selected schema constraints defined in C++. 230 */ 231 232 #include "SchemaDefs.h" 233 234 namespace SchemaDefs 235 { 236 </xsl:text> 237 238 <xsl:apply-templates select="xsd:schema" mode="define"/> 239 240 <xsl:text>} 241 </xsl:text> 242 </xsl:template> 243 244 <!-- 245 * array of OSTypeIds 246 --> 247 <xsl:template match="xsd:schema" mode="define"> 248 <xsl:text> const char *OSTypeIds[] = 249 { 250 </xsl:text> 251 <xsl:for-each select=" 252 xsd:simpleType[@name='TGuestOSType']/xsd:restriction[@base='xsd:string']/xsd:enumeration | 253 document(xsd:include[not(@schemaLocation='VirtualBox-settings-root.xsd')]/@schemaLocation)/xsd:schema/xsd:simpleType[@name='TGuestOSType']/xsd:restriction[@base='xsd:string']/xsd:enumeration 254 "> 255 <xsl:text> "</xsl:text> 256 <xsl:value-of select="@value"/> 257 <xsl:text>", 258 </xsl:text> 259 </xsl:for-each> 260 <xsl:text> }; 261 </xsl:text> 262 </xsl:template> 263 264 <!-- 265 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 266 * END 267 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 268 --> 269 158 270 </xsl:stylesheet> -
trunk/src/VBox/Main/xml/VirtualBox-settings-common.xsd
r7556 r7607 131 131 <xsd:simpleType name="TGuestOSType"> 132 132 <xsd:restriction base="xsd:string"> 133 <!-- @todo on next format change, rename dos to DOS, win2k3 to Win2003 and 134 so on. Possibly also use prefixes that determine the platform family: 135 Win_31, Win_Vista, Linux_ArchLinux, Unix_FreeBSD and so on. --> 133 136 <xsd:enumeration value="unknown"/> 134 137 <xsd:enumeration value="dos"/> … … 142 145 <xsd:enumeration value="win2k3"/> 143 146 <xsd:enumeration value="winvista"/> 147 <xsd:enumeration value="win2k8"/> 144 148 <xsd:enumeration value="os2warp3"/> 145 149 <xsd:enumeration value="os2warp4"/> 146 150 <xsd:enumeration value="os2warp45"/> 151 <xsd:enumeration value="ecs"/> 147 152 <xsd:enumeration value="linux22"/> 148 153 <xsd:enumeration value="linux24"/> 149 154 <xsd:enumeration value="linux26"/> 155 <xsd:enumeration value="archlinux"/> 156 <xsd:enumeration value="debian"/> 157 <xsd:enumeration value="opensuse"/> 158 <xsd:enumeration value="fedoracore"/> 159 <xsd:enumeration value="gentoo"/> 160 <xsd:enumeration value="mandriva"/> 161 <xsd:enumeration value="redhat"/> 162 <xsd:enumeration value="ubuntu"/> 163 <xsd:enumeration value="xandros"/> 150 164 <xsd:enumeration value="freebsd"/> 151 165 <xsd:enumeration value="openbsd"/> … … 182 196 183 197 <xsd:simpleType name="TBIOSBootMenuModeType"> 184 185 186 187 188 198 <xsd:restriction base="xsd:string"> 199 <xsd:enumeration value="Disabled"/> 200 <xsd:enumeration value="MenuOnly"/> 201 <xsd:enumeration value="MessageAndMenu"/> 202 </xsd:restriction> 189 203 </xsd:simpleType> 190 204 … … 197 211 198 212 <xsd:simpleType name="TClipboardMode"> 199 200 201 202 203 204 213 <xsd:restriction base="xsd:string"> 214 <xsd:enumeration value="Disabled"/> 215 <xsd:enumeration value="HostToGuest"/> 216 <xsd:enumeration value="GuestToHost"/> 217 <xsd:enumeration value="Bidirectional"/> 218 </xsd:restriction> 205 219 </xsd:simpleType> 206 220 207 221 <xsd:simpleType name="TPortMode"> 208 209 210 211 212 222 <xsd:restriction base="xsd:string"> 223 <xsd:enumeration value="Disconnected"/> 224 <xsd:enumeration value="HostPipe"/> 225 <xsd:enumeration value="HostDevice"/> 226 </xsd:restriction> 213 227 </xsd:simpleType> 214 228
Note:
See TracChangeset
for help on using the changeset viewer.