public class IGuest extends IUnknown
IConsole.getGuest()
.
IGuest provides information about the guest operating system, whether
Guest Additions are installed and other OS-specific virtual machine
properties.
Interface ID: {00892186-A4AF-4627-B21F-FC561CE4473C}
Constructor and Description |
---|
IGuest(java.lang.String wrapped,
org.virtualbox_7_0.ObjectRefManager objMgr,
org.virtualbox_7_0.jaxws.VboxPortType port) |
Modifier and Type | Method and Description |
---|---|
IGuestSession |
createSession(java.lang.String user,
java.lang.String password,
java.lang.String domain,
java.lang.String sessionName)
Creates a new guest session for controlling the guest.
|
java.util.List<IGuestSession> |
findSession(java.lang.String sessionName)
Finds guest sessions by their friendly name and returns an interface
array with all found guest sessions.
|
java.lang.Long |
getAdditionsRevision()
The internal build revision number of the installed Guest Additions.
|
AdditionsRunLevelType |
getAdditionsRunLevel()
Current run level of the installed Guest Additions.
|
java.lang.Boolean |
getAdditionsStatus(AdditionsRunLevelType level)
Retrieve the current status of a certain Guest Additions run level.
|
java.lang.String |
getAdditionsVersion()
Version of the installed Guest Additions in the same format as
IVirtualBox.getVersion() . |
IGuestDnDSource |
getDnDSource()
Retrieves the drag'n drop source implementation for the guest side, that
is, handling and retrieving drag'n drop data from the guest.
|
IGuestDnDTarget |
getDnDTarget()
Retrieves the drag'n drop source implementation for the host side.
|
IEventSource |
getEventSource()
Event source for guest events.
|
java.util.List<IAdditionsFacility> |
getFacilities()
Returns a collection of current known facilities.
|
AdditionsFacilityStatus |
getFacilityStatus(AdditionsFacilityType facility,
Holder<java.lang.Long> timestamp)
Get the current status of a Guest Additions facility.
|
java.lang.Long |
getMemoryBalloonSize()
Guest system memory balloon size in megabytes (transient property).
|
java.lang.String |
getOSTypeId()
Identifier of the Guest OS type as reported by the Guest
Additions.
|
java.util.List<IGuestSession> |
getSessions()
Returns a collection of all opened guest sessions.
|
java.lang.Long |
getStatisticsUpdateInterval()
Interval to update guest statistics in seconds.
|
void |
internalGetStatistics(Holder<java.lang.Long> cpuUser,
Holder<java.lang.Long> cpuKernel,
Holder<java.lang.Long> cpuIdle,
Holder<java.lang.Long> memTotal,
Holder<java.lang.Long> memFree,
Holder<java.lang.Long> memBalloon,
Holder<java.lang.Long> memShared,
Holder<java.lang.Long> memCache,
Holder<java.lang.Long> pagedTotal,
Holder<java.lang.Long> memAllocTotal,
Holder<java.lang.Long> memFreeTotal,
Holder<java.lang.Long> memBalloonTotal,
Holder<java.lang.Long> memSharedTotal)
Internal method; do not use as it might change at any time.
|
static IGuest |
queryInterface(IUnknown obj) |
void |
setCredentials(java.lang.String userName,
java.lang.String password,
java.lang.String domain,
java.lang.Boolean allowInteractiveLogon)
Store login credentials that can be queried by guest operating
systems with Additions installed.
|
void |
setMemoryBalloonSize(java.lang.Long value)
Guest system memory balloon size in megabytes (transient property).
|
void |
setStatisticsUpdateInterval(java.lang.Long value)
Interval to update guest statistics in seconds.
|
void |
shutdown(java.util.List<GuestShutdownFlag> flags)
Shuts down (and optionally halts and/or reboots) the guest.
|
IProgress |
updateGuestAdditions(java.lang.String source,
java.util.List<java.lang.String> arguments,
java.util.List<AdditionsUpdateFlag> flags)
Automatically updates already installed Guest Additions in a VM.
|
getObjMgr, getRemoteWSPort, getWrapped, releaseRemote
public IGuest(java.lang.String wrapped, org.virtualbox_7_0.ObjectRefManager objMgr, org.virtualbox_7_0.jaxws.VboxPortType port)
public java.lang.String getOSTypeId()
IVirtualBox.getGuestOSType(String)
to obtain
an IGuestOSType object representing details about the given
Guest OS type.
NOTE: If Guest Additions are not installed, this value will be
the same asIMachine.getOSTypeId()
.public AdditionsRunLevelType getAdditionsRunLevel()
public java.lang.String getAdditionsVersion()
IVirtualBox.getVersion()
.public java.lang.Long getAdditionsRevision()
IVirtualBox.getRevision()
.public IGuestDnDSource getDnDSource()
public IGuestDnDTarget getDnDTarget()
public IEventSource getEventSource()
public java.util.List<IAdditionsFacility> getFacilities()
public java.util.List<IGuestSession> getSessions()
public java.lang.Long getMemoryBalloonSize()
public void setMemoryBalloonSize(java.lang.Long value)
value
- Longpublic java.lang.Long getStatisticsUpdateInterval()
public void setStatisticsUpdateInterval(java.lang.Long value)
value
- Longpublic void internalGetStatistics(Holder<java.lang.Long> cpuUser, Holder<java.lang.Long> cpuKernel, Holder<java.lang.Long> cpuIdle, Holder<java.lang.Long> memTotal, Holder<java.lang.Long> memFree, Holder<java.lang.Long> memBalloon, Holder<java.lang.Long> memShared, Holder<java.lang.Long> memCache, Holder<java.lang.Long> pagedTotal, Holder<java.lang.Long> memAllocTotal, Holder<java.lang.Long> memFreeTotal, Holder<java.lang.Long> memBalloonTotal, Holder<java.lang.Long> memSharedTotal)
cpuUser
- Percentage of processor time spent in user mode as seen by the guest.cpuKernel
- Percentage of processor time spent in kernel mode as seen by the guest.cpuIdle
- Percentage of processor time spent idling as seen by the guest.memTotal
- Total amount of physical guest RAM.memFree
- Free amount of physical guest RAM.memBalloon
- Amount of ballooned physical guest RAM.memShared
- Amount of shared physical guest RAM.memCache
- Total amount of guest (disk) cache memory.pagedTotal
- Total amount of space in the page file.memAllocTotal
- Total amount of memory allocated by the hypervisor.memFreeTotal
- Total amount of free memory available in the hypervisor.memBalloonTotal
- Total amount of memory ballooned by the hypervisor.memSharedTotal
- Total amount of shared memory in the hypervisor.public AdditionsFacilityStatus getFacilityStatus(AdditionsFacilityType facility, Holder<java.lang.Long> timestamp)
facility
- Facility to check status for.timestamp
- Timestamp (in ms) of last status update seen by the host.public java.lang.Boolean getAdditionsStatus(AdditionsRunLevelType level)
VBOX_E_NOT_SUPPORTED
- Wrong status level specified.level
- Status level to checkpublic void setCredentials(java.lang.String userName, java.lang.String password, java.lang.String domain, java.lang.Boolean allowInteractiveLogon)
VBOX_E_VM_ERROR
- VMM device is not available.userName
- User name string, can be emptypassword
- Password string, can be emptydomain
- Domain name (guest logon scheme specific), can be emptyallowInteractiveLogon
- Flag whether the guest should alternatively allow the user to
interactively specify different credentials. This flag might
not be supported by all versions of the Additions.public IGuestSession createSession(java.lang.String user, java.lang.String password, java.lang.String domain, java.lang.String sessionName)
IGuestSession.waitFor(Long,Long)
call.
A guest session represents one impersonated user account in the guest, so
every operation will use the same credentials specified when creating
the session object viacreateSession(String,String,String,String)
. Anonymous
sessions, that is, sessions without specifying a valid
user account in the guest are not allowed reasons of security.
There can be a maximum of 32 sessions at once per VM. An error will
be returned if this has been reached.
For more information please consultIGuestSession
VBOX_E_IPRT_ERROR
- Error creating guest session.VBOX_E_MAXIMUM_REACHED
- The maximum of concurrent guest sessions has been reached.user
- User name this session will be using to control the guest; has to exist
and have the appropriate rights to execute programs in the VM. Must not
be empty.password
- Password of the user account to be used. Empty passwords are allowed.domain
- Domain name of the user account to be used if the guest is part of
a domain. Optional. This feature is not implemented yet.sessionName
- The session's friendly name. Optional, can be empty.public java.util.List<IGuestSession> findSession(java.lang.String sessionName)
sessionName
- The session's friendly name to find. Wildcards like ? and * are allowed.public void shutdown(java.util.List<GuestShutdownFlag> flags)
VBOX_E_NOT_SUPPORTED
- Guest OS is not supported for shutting down, or the
already installed Guest Additions are not supported.VBOX_E_IPRT_ERROR
- Error while shutting down.flags
- GuestShutdownFlag
flags.public IProgress updateGuestAdditions(java.lang.String source, java.util.List<java.lang.String> arguments, java.util.List<AdditionsUpdateFlag> flags)
AdditionsUpdateFlag
for more information.
The guest needs to be restarted in order to make use of the updated
Guest Additions.
VBOX_E_NOT_SUPPORTED
- Guest OS is not supported for automated Guest Additions updates or the
already installed Guest Additions are not ready yet.VBOX_E_IPRT_ERROR
- Error while updating.source
- Path to the Guest Additions .ISO file to use for the update.arguments
- Optional command line arguments to use for the Guest Additions
installer. Useful for retrofitting features which weren't installed
before in the guest.flags
- AdditionsUpdateFlag
flags.