org.virtualbox_5_2
Class IVirtualBox

java.lang.Object
  extended by org.virtualbox_5_2.IUnknown
      extended by org.virtualbox_5_2.IVirtualBox

public class IVirtualBox
extends IUnknown

The IVirtualBox interface represents the main interface exposed by the product that provides virtual machine management. An instance of IVirtualBox is required for the product to do anything useful. Even though the interface does not expose this, internally, IVirtualBox is implemented as a singleton and actually lives in the process of the VirtualBox server (VBoxSVC.exe). This makes sure that IVirtualBox can track the state of all virtual machines on a particular host, regardless of which frontend started them. To enumerate all the virtual machines on the host, use thegetMachines()attribute. Error information handling is a bit special with IVirtualBox: creating an instance will always succeed. The return of the actual error code/information is postponed to any attribute or method call. The reason for this is that COM likes to mutilate the error code and lose the detailed error information returned by instance creation. Interface ID: {9570B9D5-F1A1-448A-10C5-E12F5285ADAD}


Field Summary
 
Fields inherited from class org.virtualbox_5_2.IUnknown
obj, objMgr, port
 
Constructor Summary
IVirtualBox(java.lang.String wrapped, org.virtualbox_5_2.ObjectRefManager objMgr, org.virtualbox_5_2.jaxws.VboxPortType port)
           
 
Method Summary
 java.lang.Boolean checkFirmwarePresent(FirmwareType firmwareType, java.lang.String version, Holder<java.lang.String> url, Holder<java.lang.String> file)
          Check if this VirtualBox installation has a firmware of the given type available, either system-wide or per-user.
 java.lang.String composeMachineFilename(java.lang.String name, java.lang.String group, java.lang.String createFlags, java.lang.String baseFolder)
          Returns a recommended full path of the settings file name for a new virtual machine.
 IAppliance createAppliance()
          Creates a new appliance object, which represents an appliance in the Open Virtual Machine Format (OVF).
 IDHCPServer createDHCPServer(java.lang.String name)
          Creates a DHCP server settings to be used for the given internal network name
 IMachine createMachine(java.lang.String settingsFile, java.lang.String name, java.util.List<java.lang.String> groups, java.lang.String osTypeId, java.lang.String flags)
          Creates a new virtual machine by creating a machine settings file at the given location.
 IMedium createMedium(java.lang.String format, java.lang.String location, AccessMode accessMode, DeviceType aDeviceTypeType)
          Creates a new base medium object that will use the given storage format and location for medium data.
 INATNetwork createNATNetwork(java.lang.String networkName)
           
 void createSharedFolder(java.lang.String name, java.lang.String hostPath, java.lang.Boolean writable, java.lang.Boolean automount)
          Creates a new global shared folder by associating the given logical name with the given host path, adds it to the collection of shared folders and starts sharing it.
 IUnattended createUnattendedInstaller()
          Creates a newIUnattendedguest installation object.
 IDHCPServer findDHCPServerByNetworkName(java.lang.String name)
          Searches a DHCP server settings to be used for the given internal network name
 IMachine findMachine(java.lang.String nameOrId)
          Attempts to find a virtual machine given its name or UUID.
 INATNetwork findNATNetworkByName(java.lang.String networkName)
           
 java.lang.Long getAPIRevision()
          To be defined exactly, but we need something that the Validation Kit can use to figure which methods and attributes can safely be used on a continuously changing trunk (and occasional branch).
 java.lang.String getAPIVersion()
          A string representing the VirtualBox API version number.
 java.util.List<IDHCPServer> getDHCPServers()
          DHCP servers.
 java.util.List<IMedium> getDVDImages()
          Array of CD/DVD image objects currently in use by this VirtualBox instance.
 IEventSource getEventSource()
          Event source for VirtualBox events.
 java.lang.String getExtraData(java.lang.String key)
          Returns associated global extra data.
 java.util.List<java.lang.String> getExtraDataKeys()
          Returns an array representing the global extra data keys which currently have values defined.
 java.util.List<IMedium> getFloppyImages()
          Array of floppy image objects currently in use by this VirtualBox instance.
 java.util.List<java.lang.String> getGenericNetworkDrivers()
          Names of all generic network drivers.
 IGuestOSType getGuestOSType(java.lang.String id)
          Returns an object describing the specified guest OS type.
 java.util.List<IGuestOSType> getGuestOSTypes()
           
 java.util.List<IMedium> getHardDisks()
          Array of medium objects known to this VirtualBox installation.
 java.lang.String getHomeFolder()
          Full path to the directory where the global settings file,VirtualBox.xml, is stored.
 IHost getHost()
          Associated host object.
 java.util.List<java.lang.String> getInternalNetworks()
          Names of all internal networks.
 java.util.List<java.lang.String> getMachineGroups()
          Array of all machine group names which are used by the machines which are accessible.
 java.util.List<IMachine> getMachines()
          Array of machine objects registered within this VirtualBox instance.
 java.util.List<IMachine> getMachinesByGroups(java.util.List<java.lang.String> groups)
          Gets all machine references which are in one of the specified groups.
 java.util.List<MachineState> getMachineStates(java.util.List<IMachine> machines)
          Gets the state of several machines in a single operation.
 java.util.List<INATNetwork> getNATNetworks()
           
 java.lang.String getPackageType()
          A string representing the package type of this product.
 IPerformanceCollector getPerformanceCollector()
          Associated performance collector object.
 java.util.List<IProgress> getProgressOperations()
           
 java.lang.Long getRevision()
          The internal build revision number of the product.
 java.lang.String getSettingsFilePath()
          Full name of the global settings file.
 java.util.List<ISharedFolder> getSharedFolders()
          Collection of global shared folders.
 ISystemProperties getSystemProperties()
          Associated system information object.
 java.lang.String getVersion()
          A string representing the version number of the product.
 java.lang.String getVersionNormalized()
          A string representing the version number of the product, without the publisher information (but still with other tags).
 IMachine openMachine(java.lang.String settingsFile)
          Opens a virtual machine from the existing settings file.
 IMedium openMedium(java.lang.String location, DeviceType deviceType, AccessMode accessMode, java.lang.Boolean forceNewUuid)
          Finds existing media or opens a medium from an existing storage location.
static IVirtualBox queryInterface(IUnknown obj)
           
 void registerMachine(IMachine machine)
          Registers the machine previously created usingcreateMachine(String,String,List,String,String)or opened usingopenMachine(String)within this VirtualBox installation.
 void removeDHCPServer(IDHCPServer server)
          Removes the DHCP server settings
 void removeNATNetwork(INATNetwork network)
           
 void removeSharedFolder(java.lang.String name)
          Removes the global shared folder with the given name previously created bycreateSharedFolder(String,String,Boolean,Boolean)from the collection of shared folders and stops sharing it.
 void setExtraData(java.lang.String key, java.lang.String value)
          Sets associated global extra data.
 void setSettingsSecret(java.lang.String password)
          Unlocks the secret data by passing the unlock password to the server.
 
Methods inherited from class org.virtualbox_5_2.IUnknown
getObjMgr, getRemoteWSPort, getWrapped, releaseRemote
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IVirtualBox

public IVirtualBox(java.lang.String wrapped,
                   org.virtualbox_5_2.ObjectRefManager objMgr,
                   org.virtualbox_5_2.jaxws.VboxPortType port)
Method Detail

getVersion

public java.lang.String getVersion()
A string representing the version number of the product. The format is 3 integer numbers divided by dots (e.g. 1.0.1). The 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 just like the prerelease build type tag.

Returns:
String

getVersionNormalized

public java.lang.String getVersionNormalized()
A string representing the version number of the product, without the publisher information (but still with other tags). SeegetVersion().

Returns:
String

getRevision

public java.lang.Long getRevision()
The internal build revision number of the product.

Returns:
Long

getPackageType

public java.lang.String getPackageType()
A string representing the package type of this product. The format is OS_ARCH_DIST where OS is either WINDOWS, LINUX, SOLARIS, DARWIN. ARCH is either 32BITS or 64BITS. DIST is either GENERIC, UBUNTU_606, UBUNTU_710, or something like this.

Returns:
String

getAPIVersion

public java.lang.String getAPIVersion()
A string representing the VirtualBox API version number. The format is 2 integer numbers divided by an underscore (e.g. 1_0). After the first public release of packages with a particular API version the API will not be changed in an incompatible way. Note that this guarantee does not apply to development builds, and also there is no guarantee that this version is identical to the first two integer numbers of the package version.

Returns:
String

getAPIRevision

public java.lang.Long getAPIRevision()
To be defined exactly, but we need something that the Validation Kit can use to figure which methods and attributes can safely be used on a continuously changing trunk (and occasional branch).

Returns:
Long

getHomeFolder

public java.lang.String getHomeFolder()
Full path to the directory where the global settings file,VirtualBox.xml, is stored. In this version of VirtualBox, the value of this property is always<user_dir>/.VirtualBox(where<user_dir>is the path to the user directory, as determined by the host OS), and cannot be changed. This path is also used as the base to resolve relative paths in places where relative paths are allowed (unless otherwise expressly indicated).

Returns:
String

getSettingsFilePath

public java.lang.String getSettingsFilePath()
Full name of the global settings file. The value of this property corresponds to the value ofgetHomeFolder()plus/VirtualBox.xml.

Returns:
String

getHost

public IHost getHost()
Associated host object.

Returns:
org.virtualbox_5_2.IHost

getSystemProperties

public ISystemProperties getSystemProperties()
Associated system information object.

Returns:
org.virtualbox_5_2.ISystemProperties

getMachines

public java.util.List<IMachine> getMachines()
Array of machine objects registered within this VirtualBox instance.

Returns:
List<org.virtualbox_5_2.IMachine>

getMachineGroups

public java.util.List<java.lang.String> getMachineGroups()
Array of all machine group names which are used by the machines which are accessible. Each group is only listed once, however they are listed in no particular order and there is no guarantee that there are no gaps in the group hierarchy (i.e."/","/group/subgroup"is a valid result).

Returns:
List<String>

getHardDisks

public java.util.List<IMedium> getHardDisks()
Array of medium objects known to this VirtualBox installation. This array contains only base media. All differencing media of the given base medium can be enumerated usingIMedium.getChildren().

Returns:
List<org.virtualbox_5_2.IMedium>

getDVDImages

public java.util.List<IMedium> getDVDImages()
Array of CD/DVD image objects currently in use by this VirtualBox instance.

Returns:
List<org.virtualbox_5_2.IMedium>

getFloppyImages

public java.util.List<IMedium> getFloppyImages()
Array of floppy image objects currently in use by this VirtualBox instance.

Returns:
List<org.virtualbox_5_2.IMedium>

getProgressOperations

public java.util.List<IProgress> getProgressOperations()

getGuestOSTypes

public java.util.List<IGuestOSType> getGuestOSTypes()

getSharedFolders

public java.util.List<ISharedFolder> getSharedFolders()
Collection of global shared folders. Global shared folders are available to all virtual machines. New shared folders are added to the collection usingcreateSharedFolder(String,String,Boolean,Boolean). Existing shared folders can be removed usingremoveSharedFolder(String). NOTE: In the current version of the product, global shared folders are not implemented and therefore this collection is always empty.

Returns:
List<org.virtualbox_5_2.ISharedFolder>

getPerformanceCollector

public IPerformanceCollector getPerformanceCollector()
Associated performance collector object.

Returns:
org.virtualbox_5_2.IPerformanceCollector

getDHCPServers

public java.util.List<IDHCPServer> getDHCPServers()
DHCP servers.

Returns:
List<org.virtualbox_5_2.IDHCPServer>

getNATNetworks

public java.util.List<INATNetwork> getNATNetworks()

getEventSource

public IEventSource getEventSource()
Event source for VirtualBox events.

Returns:
org.virtualbox_5_2.IEventSource

getInternalNetworks

public java.util.List<java.lang.String> getInternalNetworks()
Names of all internal networks.

Returns:
List<String>

getGenericNetworkDrivers

public java.util.List<java.lang.String> getGenericNetworkDrivers()
Names of all generic network drivers.

Returns:
List<String>

queryInterface

public static IVirtualBox queryInterface(IUnknown obj)

composeMachineFilename

public java.lang.String composeMachineFilename(java.lang.String name,
                                               java.lang.String group,
                                               java.lang.String createFlags,
                                               java.lang.String baseFolder)
Returns a recommended full path of the settings file name for a new virtual machine. This API serves two purposes:SeeIMachine.getName()andcreateMachine(String,String,List,String,String)for more details about the machine name. groupName defines which additional subdirectory levels should be included. It must be either a valid group name or null or empty string which designates that the machine will not be related to a machine group. If baseFolder is a null or empty string (which is recommended), the default machine settings folder (seeISystemProperties.getDefaultMachineFolder()) will be used as a base folder for the created machine, resulting in a file name like "/home/user/VirtualBox VMs/name/name.vbox". Otherwise the given base folder will be used. This method does not access the host disks. In particular, it does not check for whether a machine with this name already exists.

Parameters:
name - Suggested machine name.
group - Machine group name for the new machine or machine group. It is used to determine the right subdirectory.
createFlags - Machine creation flags, seecreateMachine(String,String,List,String,String)(optional).
baseFolder - Base machine folder (optional).
Returns:
Fully qualified path where the machine would be created.

createMachine

public IMachine createMachine(java.lang.String settingsFile,
                              java.lang.String name,
                              java.util.List<java.lang.String> groups,
                              java.lang.String osTypeId,
                              java.lang.String flags)
Creates a new virtual machine by creating a machine settings file at the given location. VirtualBox machine settings files use a custom XML dialect. Starting with VirtualBox 4.0, a ".vbox" extension is recommended, but not enforced, and machine files can be created at arbitrary locations. However, it is recommended that machines are created in the default machine folder (e.g. "/home/user/VirtualBox VMs/name/name.vbox"; seeISystemProperties.getDefaultMachineFolder()). If you specify null or empty string (which is recommended) for the settingsFile argument,composeMachineFilename(String,String,String,String)is called automatically to have such a recommended name composed based on the machine name given in the name argument and the primary group. If the resulting settings file already exists, this method will fail, unless the forceOverwrite flag is set. The new machine is created unregistered, with the initial configuration set according to the specified guest OS type. A typical sequence of actions to create a new virtual machine is as follows:
  1. Call this method to have a new machine created. The returned machine object will be "mutable" allowing to change any machine property.
  2. Configure the machine using the appropriate attributes and methods.
  3. CallIMachine.saveSettings()to write the settings to the machine's XML settings file. The configuration of the newly created machine will not be saved to disk until this method is called.
  4. CallregisterMachine(org.virtualbox_5_2.IMachine)to add the machine to the list of machines known to VirtualBox.
The specified guest OS type identifier must match an ID of one of known guest OS types listed in thegetGuestOSTypes()array.

Parameters:
settingsFile - Fully qualified path where the settings file should be created, empty string or null for a default folder and file based on the name argument and the primary group. (seecomposeMachineFilename(String,String,String,String)).
name - Machine name.
groups - Array of group names. null or an empty array have the same meaning as an array with just the empty string or"/", i.e. create a machine without group association.
osTypeId - Guest OS Type ID.
flags - Additional property parameters, passed as a comma-separated list of "name=value" type entries. The following ones are recognized:forceOverwrite=1to overwrite an existing machine settings file,UUID=<uuid>to specify a machine UUID anddirectoryIncludesUUID=1to switch to a special VM directory naming scheme which should not be used unless necessary.
Returns:
Created machine object. Expected result codes:
VBOX_E_OBJECT_NOT_FOUNDosTypeId is invalid.
VBOX_E_FILE_ERRORResulting settings file name is invalid or the settings file already exists or could not be created due to an I/O error.
E_INVALIDARGname is empty or null.
NOTE: IMachine.getSettingsModified()will return false for the created machine, until any of machine settings are changed. NOTE: There is no way to change the name of the settings file or subfolder of the created machine directly.

openMachine

public IMachine openMachine(java.lang.String settingsFile)
Opens a virtual machine from the existing settings file. The opened machine remains unregistered until you callregisterMachine(org.virtualbox_5_2.IMachine). The specified settings file name must be fully qualified. The file must exist and be a valid machine XML settings file whose contents will be used to construct the machine object.

Parameters:
settingsFile - Name of the machine settings file.
Returns:
Opened machine object. Expected result codes:
VBOX_E_FILE_ERRORSettings file name invalid, not found or sharing violation.
NOTE: IMachine.getSettingsModified()will return false for the opened machine, until any of machine settings are changed.

registerMachine

public void registerMachine(IMachine machine)
Registers the machine previously created usingcreateMachine(String,String,List,String,String)or opened usingopenMachine(String)within this VirtualBox installation. After successful method invocation, theIMachineRegisteredEventevent is fired. Expected result codes:
VBOX_E_OBJECT_NOT_FOUNDNo matching virtual machine found.
VBOX_E_INVALID_OBJECT_STATEVirtual machine was not created within this VirtualBox instance.
NOTE: This method implicitly callsIMachine.saveSettings()to save all current machine settings before registering it.


findMachine

public IMachine findMachine(java.lang.String nameOrId)
Attempts to find a virtual machine given its name or UUID.

Parameters:
nameOrId - What to search for. This can either be the UUID or the name of a virtual machine.
Returns:
Machine object, if found. Expected result codes:
VBOX_E_OBJECT_NOT_FOUNDCould not find registered machine matching nameOrId.
NOTE: Inaccessible machines cannot be found by name, only by UUID, because their name cannot safely be determined.

getMachinesByGroups

public java.util.List<IMachine> getMachinesByGroups(java.util.List<java.lang.String> groups)
Gets all machine references which are in one of the specified groups.

Parameters:
groups - What groups to match. The usual group list rules apply, i.e. passing an empty list will match VMs in the toplevel group, likewise the empty string.
Returns:
All machines which matched.

getMachineStates

public java.util.List<MachineState> getMachineStates(java.util.List<IMachine> machines)
Gets the state of several machines in a single operation.

Parameters:
machines - Array with the machine references.
Returns:
Machine states, corresponding to the machines.

createAppliance

public IAppliance createAppliance()
Creates a new appliance object, which represents an appliance in the Open Virtual Machine Format (OVF). This can then be used to import an OVF appliance into VirtualBox or to export machines as an OVF appliance; see the documentation forIAppliancefor details.

Returns:
New appliance.

createUnattendedInstaller

public IUnattended createUnattendedInstaller()
Creates a newIUnattendedguest installation object. This can be used to analyze an installation ISO to create and configure a new machine for it to be installed on. It can also be used to (re)install an existing machine.

Returns:
New unattended object.

createMedium

public IMedium createMedium(java.lang.String format,
                            java.lang.String location,
                            AccessMode accessMode,
                            DeviceType aDeviceTypeType)
Creates a new base medium object that will use the given storage format and location for medium data. The actual storage unit is not created by this method. In order to do it, and before you are able to attach the created medium to virtual machines, you must call one of the following methods to allocate a format-specific storage unit at the specified location:Some medium attributes, such asIMedium.getId(), may remain uninitialized until the medium storage unit is successfully created by one of the above methods. Depending on the given device type, the file at the storage location must be in one of the media formats understood by VirtualBox:The list of all storage formats supported by this VirtualBox installation can be obtained usingISystemProperties.getMediumFormats(). If the format attribute is empty or null then the default storage format specified byISystemProperties.getDefaultHardDiskFormat()will be used for disks r creating a storage unit of the medium. Note that the format of the location string is storage format specific. SeeIMedium.getLocation()and IMedium for more details.

Parameters:
format - Identifier of the storage format to use for the new medium.
location - Location of the storage unit for the new medium.
accessMode - Whether to open the image in read/write or read-only mode. For a "DVD" device type, this is ignored and read-only mode is always assumed.
aDeviceTypeType - Must be one of "HardDisk", "DVD" or "Floppy".
Returns:
Created medium object. Expected result codes:
VBOX_E_OBJECT_NOT_FOUNDformat identifier is invalid. SeeISystemProperties.getMediumFormats().
VBOX_E_FILE_ERRORlocation is a not valid file name (for file-based formats only).

openMedium

public IMedium openMedium(java.lang.String location,
                          DeviceType deviceType,
                          AccessMode accessMode,
                          java.lang.Boolean forceNewUuid)
Finds existing media or opens a medium from an existing storage location. Once a medium has been opened, it can be passed to other VirtualBox methods, in particular toIMachine.attachDevice(String,Integer,Integer,org.virtualbox_5_2.DeviceType,org.virtualbox_5_2.IMedium). Depending on the given device type, the file at the storage location must be in one of the media formats understood by VirtualBox:After having been opened, the medium can be re-found by this method and can be attached to virtual machines. SeeIMediumfor more details. The UUID of the newly opened medium will either be retrieved from the storage location, if the format supports it (e.g. for hard disk images), or a new UUID will be randomly generated (e.g. for ISO and RAW files). If for some reason you need to change the medium's UUID, useIMedium.setIds(Boolean,String,Boolean,String). If a differencing hard disk medium is to be opened by this method, the operation will succeed only if its parent medium and all ancestors, if any, are already known to this VirtualBox installation (for example, were opened by this method before). This method attempts to guess the storage format of the specified medium by reading medium data at the specified location. If accessMode is ReadWrite (which it should be for hard disks and floppies), the image is opened for read/write access and must have according permissions, as VirtualBox may actually write status information into the disk's metadata sections. Note that write access is required for all typical hard disk usage in VirtualBox, since VirtualBox may need to write metadata such as a UUID into the image. The only exception is opening a source image temporarily for copying and cloning (seeIMedium.cloneTo(org.virtualbox_5_2.IMedium,List,org.virtualbox_5_2.IMedium)when the image will be closed again soon. The format of the location string is storage format specific. SeeIMedium.getLocation()and IMedium for more details.

Parameters:
location - Location of the storage unit that contains medium data in one of the supported storage formats.
deviceType - Must be one of "HardDisk", "DVD" or "Floppy".
accessMode - Whether to open the image in read/write or read-only mode. For a "DVD" device type, this is ignored and read-only mode is always assumed.
forceNewUuid - Allows the caller to request a completely new medium UUID for the image which is to be opened. Useful if one intends to open an exact copy of a previously opened image, as this would normally fail due to the duplicate UUID.
Returns:
Opened medium object. Expected result codes:
VBOX_E_FILE_ERRORInvalid medium storage file location or could not find the medium at the specified location.
VBOX_E_IPRT_ERRORCould not get medium storage format.
E_INVALIDARGInvalid medium storage format.
VBOX_E_INVALID_OBJECT_STATEMedium has already been added to a media registry.

getGuestOSType

public IGuestOSType getGuestOSType(java.lang.String id)
Returns an object describing the specified guest OS type. The requested guest OS type is specified using a string which is a mnemonic identifier of the guest operating system, such as"win31"or"ubuntu". The guest OS type ID of a particular virtual machine can be read or set using theIMachine.getOSTypeId()attribute. ThegetGuestOSTypes()collection contains all available guest OS type objects. Each object has anIGuestOSType.getId()attribute which contains an identifier of the guest OS this object describes.

Parameters:
id - Guest OS type ID string.
Returns:
Guest OS type object. Expected result codes:
E_INVALIDARGid is not a valid Guest OS type.

createSharedFolder

public void createSharedFolder(java.lang.String name,
                               java.lang.String hostPath,
                               java.lang.Boolean writable,
                               java.lang.Boolean automount)
Creates a new global shared folder by associating the given logical name with the given host path, adds it to the collection of shared folders and starts sharing it. Refer to the description ofISharedFolderto read more about logical names.

Parameters:
name - Unique logical name of the shared folder.
hostPath - Full path to the shared folder in the host file system.
writable - Whether the share is writable or readonly
automount - Whether the share gets automatically mounted by the guest or not. NOTE: In the current implementation, this operation is not implemented.

removeSharedFolder

public void removeSharedFolder(java.lang.String name)
Removes the global shared folder with the given name previously created bycreateSharedFolder(String,String,Boolean,Boolean)from the collection of shared folders and stops sharing it.

Parameters:
name - Logical name of the shared folder to remove. NOTE: In the current implementation, this operation is not implemented.

getExtraDataKeys

public java.util.List<java.lang.String> getExtraDataKeys()
Returns an array representing the global extra data keys which currently have values defined.

Returns:
Array of extra data keys.

getExtraData

public java.lang.String getExtraData(java.lang.String key)
Returns associated global extra data. If the requested data key does not exist, this function will succeed and return an empty string in the value argument.

Parameters:
key - Name of the data key to get.
Returns:
Value of the requested data key. Expected result codes:
VBOX_E_FILE_ERRORSettings file not accessible.
VBOX_E_XML_ERRORCould not parse the settings file.

setExtraData

public void setExtraData(java.lang.String key,
                         java.lang.String value)
Sets associated global extra data. If you pass null or empty string as a key value, the given key will be deleted.

Parameters:
key - Name of the data key to set.
value - Value to assign to the key. Expected result codes:
VBOX_E_FILE_ERRORSettings file not accessible.
VBOX_E_XML_ERRORCould not parse the settings file.
E_ACCESSDENIEDModification request refused.
NOTE: Before performing the actual data change, this method will ask all registered event listener using theIExtraDataCanChangeEventnotification for a permission. If one of the listeners refuses the new value, the change will not be performed. NOTE: On success, theIExtraDataChangedEventnotification is called to inform all registered listeners about a successful data change.

setSettingsSecret

public void setSettingsSecret(java.lang.String password)
Unlocks the secret data by passing the unlock password to the server. The server will cache the password for that machine.

Parameters:
password - The cipher key. Expected result codes:
VBOX_E_INVALID_VM_STATEVirtual machine is not mutable.

createDHCPServer

public IDHCPServer createDHCPServer(java.lang.String name)
Creates a DHCP server settings to be used for the given internal network name

Parameters:
name - server name
Returns:
DHCP server settings Expected result codes:
E_INVALIDARGHost network interface name already exists.

findDHCPServerByNetworkName

public IDHCPServer findDHCPServerByNetworkName(java.lang.String name)
Searches a DHCP server settings to be used for the given internal network name

Parameters:
name - server name
Returns:
DHCP server settings Expected result codes:
E_INVALIDARGHost network interface name already exists.

removeDHCPServer

public void removeDHCPServer(IDHCPServer server)
Removes the DHCP server settings

Parameters:
server - DHCP server settings to be removed Expected result codes:
E_INVALIDARGHost network interface name already exists.

createNATNetwork

public INATNetwork createNATNetwork(java.lang.String networkName)

findNATNetworkByName

public INATNetwork findNATNetworkByName(java.lang.String networkName)

removeNATNetwork

public void removeNATNetwork(INATNetwork network)

checkFirmwarePresent

public java.lang.Boolean checkFirmwarePresent(FirmwareType firmwareType,
                                              java.lang.String version,
                                              Holder<java.lang.String> url,
                                              Holder<java.lang.String> file)
Check if this VirtualBox installation has a firmware of the given type available, either system-wide or per-user. Optionally, this may return a hint where this firmware can be downloaded from.

Parameters:
firmwareType - Type of firmware to check.
version - Expected version number, usually empty string (presently ignored).
url - Suggested URL to download this firmware from.
file - Filename of firmware, only valid if result == TRUE.
Returns:
If firmware of this type and version is available.