org.virtualbox_5_0
Class IProcess

java.lang.Object
  extended by org.virtualbox_5_0.IUnknown
      extended by org.virtualbox_5_0.IProcess
Direct Known Subclasses:
IGuestProcess

public class IProcess
extends IUnknown

Abstract parent interface for processes handled by VirtualBox. Interface ID: {064CF1CA-4C0F-50B5-8F8E-E8B4BFA76C33}


Field Summary
 
Fields inherited from class org.virtualbox_5_0.IUnknown
obj, port
 
Constructor Summary
IProcess(java.lang.String wrapped, org.virtualbox_5_0.jaxws.VboxPortType port)
           
 
Method Summary
 java.util.List<java.lang.String> getArguments()
          The arguments this process is using for execution.
 java.util.List<java.lang.String> getEnvironment()
          The initial process environment.
 IEventSource getEventSource()
          Event source for process events.
 java.lang.String getExecutablePath()
          Full path of the actual executable image.
 java.lang.Integer getExitCode()
          The exit code.
 java.lang.String getName()
          The friendly name of this process.
 java.lang.Long getPID()
          The process ID (PID).
 ProcessStatus getStatus()
          The current process status; seeProcessStatusfor more information.
static IProcess queryInterface(IUnknown obj)
           
 byte[] read(java.lang.Long handle, java.lang.Long toRead, java.lang.Long timeoutMS)
          Reads data from a running process.
 void terminate()
          Terminates (kills) a running process.
 ProcessWaitResult waitFor(java.lang.Long waitFor, java.lang.Long timeoutMS)
          Waits for one or more events to happen.
 ProcessWaitResult waitForArray(java.util.List<ProcessWaitForFlag> waitFor, java.lang.Long timeoutMS)
          Waits for one or more events to happen.
 java.lang.Long write(java.lang.Long handle, java.lang.Long flags, byte[] data, java.lang.Long timeoutMS)
          Writes data to a running process.
 java.lang.Long writeArray(java.lang.Long handle, java.util.List<ProcessInputFlag> flags, byte[] data, java.lang.Long timeoutMS)
          Writes data to a running process.
 
Methods inherited from class org.virtualbox_5_0.IUnknown
getRemoteWSPort, getWrapped, releaseRemote
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IProcess

public IProcess(java.lang.String wrapped,
                org.virtualbox_5_0.jaxws.VboxPortType port)
Method Detail

getArguments

public java.util.List<java.lang.String> getArguments()
The arguments this process is using for execution.

Returns:
List<String>

getEnvironment

public java.util.List<java.lang.String> getEnvironment()
The initial process environment. Not yet implemented.

Returns:
List<String>

getEventSource

public IEventSource getEventSource()
Event source for process events.

Returns:
org.virtualbox_5_0.IEventSource

getExecutablePath

public java.lang.String getExecutablePath()
Full path of the actual executable image.

Returns:
String

getExitCode

public java.lang.Integer getExitCode()
The exit code. Only available when the process has been terminated normally.

Returns:
Integer

getName

public java.lang.String getName()
The friendly name of this process.

Returns:
String

getPID

public java.lang.Long getPID()
The process ID (PID).

Returns:
Long

getStatus

public ProcessStatus getStatus()
The current process status; seeProcessStatusfor more information.

Returns:
org.virtualbox_5_0.ProcessStatus

queryInterface

public static IProcess queryInterface(IUnknown obj)

waitFor

public ProcessWaitResult waitFor(java.lang.Long waitFor,
                                 java.lang.Long timeoutMS)
Waits for one or more events to happen.

Parameters:
waitFor - Specifies what to wait for; seeProcessWaitForFlagfor more information.
timeoutMS - Timeout (in ms) to wait for the operation to complete. Pass 0 for an infinite timeout.
Returns:
The overall wait result; seeProcessWaitResultfor more information.

waitForArray

public ProcessWaitResult waitForArray(java.util.List<ProcessWaitForFlag> waitFor,
                                      java.lang.Long timeoutMS)
Waits for one or more events to happen. Scriptable version ofwaitFor(Long,Long).

Parameters:
waitFor - Specifies what to wait for; seeProcessWaitForFlagfor more information.
timeoutMS - Timeout (in ms) to wait for the operation to complete. Pass 0 for an infinite timeout.
Returns:
The overall wait result; seeProcessWaitResultfor more information.

read

public byte[] read(java.lang.Long handle,
                   java.lang.Long toRead,
                   java.lang.Long timeoutMS)
Reads data from a running process.

Parameters:
handle - Handle to read from. Usually 0 is stdin.
toRead - Number of bytes to read.
timeoutMS - Timeout (in ms) to wait for the operation to complete. Pass 0 for an infinite timeout.
Returns:
Array of data read.

write

public java.lang.Long write(java.lang.Long handle,
                            java.lang.Long flags,
                            byte[] data,
                            java.lang.Long timeoutMS)
Writes data to a running process.

Parameters:
handle - Handle to write to. Usually 0 is stdin, 1 is stdout and 2 is stderr.
flags - A combination ofProcessInputFlagflags.
data - Array of bytes to write. The size of the array also specifies how much to write.
timeoutMS - Timeout (in ms) to wait for the operation to complete. Pass 0 for an infinite timeout.
Returns:
How much bytes were written.

writeArray

public java.lang.Long writeArray(java.lang.Long handle,
                                 java.util.List<ProcessInputFlag> flags,
                                 byte[] data,
                                 java.lang.Long timeoutMS)
Writes data to a running process. Scriptable version ofwrite(Long,Long,byte[],Long).

Parameters:
handle - Handle to write to. Usually 0 is stdin, 1 is stdout and 2 is stderr.
flags - A combination ofProcessInputFlagflags.
data - Array of bytes to write. The size of the array also specifies how much to write.
timeoutMS - Timeout (in ms) to wait for the operation to complete. Pass 0 for an infinite timeout.
Returns:
How much bytes were written.

terminate

public void terminate()
Terminates (kills) a running process. NOTE: It can take up to 30 seconds to get a guest process killed. In case a guest process could not be killed an appropriate error is returned.