|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.virtualbox_4_3.IUnknown
org.virtualbox_4_3.IGuest
public class IGuest
The IGuest interface represents information about the operating system
running inside the virtual machine. Used in
IConsole.getGuest()
.
IGuest provides information about the guest operating system, whether
Guest Additions are installed and other OS-specific virtual machine
properties.
Interface ID: {8011A1B1-6ADB-4FFB-A37E-20ABDAEE4650}
Field Summary |
---|
Fields inherited from class org.virtualbox_4_3.IUnknown |
---|
obj, port |
Constructor Summary | |
---|---|
IGuest(java.lang.String wrapped,
org.virtualbox_4_3.jaxws.VboxPortType port)
|
Method Summary | |
---|---|
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. |
IProgress |
dragGHDropped(java.lang.String format,
DragAndDropAction action)
Informs the guest that a drop event occurred for a pending Drag and Drop event. |
byte[] |
dragGHGetData()
Fetch the data of a previously Drag and Drop event from the guest. |
DragAndDropAction |
dragGHPending(java.lang.Long screenId,
Holder<java.util.List<java.lang.String>> formats,
Holder<java.util.List<DragAndDropAction>> allowedActions)
Ask the guest if there is any Drag and Drop operation pending in the guest. |
DragAndDropAction |
dragHGDrop(java.lang.Long screenId,
java.lang.Long x,
java.lang.Long y,
DragAndDropAction defaultAction,
java.util.List<DragAndDropAction> allowedActions,
java.util.List<java.lang.String> formats,
Holder<java.lang.String> format)
Informs the guest about a drop event. |
DragAndDropAction |
dragHGEnter(java.lang.Long screenId,
java.lang.Long y,
java.lang.Long x,
DragAndDropAction defaultAction,
java.util.List<DragAndDropAction> allowedActions,
java.util.List<java.lang.String> formats)
Informs the guest about a Drag and Drop enter event. |
void |
dragHGLeave(java.lang.Long screenId)
Informs the guest about a Drag and Drop leave event. |
DragAndDropAction |
dragHGMove(java.lang.Long screenId,
java.lang.Long x,
java.lang.Long y,
DragAndDropAction defaultAction,
java.util.List<DragAndDropAction> allowedActions,
java.util.List<java.lang.String> formats)
Informs the guest about a Drag and Drop move event. |
IProgress |
dragHGPutData(java.lang.Long screenId,
java.lang.String format,
byte[] data)
Informs the guest about a drop data event. |
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 additions. |
AdditionsRunLevelType |
getAdditionsRunLevel()
Current run level of the 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 Guest Additions in the same format as IVirtualBox.getVersion() . |
IEventSource |
getEventSource()
Event source for guest events. |
java.util.List<IAdditionsFacility> |
getFacilities()
Array 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. |
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. |
Methods inherited from class org.virtualbox_4_3.IUnknown |
---|
getRemoteWSPort, getWrapped, releaseRemote |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public IGuest(java.lang.String wrapped, org.virtualbox_4_3.jaxws.VboxPortType port)
Method Detail |
---|
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 as IMachine.getOSTypeId()
.
public AdditionsRunLevelType getAdditionsRunLevel()
public java.lang.String getAdditionsVersion()
IVirtualBox.getVersion()
.
public java.lang.Long getAdditionsRevision()
IVirtualBox.getRevision()
.
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 static IGuest queryInterface(IUnknown obj)
public 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)
level
- Status level to check
@link ::VBOX_E_NOT_SUPPORTED VBOX_E_NOT_SUPPORTED | Wrong status level specified. |
public void setCredentials(java.lang.String userName, java.lang.String password, java.lang.String domain, java.lang.Boolean allowInteractiveLogon)
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.
Expected result codes:
@link ::VBOX_E_VM_ERROR VBOX_E_VM_ERROR | VMM device is not available. |
public DragAndDropAction dragHGEnter(java.lang.Long screenId, java.lang.Long y, java.lang.Long x, DragAndDropAction defaultAction, java.util.List<DragAndDropAction> allowedActions, java.util.List<java.lang.String> formats)
screenId
- The screen id where the Drag and Drop event occurred.y
- y-position of the event.x
- x-position of the event.defaultAction
- The default action to use.allowedActions
- The actions which are allowed.formats
- The supported mime types.
@link ::VBOX_E_VM_ERROR VBOX_E_VM_ERROR | VMM device is not available. |
public DragAndDropAction dragHGMove(java.lang.Long screenId, java.lang.Long x, java.lang.Long y, DragAndDropAction defaultAction, java.util.List<DragAndDropAction> allowedActions, java.util.List<java.lang.String> formats)
screenId
- The screen id where the Drag and Drop event occurred.x
- x-position of the event.y
- y-position of the event.defaultAction
- The default action to use.allowedActions
- The actions which are allowed.formats
- The supported mime types.
@link ::VBOX_E_VM_ERROR VBOX_E_VM_ERROR | VMM device is not available. |
public void dragHGLeave(java.lang.Long screenId)
screenId
- The screen id where the Drag and Drop event occurred.
Expected result codes:
@link ::VBOX_E_VM_ERROR VBOX_E_VM_ERROR | VMM device is not available. |
public DragAndDropAction dragHGDrop(java.lang.Long screenId, java.lang.Long x, java.lang.Long y, DragAndDropAction defaultAction, java.util.List<DragAndDropAction> allowedActions, java.util.List<java.lang.String> formats, Holder<java.lang.String> format)
screenId
- The screen id where the Drag and Drop event occurred.x
- x-position of the event.y
- y-position of the event.defaultAction
- The default action to use.allowedActions
- The actions which are allowed.formats
- The supported mime types.format
- The resulting format of this event.
@link ::VBOX_E_VM_ERROR VBOX_E_VM_ERROR | VMM device is not available. |
public IProgress dragHGPutData(java.lang.Long screenId, java.lang.String format, byte[] data)
screenId
- The screen id where the Drag and Drop event occurred.format
- The mime type the data is in.data
- The actual data.
@link ::VBOX_E_VM_ERROR VBOX_E_VM_ERROR | VMM device is not available. |
public DragAndDropAction dragGHPending(java.lang.Long screenId, Holder<java.util.List<java.lang.String>> formats, Holder<java.util.List<DragAndDropAction>> allowedActions)
screenId
- The screen id where the Drag and Drop event occurred.formats
- On return the supported mime types.allowedActions
- On return the actions which are allowed.
@link ::VBOX_E_VM_ERROR VBOX_E_VM_ERROR | VMM device is not available. |
public IProgress dragGHDropped(java.lang.String format, DragAndDropAction action)
format
- The mime type the data must be in.action
- The action to use.
@link ::VBOX_E_VM_ERROR VBOX_E_VM_ERROR | VMM device is not available. |
public byte[] dragGHGetData()
@link ::VBOX_E_VM_ERROR VBOX_E_VM_ERROR | VMM device is not available. |
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 on the guest, so
every operation will use the same credentials specified when creating
the session object via createSession(String,String,String,String)
. Anonymous
sessions, that is, sessions without specifying a valid
user account on the guest are not allowed due to security reasons.
There can be a maximum of 32 sessions at once per VM. Each session keeps
track of its started guest processes, opened guest files or guest directories.
To work on guest files or directories a guest session offers methods to open
or create such objects (see IGuestSession.fileOpen(String,String,String,Long)
or
IGuestSession.directoryOpen(String,String,List)
for example).
There can be up to 2048 objects (guest processes, files or directories)
a time per guest session. Exceeding the limit will result in an appropriate
error message.
When done with either of these objects, including the guest session itself,
use the appropriate close() method to let the object do its cleanup work.
Every guest session has its own environment variable block which gets
automatically applied when starting a new guest process via
IGuestSession.processCreate(String,List,List,List,Long)
or IGuestSession.processCreateEx(String,List,List,List,Long,org.virtualbox_4_3.ProcessPriority,List)
.
To override (or unset) certain environment variables already set by the
guest session, one can specify a per-process environment block when using
one of the both above mentioned process creation calls.
Closing a session via IGuestSession.close()
will try to close
all the mentioned objects above unless these objects are still used by
a client.
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 IProgress updateGuestAdditions(java.lang.String source, java.util.List<java.lang.String> arguments, java.util.List<AdditionsUpdateFlag> flags)
AdditionsUpdateFlag
for more information.
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 on the guest.flags
- AdditionsUpdateFlag
flags.
@link ::VBOX_E_NOT_SUPPORTED VBOX_E_NOT_SUPPORTED | Guest OS is not supported for automated Guest Additions updates or the already installed Guest Additions are not ready yet. |
@link ::VBOX_E_IPRT_ERROR VBOX_E_IPRT_ERROR | Error while updating. |
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |