org.eclipse.wst.jsdt.chromium

## Interface StandaloneVm

All Superinterfaces:
  JavascriptVm

    public interface StandaloneVm
    extends JavascriptVm

Abstraction of a remote JavaScript virtual machine which is embedded into some application and accessed via TCP/IP connection to a port opened by DebuggerAgent. Clients can use it to conduct debugging process.

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.eclipse.wst.jsdt.chromium.JavascriptVm

`JavascriptVm.BreakpointCallback, JavascriptVm.ExceptionCatchMode, JavascriptVm.ListBreakpointsCallback, JavascriptVm.ScriptsCallback, JavascriptVm.SuspendCallback`

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `attach(DebugEventListener listener)` Connects to the target VM.
`java.lang.String` `getDisconnectReason()`
`java.lang.String` `getEmbedderName()`
`java.lang.String` `getVmVersion()` This version should correspond to `JavascriptVm.getVersion()`.

### Methods inherited from interface org.eclipse.wst.jsdt.chromium.JavascriptVm

`detach, enableBreakpoints, getBreakpointTypeExtension, getFunctionScopeExtension, getIgnoreCountBreakpointExtension, getRestartFrameExtension, getScripts, getVersion, isAttached, listBreakpoints, setBreakOnException, setBreakpoint, suspend`

### Method Detail

#### attach

    void attach(DebugEventListener listener)
         throws java.io.IOException,
                UnsupportedVersionException,
                MethodIsBlockingException

Connects to the target VM.

Parameters:
  `listener` - to report the debug events to
Throws:
  `java.io.IOException` - if there was a transport layer error
  `UnsupportedVersionException` - if the SDK protocol version is not compatible with that supported by the browser
  `MethodIsBlockingException` - because initialization implies couple of remote calls (to request version etc)

#### getEmbedderName

    java.lang.String getEmbedderName()

Returns:
  name of embedding application as it wished to name itself; might be null

#### getVmVersion

    java.lang.String getVmVersion()

This version should correspond to `JavascriptVm.getVersion()`. However it gets available earlier, at the transport handshake stage.

Returns:
  version of V8 implementation, format is unspecified; must not be null if `StandaloneVm` has been attached

#### getDisconnectReason

    java.lang.String getDisconnectReason()

Returns:
  message explaining why VM is detached; may be null