From fb123f93f9f5ce42c8e5785d2f8e0edaf951740e Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Wed, 26 Mar 2014 19:21:20 +0000 Subject: Imported from /home/lorry/working-area/delta_VirtualBox/VirtualBox-4.3.10.tar.bz2. --- src/VBox/Main/idl/VirtualBox.dtd | 55 +- src/VBox/Main/idl/VirtualBox.xidl | 3932 ++++++++++++++++++++++-------- src/VBox/Main/idl/apiwrap-server.xsl | 1394 +++++++++++ src/VBox/Main/idl/comimpl.xsl | 36 +- src/VBox/Main/idl/docstrip.xsl | 2 +- src/VBox/Main/idl/doxygen.xsl | 2 +- src/VBox/Main/idl/midl.xsl | 3 +- src/VBox/Main/idl/typemap-shared.inc.xsl | 360 +++ src/VBox/Main/idl/xpidl.xsl | 45 +- src/VBox/Main/idl/xpidl_iid.xsl | 154 ++ 10 files changed, 4973 insertions(+), 1010 deletions(-) create mode 100644 src/VBox/Main/idl/apiwrap-server.xsl create mode 100644 src/VBox/Main/idl/typemap-shared.inc.xsl create mode 100644 src/VBox/Main/idl/xpidl_iid.xsl (limited to 'src/VBox/Main/idl') diff --git a/src/VBox/Main/idl/VirtualBox.dtd b/src/VBox/Main/idl/VirtualBox.dtd index a62540e0..0af06e2c 100644 --- a/src/VBox/Main/idl/VirtualBox.dtd +++ b/src/VBox/Main/idl/VirtualBox.dtd @@ -5,7 +5,7 @@ It is still the only sort-of-documentation available about what is valid XIDL syntax. - Copyright (C) 2008-2010 Oracle Corporation + Copyright (C) 2008-2013 Oracle Corporation This file is part of VirtualBox Open Source Edition (OSE), as available from http://www.virtualbox.org. This file is free software; @@ -15,26 +15,32 @@ VirtualBox OSE distribution. VirtualBox OSE is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. --> - + - - - + + + + + + + + + + + - - - - + + + @@ -42,7 +48,7 @@ - + - + + + + + + + + + - + + + - + + + + - + + + -]> diff --git a/src/VBox/Main/idl/VirtualBox.xidl b/src/VBox/Main/idl/VirtualBox.xidl index aa096271..6f2739c1 100644 --- a/src/VBox/Main/idl/VirtualBox.xidl +++ b/src/VBox/Main/idl/VirtualBox.xidl @@ -1,8 +1,8 @@ - + Settings version of VirtualBox settings files. This is written to @@ -401,35 +441,35 @@ file XML and indicates which VirtualBox version wrote the file. - + Null value, indicates invalid version. - + Legacy settings version, not currently supported. - + Legacy settings version, not currently supported. - + Legacy settings version, not currently supported. - + Legacy settings version, not currently supported. - + Settings version "1.3", written by VirtualBox 2.0.12. - + Intermediate settings version, understood by VirtualBox 2.1.x. - + Intermediate settings version, understood by VirtualBox 2.1.x. - + Settings version "1.6", written by VirtualBox 2.1.4 (at least). - + Settings version "1.7", written by VirtualBox 2.2.x and 3.0.x. - + Intermediate settings version "1.8", understood by VirtualBox 3.1.x. - + Settings version "1.9", written by VirtualBox 3.1.x. - + Settings version "1.10", written by VirtualBox 3.2.x. - + Settings version "1.11", written by VirtualBox 4.0.x. - + Settings version "1.12", written by VirtualBox 4.1.x. - + Settings version "1.13", written by VirtualBox 4.2.x. + + Settings version "1.14", written by VirtualBox 4.3.x. + + - + Settings version greater than "1.13", written by a future VirtualBox version. @@ -515,8 +561,8 @@ Access mode for opening files. - - + + - + Null value (never used by the API). - + The machine is not running and has no saved execution state; it has either never been started or been shut down successfully. - + The machine is not currently running, but the execution state of the machine has been saved to an external file when it was running, from where it can be resumed. - + The machine was teleported to a different host (or process) and then - powered off. Take care when powering it on again may corrupt resources + powered off. Take care when powering it on again may corrupt resources it shares with the teleportation target (e.g. disk and network). - + The process running the machine has terminated abnormally. This may indicate a crash of the VM process in host execution context, or the VM process has been terminated externally. - + The machine is currently being executed. @@ -689,7 +735,7 @@ - + Execution of the machine has been paused. @@ -700,7 +746,7 @@ - + Execution of the machine has reached the "Guru Meditation" condition. This indicates a severe error in the hypervisor itself. @@ -711,7 +757,7 @@ - + The machine is about to be teleported to a different host or process. It is possible to pause a machine in this state, but it will go to the @@ -719,81 +765,81 @@ possible to resume it again unless the teleportation fails. - + - A live snapshot is being taken. The machine is running normally, but - some of the runtime configuration options are inaccessible. Also, if + A live snapshot is being taken. The machine is running normally, but + some of the runtime configuration options are inaccessible. Also, if paused while in this state it will transition to @c Saving and it will not be resume the execution until the snapshot operation has completed. - + Machine is being started after powering it on from a zero execution state. - + Machine is being normally stopped powering it off, or after the guest OS has initiated a shutdown sequence. - + Machine is saving its execution state to a file, or an online snapshot of the machine is being taken. - + Execution state of the machine is being restored from a file after powering it on from the saved execution state. - + The machine is being teleported to another host or process, but it is - not running. This is the paused variant of the + not running. This is the paused variant of the @c state. - + Teleporting the machine state in from another host or process. - + The machine is being synced with a fault tolerant VM running elsewhere. - + Like @c DeletingSnapshot, but the merging of media is ongoing in the background while the machine is running. - + Like @c DeletingSnapshotOnline, but the machine was paused when the merging of differencing media was started. - + A machine snapshot is being restored; this typically does not take long. - + A machine snapshot is being deleted; this can take a long time since this may require merging differencing media. This value indicates that the machine is not running while the snapshot is being deleted. - + Lengthy setup operation is in progress. @@ -804,7 +850,7 @@ Pseudo-state: first online state (for use in relational expressions). - + Pseudo-state: last online state (for use in relational expressions). @@ -815,7 +861,7 @@ Pseudo-state: first transient state (for use in relational expressions). - + Pseudo-state: last transient state (for use in relational expressions). @@ -874,7 +920,7 @@ Virtual CPU property type. This enumeration represents possible values of the @@ -896,50 +942,60 @@ teleporting between host systems that differ significantly. + + + This setting determines whether VirtualBox will advertise long mode + (i.e. 64-bit guest support) and let the guest enter it. + + + + + This setting determines whether a triple fault within a guest will trigger an internal + error condition and stop the VM (default) or reset the virtual CPU and continue execution. + + Hardware virtualization property type. This enumeration represents possible values for the and methods. - + Null value (never used by the API). - + Whether hardware virtualization (VT-x/AMD-V) is enabled at all. If such extensions are not available, they will not be used. - + - Whether hardware virtualization is used exclusively by VirtualBox. When enabled, - VirtualBox assumes it can acquire full and exclusive access to the VT-x or AMD-V - feature of the host. To share these with other hypervisors, you must disable this property. + Whether VT-x VPID is enabled. If this extension is not available, it will not be used. - + - Whether VT-x VPID is enabled. If this extension is not available, it will not be used. + Whether Nested Paging is enabled. If this extension is not available, it will not be used. - + - Whether Nested Paging is enabled. If this extension is not available, it will not be used. + Whether VT-x unrestricted execution is enabled. If this feature is not available, it will not be used. - + - Whether large page allocation is enabled; requires nested paging and a 64 bits host. + Whether large page allocation is enabled; requires nested paging and a 64-bit host. - + Whether the VM should fail to start if hardware virtualization (VT-x/AMD-V) cannot be used. If not set, there will be an automatic fallback to software virtualization. @@ -973,10 +1029,16 @@ Used with . - Lock the machine for writing. + Lock the machine for writing. This requests an exclusive lock, i.e. + there cannot be any other API client holding any type of lock for this + VM concurrently. Remember that a VM process counts as an API client + which implicitly holds the equivalent of a shared lock during the + entire VM runtime. - Request only a shared read lock for remote-controlling the machine. + Request only a shared lock for remote-controlling the machine. + Such a lock allows changing certain VM settings which can be safely + modified for a running VM. Lock the machine for writing, and create objects necessary for @@ -1128,10 +1190,10 @@ CPU features. - - - - + + + + Firmware type. - + BIOS Firmware. - + EFI Firmware, bitness detected basing on OS type. - - Efi firmware, 32-bit. + + EFI firmware, 32-bit. - - Efi firmware, 64-bit. + + EFI firmware, 64-bit. - - Efi firmware, combined 32 and 64-bit. + + EFI firmware, combined 32 and 64-bit. Type of pointing device used in a virtual machine. - + No mouse. - + PS/2 auxiliary device, a.k.a. mouse. - + USB mouse (relative pointer). - - USB tablet (absolute pointer). + + + USB tablet (absolute pointer). Also enables a relative USB mouse in + addition. + + + + + Combined device, working as PS/2 or USB mouse, depending on guest + behavior. Using this device can have negative performance implications. + - - Combined device, working as PS/2 or USB mouse, depending on guest behavior. - Using of such device can have negative performance implications. + + + USB multi-touch device. Also enables the USB tablet and mouse devices. + @@ -1201,7 +1273,7 @@ Combined device, working as PS/2 or USB keyboard, depending on guest behavior. - Using of such device can have negative performance implications. + Using of such device can have negative performance implications. @@ -1212,7 +1284,7 @@ @@ -1262,6 +1334,13 @@ + + + Optional result data of this error. This will vary depending on the + actual error usage. By default this attribute is not being used. + + + UUID of the interface that defined the error. @@ -1310,18 +1389,193 @@ ///////////////////////////////////////////////////////////////////////// --> + + + + TBD: the idea, technically we can start any number of the NAT networks, + but we should expect that at some point we will get collisions because of + port-forwanding rules. so perhaps we should support only single instance of NAT + network. + + + + + + This is CIDR IPv4 string. Specifying it user defines IPv4 addresses + of gateway (low address + 1) and DHCP server (= low address + 2). + Note: If there are defined IPv4 port-forward rules update of network + will be ignored (because new assignment could break existing rules). + + + + + This attribute is read-only. It's recalculated on changing + network attribute (low address of network + 1). + + + + + This attribute define whether gateway will support IPv6 or not. + + + + + This a CIDR IPv6 defining prefix for link-local addresses + autoconfiguration within network. Note: ignored if attribute + IPv6Enabled is false. + + + + + + + Array of NAT port-forwarding rules in string representation, + in the following format: + "name:protocolid:[host ip]:host port:[guest ip]:guest port". + + + + Array of mappings (address,offset),e.g. ("127.0.1.1=4") maps 127.0.1.1 to networkid + 4. + + + + + + + + + + + + Offset in ipv6 network from network id for address mapped into loopback6 interface of the host. + + + + + Array of NAT port-forwarding rules in string representation, in the + following format: "name:protocolid:[host ip]:host port:[guest ip]:guest port". + + + + + + + Protocol handled with the rule. + + + IP of the host interface to which the rule should apply. + An empty ip address is acceptable, in which case the NAT engine + binds the handling socket to any interface. + + + + The port number to listen on. + + + The IP address of the guest which the NAT engine will forward + matching packets to. An empty IP address is not acceptable. + + + The port number to forward. + + + + + + + + + + Type of internal network trunk. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - The IDHCPServer interface represents the vbox DHCP server configuration. + The IDHCPServer interface represents the VirtualBox DHCP server configuration. To enumerate all the DHCP servers on the host, use the attribute. - + + specifies if the DHCP server is enabled @@ -1358,6 +1612,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + configures the server @@ -1423,7 +1733,7 @@ @@ -1448,8 +1758,8 @@ last number represents the build number and will frequently change. This may be followed by a _ALPHA[0-9]*, _BETA[0-9]* or _RC[0-9]* tag - in prerelease builds. Non-Oracle builds may (/shall) also have a - publisher tag, at the end. The publisher tag starts with an underscore + in prerelease builds. Non-Oracle builds may (/shall) also have a + publisher tag, at the end. The publisher tag starts with an underscore just like the prerelease build type tag. @@ -1591,6 +1901,8 @@ DHCP servers. + + @@ -1725,6 +2037,12 @@ guest OS types listed in the array. + + will return + @c false for the created machine, until any of machine settings + are changed. + + There is no way to change the name of the settings file or subfolder of the created machine directly. @@ -1784,6 +2102,12 @@ The file must exist and be a valid machine XML settings file whose contents will be used to construct the machine object. + + will return + @c false for the opened machine, until any of machine settings + are changed. + + Settings file name invalid, not found or sharing violation. @@ -1796,11 +2120,6 @@ Opened machine object. - - will return - @c false for the created machine, until any of machine settings - are changed. - @@ -2110,7 +2429,7 @@ Returns an array representing the global extra data keys which currently have values defined. - + Array of extra data keys. @@ -2268,6 +2587,30 @@ + + + + + + + + + + + + + + + + @@ -2344,7 +2687,7 @@ @@ -2367,7 +2710,7 @@ current directory level. Use to get the full list after a call to this method. - + Progress object to track the operation completion. @@ -2375,11 +2718,11 @@ Change the current directory level. - + The name of the directory to go in. - + Progress object to track the operation completion. @@ -2387,7 +2730,7 @@ Go one directory upwards from the current directory level. - + Progress object to track the operation completion. @@ -2397,19 +2740,19 @@ to="#update" />. The user is responsible for keeping this internal list up do date. - + The list of names for the entries. - + The list of types for the entries. - + The list of sizes (in bytes) for the entries. - + The list of file modes (in octal form) for the entries. @@ -2418,11 +2761,11 @@ Checks if the given file list exists in the current directory level. - + The names to check. - + The names which exist. @@ -2430,11 +2773,11 @@ Deletes the given files in the current directory level. - + The names to remove. - + Progress object to track the operation completion. @@ -2442,7 +2785,7 @@ @@ -2450,15 +2793,47 @@ Import options, used with . - + Don't generate new MAC addresses of the attached network adapters. - + Don't generate new MAC addresses of the attached network adapters when they are using NAT. + + + + Export options, used with . + + + + Write the optional manifest file (.mf) which is used for integrity + checks prior import. + + + Export DVD images. Default is not to export them as it is rarely + needed for typical VMs. + + + Do not export any MAC address information. Default is to keep them + to avoid losing information which can cause trouble after import, at the + price of risking duplicate MAC addresses, if the import options are used + to keep them. + + + Do not export any MAC address information, except for adapters + using NAT. Default is to keep them to avoid losing information which can + cause trouble after import, at the price of risking duplicate MAC + addresses, if the import options are used to keep them. + + + + + + + Changes the location of this medium. Some medium types may support + changing the storage unit location by simply changing the value of the + associated property. In this case the operation is performed + immediately, and @a progress is returning a @c null reference. + Otherwise on success there is a progress object returned, which + signals progress and completion of the operation. This distinction is + necessary because for some formats the operation is very fast, while + for others it can be very slow (moving the image file by copying all + data), and in the former case it'd be a waste of resources to create + a progress object which will immediately signal completion. + + When setting a location for a medium which corresponds to a/several + regular file(s) in the host's file system, the given file name may be + either relative to the VirtualBox + home folder or absolute. Note that if the given location + specification does not contain the file extension part then a proper + default extension will be automatically appended by the implementation + depending on the medium type. + + + The operation is not implemented yet. + + + Medium format does not support changing the location. + + + + New location. + + + Progress object to track the operation completion. + + + Starts compacting of this medium. This means that the medium is @@ -13411,7 +14531,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) @@ -13459,9 +14579,9 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) - + - Capabilities of the format as a set of bit flags. + Capabilities of the format as an array of the flags. For the meaning of individual capability flags see . @@ -13480,10 +14600,10 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) - + The array of supported extensions. - + The array which indicates the device type for every given extension. @@ -13507,7 +14627,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) Array of property names. - + Array of property descriptions. @@ -13524,6 +14644,46 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) + + + + + The IToken interface represents a token passed to an API client, which + triggers cleanup actions when it is explicitly released by calling the + method (preferred, as it is accurately defined + when the release happens), or when the object reference count drops + to 0. The latter way is implicitly used when an API client crashes, + however the discovery that there was a crash can take rather long, + depending on the platform (COM needs 6 minutes). So better don't rely + on the crash behavior too much. + + + + Releases this token. Cannot be undone in any way, and makes the + token object unusable (even the method will return + an error), ready for releasing. It is a more defined way than just + letting the reference count drop to 0, because the latter (depending + on the platform) can trigger asynchronous cleanup activity. + + + + + Purely a NOOP. Useful when using proxy type API bindings (e.g. the + webservice) which manage objects on behalf of the actual client, using + an object reference expiration time based garbage collector. + + + + + + - - - Flag whether the USB controller is present in the - guest system. If disabled, the virtual guest hardware will - not contain any USB controller. Can only be changed when - the VM is powered off. - - - - - - Flag whether the USB EHCI controller is present in the - guest system. If disabled, the virtual guest hardware will - not contain a USB EHCI controller. Can only be changed when - the VM is powered off. - - - - - - Flag whether there is an USB proxy available. - - - - - - USB standard version which the controller implements. - This is a BCD which means that the major version is in the - high byte and minor version is in the low byte. - - @@ -15582,6 +16846,56 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) + + + + + The USB controller type. . + + + @c null value. Never used by the API. + + + + + Last element (invalid). Used for parameter checks. + + + + + + + + The USB Controller name. + + + + + + The USB Controller type. + + + + + + USB standard version which the controller implements. + This is a BCD which means that the major version is in the + high byte and minor version is in the low byte. + + + + + + + + Internal event reason type. + + + + Null value, means "no known reason". + + + Host is being suspended (power management event). + + + Host is being resumed (power management event). + + + Host is running low on battery (power management event). + + + @@ -16338,6 +17675,27 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) + + + + Assigns the machine object associated with this direct-type + session or informs the session that it will be a remote one + (if @a machine == @c null). + + + Session state prevents operation. + + + Session type prevents operation. + + + + + + + + + Assigns the machine object associated with this direct-type @@ -16354,7 +17712,9 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) + + @@ -16384,7 +17744,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) - + @@ -16506,6 +17866,10 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) TRUE if the device is removed, FALSE if it was added. + + TRUE if the device is is silently reconfigured without + notifying the guest about it. + @@ -16565,6 +17929,12 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) + + + Triggered when video capture settings have changed. + + + Triggered when settings of the USB controller object of the @@ -16709,30 +18079,30 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) The patterns to match the properties against as a comma-separated - string. If this is empty, all properties currently set will be + string. If this is empty, all properties currently set will be returned. - + The key names of the properties returned. - + - The values of the properties returned. The array entries match the + The values of the properties returned. The array entries match the corresponding entries in the @a key array. - + - The time stamps of the properties returned. The array entries match + The time stamps of the properties returned. The array entries match the corresponding entries in the @a key array. - The flags of the properties returned. The array entries match the + The flags of the properties returned. The array entries match the corresponding entries in the @a key array. @@ -16762,22 +18132,6 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) The index of the target image in the chain. Redundant, but drastically reduces IPC. - - Merge source medium. - - - Merge target medium. - - - Merge direction. - - - For forward merges: new parent for target medium. - - - For backward merges: list of media which need their parent UUID - updated. - Progress object for this operation. @@ -16802,6 +18156,69 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) + + + Internal method for triggering a VM pause with a specified reason code. + The reason code can be interpreted by device/drivers and thus it might + behave slightly differently than a normal VM pause. + + + Virtual machine not in Running state. + + + Virtual machine error in suspend operation. + + + + + + Specify the best matching reason code please. + + + + + + Internal method for triggering a VM resume with a specified reason code. + The reason code can be interpreted by device/drivers and thus it might + behave slightly differently than a normal VM resume. + + + Virtual machine not in Paused state. + + + Virtual machine error in resume operation. + + + + + + Specify the best matching reason code please. + + + + + + Internal method for triggering a VM save state with a specified reason + code. The reason code can be interpreted by device/drivers and thus it + might behave slightly differently than a normal VM save state. + + + Virtual machine state neither Running nor Paused. + + + Failed to create directory for saved state file. + + + + + + Specify the best matching reason code please. + + + Progress object to track the operation completion. + + + When using the COM API directly, an object of the Session class from the VirtualBox type library needs to be created. In regular COM C++ client code, this can be done by calling createLocalObject(), a standard COM API. - This object will then act as a local session object in further calls to open + This object will then act as a local session object in further calls to open a session. @@ -16930,7 +18347,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) The bus type of the storage controller (IDE, SATA, SCSI, SAS or Floppy); see . - + @c null value. Never used by the API. @@ -16949,31 +18366,31 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) to the guest; see . - + @c null value. Never used by the API. - + A SCSI controller of the LsiLogic variant. - + A SCSI controller of the BusLogic variant. - + An Intel AHCI SATA controller; this is the only variant for SATA. - + An IDE controller of the PIIX3 variant. - + An IDE controller of the PIIX4 variant. - + An IDE controller of the ICH6 variant. - + A floppy disk controller; this is the only variant for floppy drives. - + A variant of the LsiLogic controller using SAS. @@ -16986,10 +18403,10 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) Type of emulated chipset (mostly southbridge). - + @c null value. Never used by the API. - + A PIIX3 (PCI IDE ISA Xcelerator) chipset. @@ -17026,7 +18443,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) Name of the storage controller, as originally specified with . This then uniquely identifies this controller with other method calls such as - and . + and . @@ -17128,7 +18545,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) Behind each managed object reference, there is a COM object that lives in the webservice server's address space. The COM object is not freed until the managed object reference is released, either by an explicit - call to or by logging off from + call to or by logging off from the webservice (), which releases all objects created during the webservice session. @@ -17285,7 +18702,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) and stores performance metrics data. Performance metrics are associated with objects of interfaces like IHost - and IMachine. Each object has a distinct set of performance metrics. The + and IMachine. Each object has a distinct set of performance metrics. The set can be obtained with . Metric data is collected at the specified intervals and is retained @@ -17307,7 +18724,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) the smallest unit for which a sampling interval and the number of retained samples can be set. Only base metrics can be enabled and disabled. All sub-metrics are collected when their base metric is - collected. Collected values for any set of sub-metrics can be queried + collected. Collected values for any set of sub-metrics can be queried with . For example "CPU/Load/User:avg" metric name stands for the "CPU" @@ -17551,14 +18968,15 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) form metric/object pairs. - Data collection continues behind the scenes after call to @c - queryMetricsData. The return data can be seen as the snapshot of the - current state at the time of @c queryMetricsData call. The internally - kept metric values are not cleared by the call. This makes possible - querying different subsets of metrics or aggregates with subsequent - calls. If periodic querying is needed it is highly suggested to query - the values with @c interval*count period to avoid confusion. This way - a completely new set of data values will be provided by each query. + Data collection continues behind the scenes after call to + @c queryMetricsData. The return data can be seen as the snapshot of + the current state at the time of @c queryMetricsData call. The + internally kept metric values are not cleared by the call. This + allows querying different subsets of metrics or aggregates with + subsequent calls. If periodic querying is needed it is highly + suggested to query the values with @c interval*count period to avoid + confusion. This way a completely new set of data values will be + provided by each query. @@ -17805,17 +19223,17 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) accessing COM objects within it. - The extension pack name. This is unique. + The extension pack name. This is unique. The extension pack description. - The extension pack version string. This is restricted to the dotted - version number and optionally a build indicator. No tree revision or + The extension pack version string. This is restricted to the dotted + version number and optionally a build indicator. No tree revision or tag will be included in the string as those things are available as - separate properties. An optional publisher tag may be present like for + separate properties. An optional publisher tag may be present like for . Examples: "1.2.3", "1.2.3_BETA1" and "1.2.3_RC2". @@ -17826,11 +19244,11 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) - Edition indicator. This is usually empty. + Edition indicator. This is usually empty. - Can for instance be used to help distinguishing between two editions - of the same extension pack where only the license, service contract or - something differs. + Can for instance be used to help distinguishing between two editions + of the same extension pack where only the license, service contract or + something differs. @@ -17850,7 +19268,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) - String indicating why the extension pack is not usable. This is an + String indicating why the extension pack is not usable. This is an empty string if usable and always a non-empty string if not usable. @@ -17859,7 +19277,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) - The default HTML license text for the extension pack. Same as + The default HTML license text for the extension pack. Same as calling queryLicense with preferredLocale and preferredLanguage as empty strings and format set to html. @@ -17908,11 +19326,11 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) Queries the IUnknown interface to an object in the extension pack - main module. This allows plug-ins and others to talk directly to an + main module. This allows plug-ins and others to talk directly to an extension pack. - The object ID. What exactly this is + The object ID. What exactly this is The queried interface. @@ -17927,7 +19345,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) > Extension pack file (aka tarball, .vbox-extpack) representation returned - by . This provides the base + by . This provides the base extension pack information with the addition of the file name. @@ -17948,7 +19366,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) - Platform specific display information. Reserved for future hacks. + Platform specific display information. Reserved for future hacks. @@ -17999,7 +19417,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) installation. - The path of the extension pack tarball. This can optionally be + The path of the extension pack tarball. This can optionally be followed by a "::SHA-256=hex-digit" of the tarball. @@ -18014,13 +19432,13 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) - Forced removal of the extension pack. This means that the uninstall + Forced removal of the extension pack. This means that the uninstall hook will not be called. - Platform specific display information. Reserved for future hacks. + Platform specific display information. Reserved for future hacks. @@ -18113,7 +19531,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) - How many devices/medium attachements use this group. + How many devices/medium attachments use this group. @@ -18201,7 +19619,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) @@ -18231,6 +19649,18 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) + + + Perform error checking before using an object. + Generally useful before starting a VM and all other uses. If anything + is not as it should be then this method will return an appropriate + error. + + + + The machine object to check. + + @@ -18507,9 +19937,120 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) See IDragAndDropModeChangedEvent. + + + See INATNetworkChangedEvent. + + + + + See INATNetworkStartStopEvent. + + + + + See INATNetworkAlterEvent. + + + + + See INATNetworkCreationDeletionEvent. + + + + + See INATNetworkSettingEvent. + + + + + See INATNetworkPortForwardEvent. + + + + + See IGuestSessionStateChangedEvent. + + + + + See IGuestSessionRegisteredEvent. + + + + + See IGuestProcessRegisteredEvent. + + + + + See IGuestProcessStateChangedEvent. + + + + + See IGuestProcessInputNotifyEvent. + + + + + See IGuestProcessOutputEvent. + + + + + See IGuestFileRegisteredEvent. + + + + + See IGuestFileStateChangedEvent. + + + + + See IGuestFileOffsetChangedEvent. + + + + + See IGuestFileReadEvent. + + For performance reasons this is a separate event to + not unnecessarily overflow the event queue. + + + + + See IGuestFileWriteEvent. + For performance reasons this is a separate event to + not unnecessarily overflow the event queue. + + + + + See IVideoCapturedChangeEvent. + + + + + See IGuestUserStateChangedEvent. + + + + + See IGuestMouseEvent. + + + + + See IHostNameResolutionConfigurationChangeEvent. + + + - + Must be last event, used for iterations and structures relying on numerical event values. @@ -18547,7 +20088,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) - Subordinate event source this one aggregatres. + Subordinate event source this one aggregates. @@ -18747,7 +20288,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) consumers may register event listeners with this event source. To register a listener, an object implementing the interface must be provided. For active listeners, such an object is typically created by the consumer, while for - passive listeners should be used. Please + passive listeners should be used. Please note that a listener created with must not be used as an active listener. Once created, the listener must be registered to listen for the desired events @@ -18803,7 +20344,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) - Maximum time to wait for event processeing, in ms; + Maximum time to wait for event processing, in ms; 0 = no wait, -1 = indefinite wait. @@ -19065,9 +20606,9 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) The @a shape buffer contains a 1-bpp (bits per pixel) AND mask followed by a 32-bpp XOR (color) mask. - For pointers without alpha channel the XOR mask pixels are 32 - bit values: (lsb)BGR0(msb). For pointers with alpha channel - the XOR mask consists of (lsb)BGRA(msb) 32 bit values. + For pointers without alpha channel the XOR mask pixels are + 32-bit values: (lsb)BGR0(msb). For pointers with alpha channel + the XOR mask consists of (lsb)BGRA(msb) 32-bit values. An AND mask is used for pointers with alpha channel, so if the callback does not support alpha, the pointer could be @@ -19093,7 +20634,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) @@ -19110,6 +20651,11 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) Supports relative coordinates. + + + Supports multi-touch events coordinates. + + If host cursor is needed. @@ -19179,7 +20725,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) Notification when a property of one of the virtual network adapters - changes. Interested callees should use INetworkAdapter methods and + changes. Interested callees should use INetworkAdapter methods and attributes to find out what has changed. @@ -19215,7 +20761,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) Notification when a property of one of the virtual parallel ports - changes. Interested callees should use ISerialPort methods and + changes. Interested callees should use ISerialPort methods and attributes to find out what has changed. @@ -19327,25 +20873,51 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) Notification when guest keyboard event happens. - + Array of scancodes. + + + + The mode (relative, absolute, multi-touch) of a pointer event. + TODO: a clear pattern seems to be emerging that we should usually have + multiple input devices active for different types of reporting, so we + should really have different event types for relative (including wheel), + absolute (not including wheel) and multi-touch events. + + + + + Relative event. + + + + + + Absolute event. + + + + Notification when guest mouse event happens. - + - If this event is relative or absolute. + If this event is relative, absolute or multi-touch. @@ -19381,16 +20953,365 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) - - Notification when a property of the - VRDE server changes. - Interested callees should use IVRDEServer methods and attributes to + Notification when guest touch screen event happens. + + + + Number of contacts in the event. + + + + + X positions. + + + + + Y positions. + + + + + Contact identifiers. + + + + + Contact state. + Bit 0: in contact. + Bit 1: in range. + + + + + Timestamp of the event in milliseconds. Only relative time between events is important. + + + + + + Base abstract interface for all guest session events. + + + Guest session that is subject to change. + + + + + + + Notification when a guest session changed its state. + + + + + Session ID of guest session which was changed. + + + + + New session status. + + + + + Error information in case of new session status is indicating an error. + + The attribute will contain + the runtime (IPRT) error code from the guest. See include/iprt/err.h and + include/VBox/err.h for details. + + + + + + + + Notification when a guest session was registered or unregistered. + + + + + If @c true, the guest session was registered, otherwise it was + unregistered. + + + + + + + Base abstract interface for all guest process events. + + + + Guest process object which is related to this event. + + + + + Guest process ID (PID). + + + + + + + + Notification when a guest process was registered or unregistered. + + + + + If @c true, the guest process was registered, otherwise it was + unregistered. + + + + + + + + Notification when a guest process changed its state. + + + + + New guest process status. + + + + + Error information in case of new session status is indicating an error. + + The attribute will contain + the runtime (IPRT) error code from the guest. See include/iprt/err.h and + include/VBox/err.h for details. + + + + + + + + Base abstract interface for all guest process input/output (IO) events. + + + + + Input/output (IO) handle involved in this event. Usually 0 is stdin, + 1 is stdout and 2 is stderr. + + + + + + Processed input or output (in bytes). + + + + + + + + Notification when a guest process' stdin became available. + This event is right now not implemented! + + + + + Current process input status. + + + + + + + + Notification when there is guest process output available for reading. + + + + + Actual output data. + + + + + + + Base abstract interface for all guest file events. + + + + Guest file object which is related to this event. + + + + + + + + Notification when a guest file was registered or unregistered. + + + + + If @c true, the guest file was registered, otherwise it was + unregistered. + + + + + + + + Notification when a guest file changed its state. + + + + + New guest file status. + + + + + Error information in case of new session status is indicating an error. + + The attribute will contain + the runtime (IPRT) error code from the guest. See include/iprt/err.h and + include/VBox/err.h for details. + + + + + + + + + Base abstract interface for all guest file input/output (IO) events. + + + + + Current offset (in bytes). + + + + + Processed input or output (in bytes). + + + + + + + + Notification when a guest file changed its current offset. + + + + + + + Notification when data has been read from a guest file. + + + + + Actual data read. + + + + + + + + Notification when data has been written to a guest file. + + + + + + + Notification when a property of the + VRDE server changes. + Interested callees should use IVRDEServer methods and attributes to find out what has changed. @@ -19407,6 +21328,16 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) + + + Notification when video capture settings have changed. + + + Notification when a property of the virtual - USB controller changes. + USB controllers changes. Interested callees should use IUSBController methods and attributes to find out what has changed. @@ -19654,7 +21585,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) name="IExtraDataCanChangeEvent" extends="IVetoEvent" uuid="245d88bd-800a-40f8-87a6-170d02249a55" wsmap="managed" autogen="VBoxEvent" id="OnExtraDataCanChange" - waitable="true" + waitable="yes" > Notification when someone tries to change extra data for @@ -19683,7 +21614,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) name="ICanShowWindowEvent" extends="IVetoEvent" uuid="adf292b0-92c9-4a77-9d35-e058b39fe0b9" wsmap="managed" autogen="VBoxEvent" id="OnCanShowWindow" - waitable="true" + waitable="yes" > Notification when a call to @@ -19702,7 +21633,7 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) name="IShowWindowEvent" extends="IEvent" uuid="B0A0904D-2F05-4D28-855F-488F96BAD2B2" wsmap="managed" autogen="VBoxEvent" id="OnShowWindow" - waitable="true" + waitable="yes" > Notification when a call to @@ -19749,42 +21680,42 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) Notification when NAT redirect rule added or removed. - + Adapter which NAT attached to. - + Whether rule remove or add. - + Name of the rule. - + Protocol (TCP or UDP) of the redirect rule. - + Host ip address to bind socket on. - + Host port to bind socket on. - + Guest ip address to redirect to. - + Guest port to redirect to. @@ -19944,9 +21875,43 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) + + + Notification when a guest user changed its state. + + + + + Name of the guest user whose state changed. + + + + + Name of the FQDN (fully qualified domain name) this user is bound + to. Optional. + + + + + What was changed for this guest user. See for + more information. + + + + + Optional state details, depending on the attribute. + + + + + @@ -19964,6 +21929,69 @@ Snapshot 1 (B.vdi) Snapshot 1 (B.vdi) Flag whether the device was removed or added to the VM. + + + Flag whether the guest should be notified about the change. + + + + + + + + + + + + + IsStartEvent is true when NAT network is started and false on stopping. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/VBox/Main/idl/apiwrap-server.xsl b/src/VBox/Main/idl/apiwrap-server.xsl new file mode 100644 index 00000000..2f08e714 --- /dev/null +++ b/src/VBox/Main/idl/apiwrap-server.xsl @@ -0,0 +1,1394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /** @file + * + + + + * + * DO NOT EDIT! This is a generated file. + * Generated from: src/VBox/Main/idl/VirtualBox.xidl + * Generator: src/VBox/Main/idl/apiwrap-server.xsl + */ + +/** + * Copyright (C) 2010-2014 Oracle Corporation + * + * This file is part of VirtualBox Open Source Edition (OSE), as + * available from http://www.virtualbox.org. This file is free software; + * you can redistribute it and/or modify it under the terms of the GNU + * General Public License (GPL) as published by the Free Software + * Foundation, in version 2 as it comes in the "COPYING" file of the + * VirtualBox OSE distribution. VirtualBox OSE is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. + */ + + + + + + + + + + + + + + + + + + + + + + +#include "VirtualBoxBase.h" +#include "Wrapper.h" + + + + + public VirtualBoxBase, + + + { + Q_OBJECT + +public: + + + + DECLARE_PROTECT_FINAL_CONSTRUCT() + + + + COM_INTERFACE_ENTRY(ISupportErrorInfo) + + + + + + END_COM_MAP() + + + + + + + }; + + + + + + + + + #include "Logging.h" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #ifdef VBOX_WITH_XPCOM + + + + + + + + + + + #endif // VBOX_WITH_XPCOM + + + + + + + + + + + + + + + + + + + + + + + + + + + + IN_BSTR + + + BSTR + + + + + + + + + + + IUnknown * + + + + + + + + + + + + + + + + + + + + + + + + + const + + com::Utf8Str & + + + + const + + com::Guid & + + + + + + + + + + const + + ComPtr<IUnknown> & + + + + + + const + + + + + + + + + + + + + + + + + + + + + + %p + + + %zu + + + + + + %RU32 + + + %p + + + %p + + + + + + + + + + + + + + + + + + + + + + + ComSafeArrayIn( + + + ComSafeArrayOut( + + + + + + + , + + + + + + + + + + + + + + + a + + + + + + + + + + + + + + + + + + + + + + + const + + std::vector< + + + + + + + + + + + + + + + + + + + + + + + > & + + + + + + + + + + + + + + + + + + a + + + + + + + + + + + * + + a + + + + = + + + + + + + + + + + + + + + ComSafeArraySize( + + * + + + + * + + + a + + + + + + ) + + + + + + + + + + + + + + + + + + + Array + + + + ComTypeInConverter<IUnknown>( + + + ComTypeOutConverter<IUnknown>( + + + + + + ComSafeArrayInArg( + + + ComSafeArrayOutArg( + + + + + + + Array + + + + + ComTypeInConverter + + + ComTypeOutConverter + + + + + + + ComSafeArrayInArg( + + + ComSafeArrayOutArg( + + + + + + + Array + + + + BSTRInConverter( + + + BSTROutConverter( + + + + + + ComSafeArrayInArg( + + + ComSafeArrayOutArg( + + + + + + + Array + + + + UuidInConverter( + + + UuidOutConverter( + + + + + + ComSafeArrayInArg( + + + ComSafeArrayOutArg( + + + + + + + Array + + + InConverter + + + OutConverter + + + + + + ComSafeArrayInArg( + + + ComSafeArrayOutArg( + + + + + + a + + + + + + + + )).array() + + + ).ptr() + + + + + + + )).array() + + + ).str() + + + + + + + )).array() + + + ).uuid() + + + + + + )).array() + + + + + + + + + + + + + + + + + + + ); + + + + + + + + ); + + + + + + + + + + + + + + + + + + + + AutoCaller &aAutoCaller, + + + + + ) = 0; + + + + + + AutoCaller &aAutoCaller, + + + + + ) = 0; + + + + + + + + + + + + + + + + + + ) +{ + LogRelFlow(("{%p} %s: enter + + + + + \n", this, + + + + + + )); + + VirtualBoxBase::clearError(); + + HRESULT hrc; + + try + { + CheckComArgOutPointerValidThrow(a + + ); + + AutoCaller autoCaller(this); + if (FAILED(autoCaller.rc())) + throw autoCaller.rc(); + + + + + + + + + + + autoCaller, + + + + + ); + } + catch (HRESULT hrc2) + { + hrc = hrc2; + } + catch (...) + { + hrc = VirtualBoxBase::handleUnexpectedExceptions(this, RT_SRC_POS); + } + + LogRelFlow(("{%p} %s: leave + + + + hrc=%Rhrc\n", this, + + + + + , hrc)); + return hrc; +} + + + + + + + + + ) +{ + LogRelFlow(("{%p} %s: enter + + + + \n", this, + + + + + )); + + VirtualBoxBase::clearError(); + + HRESULT hrc; + + try + { + AutoCaller autoCaller(this); + if (FAILED(autoCaller.rc())) + throw autoCaller.rc(); + + + + + autoCaller, + + + + + ); + } + catch (HRESULT hrc2) + { + hrc = hrc2; + } + catch (...) + { + hrc = VirtualBoxBase::handleUnexpectedExceptions(this, RT_SRC_POS); + } + + LogRelFlow(("{%p} %s: leave hrc=%Rhrc\n", this, + + hrc)); + return hrc; +} + + + + + + + + + + + + + + + + + + + + + + + + // + + + +// + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + STDMETHOD( + + + + )( + + + + + + , + + + + + ); + + + + + + + + + + + virtual HRESULT + + + + ( + + + + + + + + AutoCaller &aAutoCaller + + , + + + + + + + + + + , + + + + + ) = 0; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + ) +{ + LogRelFlow(("{%p} %s:enter + + + + + + + + \n", this + + + , + + + + + + )); + + VirtualBoxBase::clearError(); + + HRESULT hrc; + + try + { + + + + + CheckComArgOutPointerValidThrow(a + + + + ); + + + + + AutoCaller autoCaller(this); + if (FAILED(autoCaller.rc())) + throw autoCaller.rc(); + + + + + + + + + + + autoCaller + + , + + + + + + + + + + , + + + + + ); + } + catch (HRESULT hrc2) + { + hrc = hrc2; + } + catch (...) + { + hrc = VirtualBoxBase::handleUnexpectedExceptions(this, RT_SRC_POS); + } + + LogRelFlow(("{%p} %s: leave + + + + + + + + + hrc=%Rhrc\n", this + + + + , + + + + + + , hrc)); + return hrc; +} + + + + + + + + + + + + + + + + + + + + + + + // + + + +// + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +private: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/VBox/Main/idl/comimpl.xsl b/src/VBox/Main/idl/comimpl.xsl index 58889cbd..59ae42b8 100644 --- a/src/VBox/Main/idl/comimpl.xsl +++ b/src/VBox/Main/idl/comimpl.xsl @@ -13,7 +13,7 @@ rather trivial container classes for their read-only attributes. Further extension to other interfaces is possible and anticipated. - Copyright (C) 2010-2012 Oracle Corporation + Copyright (C) 2010-2013 Oracle Corporation This file is part of VirtualBox Open Source Edition (OSE), as available from http://www.virtualbox.org. This file is free software; @@ -30,7 +30,7 @@ encoding="utf-8" indent="no"/> - + @@ -46,7 +46,7 @@ */ /* - * Copyright (C) 2010-2012 Oracle Corporation + * Copyright (C) 2010-2013 Oracle Corporation * * This file is part of VirtualBox Open Source Edition (OSE), as * available from http://www.virtualbox.org. This file is free software; @@ -149,6 +149,12 @@ + + + + + + @@ -189,7 +195,7 @@ - + @@ -212,7 +218,7 @@ - + @@ -293,14 +299,14 @@ - - + + - - - + + + - + @@ -321,10 +327,10 @@ - + - + @@ -332,7 +338,7 @@ - + @@ -585,7 +591,7 @@ private: - + diff --git a/src/VBox/Main/idl/docstrip.xsl b/src/VBox/Main/idl/docstrip.xsl index 0cbdac4a..9efb49ae 100644 --- a/src/VBox/Main/idl/docstrip.xsl +++ b/src/VBox/Main/idl/docstrip.xsl @@ -9,7 +9,7 @@ original XIDL should not cause a full recompile of nearly all of VirtualBox. - Copyright (C) 2009-2010 Oracle Corporation + Copyright (C) 2009-2012 Oracle Corporation This file is part of VirtualBox Open Source Edition (OSE), as available from http://www.virtualbox.org. This file is free software; diff --git a/src/VBox/Main/idl/doxygen.xsl b/src/VBox/Main/idl/doxygen.xsl index bc55d3d9..df12cd20 100644 --- a/src/VBox/Main/idl/doxygen.xsl +++ b/src/VBox/Main/idl/doxygen.xsl @@ -5,7 +5,7 @@ * definition expressed in XML. The generated file is intended solely to * generate the documentation using Doxygen. - Copyright (C) 2006-2010 Oracle Corporation + Copyright (C) 2006-2012 Oracle Corporation This file is part of VirtualBox Open Source Edition (OSE), as available from http://www.virtualbox.org. This file is free software; diff --git a/src/VBox/Main/idl/midl.xsl b/src/VBox/Main/idl/midl.xsl index 0ded778f..5ee2c302 100644 --- a/src/VBox/Main/idl/midl.xsl +++ b/src/VBox/Main/idl/midl.xsl @@ -5,7 +5,7 @@ * A template to generate a MS IDL compatible interface definition file * from the generic interface definition expressed in XML. - Copyright (C) 2006-2012 Oracle Corporation + Copyright (C) 2006-2014 Oracle Corporation This file is part of VirtualBox Open Source Edition (OSE), as available from http://www.virtualbox.org. This file is free software; @@ -206,7 +206,6 @@ : IDispatch - IDispatch IErrorInfo diff --git a/src/VBox/Main/idl/typemap-shared.inc.xsl b/src/VBox/Main/idl/typemap-shared.inc.xsl new file mode 100644 index 00000000..845f8fad --- /dev/null +++ b/src/VBox/Main/idl/typemap-shared.inc.xsl @@ -0,0 +1,360 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _USCORE + + + + + + diff --git a/src/VBox/Main/idl/xpidl.xsl b/src/VBox/Main/idl/xpidl.xsl index 18796ba6..8a8597b1 100644 --- a/src/VBox/Main/idl/xpidl.xsl +++ b/src/VBox/Main/idl/xpidl.xsl @@ -5,7 +5,7 @@ * A template to generate a XPCOM IDL compatible interface definition file * from the generic interface definition expressed in XML. - Copyright (C) 2006-2009 Oracle Corporation + Copyright (C) 2006-2014 Oracle Corporation This file is part of VirtualBox Open Source Edition (OSE), as available from http://www.virtualbox.org. This file is free software; @@ -102,19 +102,6 @@ #include "nsISupports.idl" #include "nsIException.idl" -%{C++ -/** - * For escaping compound expression so they don't cause trouble when -pedantic - * is used. - * @internal - */ -#if defined(__cplusplus) && defined(__GNUC__) -# define VBOX_GCC_EXTENSION __extension__ -#endif -#ifndef VBOX_GCC_EXTENSION -# define VBOX_GCC_EXTENSION -#endif -%} @@ -199,8 +186,16 @@ * libraries --> - %{C++ + #ifndef VBOX_EXTERN_C + # ifdef __cplusplus + # define VBOX_EXTERN_C extern "C" + # else // !__cplusplus + # define VBOX_EXTERN_C extern + # endif // !__cplusplus + #endif // !VBOX_EXTERN_C + + // result codes declared in API spec @@ -248,7 +243,6 @@ : nsISupports - nsISupports nsIException @@ -289,8 +283,12 @@ _TO_BASE(base) COM_FORWARD_ - _TO (base::) + _TO (base::) + // for compatibility with Win32 + VBOX_EXTERN_C const nsID IID_ + + ; %} @@ -660,6 +658,11 @@ %{C++ + // Definitions for module + + , class + + : #define NS_ @@ -690,13 +693,9 @@ ;1" // for compatibility with Win32 - #define CLSID_ + VBOX_EXTERN_C const nsCID CLSID_ - VBOX_GCC_EXTENSION (nsCID) NS_ - - - - _CID + ; %} diff --git a/src/VBox/Main/idl/xpidl_iid.xsl b/src/VBox/Main/idl/xpidl_iid.xsl new file mode 100644 index 00000000..1e216085 --- /dev/null +++ b/src/VBox/Main/idl/xpidl_iid.xsl @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + +/* + * DO NOT EDIT! This is a generated file. + * + * XPCOM C definitions for VirtualBox Main API (IIDs for COM interfaces) + * generated from XIDL (XML interface definition). + * + * Source : src/VBox/Main/idl/VirtualBox.xidl + * Generator : src/VBox/Main/idl/xpidl_iid.xsl + */ + +#ifndef nsID_h__ +struct nsID +{ + unsigned int m0; + unsigned short m1; + unsigned short m2; + unsigned char m3[8]; +}; + +typedef struct nsID nsID; +typedef struct nsID nsIID; +typedef struct nsID nsCID; +#endif /* nsID_h__ */ + +#ifdef __cplusplus +extern "C" { +#endif + + + + + +#ifdef __cplusplus +} +#endif + + + + + + + + + + + + + + + + + + + + + + + const nsID IID_ + + = { + 0x + , 0x + , 0x + , \ + { 0x + , 0x + , 0x + , 0x + , 0x + , 0x + , 0x + , 0x + } \ }; + + + + + + + + + + + + const nsCID CLSID_ + + = { + 0x + , 0x + , 0x + , \ + { 0x + , 0x + , 0x + , 0x + , 0x + , 0x + , 0x + , 0x + } \ }; + + + + -- cgit v1.2.1