diff options
Diffstat (limited to 'docs/TCF Service - System Monitor.html')
-rw-r--r-- | docs/TCF Service - System Monitor.html | 654 |
1 files changed, 654 insertions, 0 deletions
diff --git a/docs/TCF Service - System Monitor.html b/docs/TCF Service - System Monitor.html new file mode 100644 index 000000000..882e91094 --- /dev/null +++ b/docs/TCF Service - System Monitor.html @@ -0,0 +1,654 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> + <title>Target Communication Framework Services - System Monitor</title> +</head> + +<body lang='EN-US'> + +<h1>Target Communication Framework Services - System Monitor</h1> + +<ul> + <li><a href='#Cmds'>Commands</a> + <ul> + <li><a href='#CmdGetContext'>Get Context</a> + <li><a href='#CmdGetChildren'>Get Children</a> + <li><a href='#CmdGetCommandLine'>Get Command Line</a> + <li><a href='#CmdGetEnvironment'>Get Environment</a> + </ul> + <li><a href='#Events'>Events</a> + <li><a href='#API'>API</a> +</ul> + +<h1>System Monitor Service</h1> + +<p>The service can be used for monitoring system activity and utilization. +It provides list of running processes, different process attributes like command line, environment, etc., +and some resource utilization data. The service can be used by a client to provide functionality +similar to Unix 'top' utility or Windows 'Task Manager'.</p> + +<p>Command and event parameters are encoded +as zero terminated <a href='TCF Specification.html#JSON'>JSON</a> strings.</p> + +<p>The service uses standard format for error reports, +see <a href='TCF Services.html#ErrorFormat'>Error Report Format</a>.</p> + +<h2><a name='Cmds'>Commands</a></h2> + +<h3><a name='CmdGetContext'>Get Context</a></h3> + +<pre><b><font face="Courier New" size=2 color=#333399> +C • <i><token></i> • SysMonitor • getContext • <i><string: context ID></i> • +</font></b></pre> + +<p>The command retrieves context info for given context ID. +A context corresponds to an execution thread or process. +Context IDs are valid across TCF services, so it is allowed to issue 'SysMonitor.getContext' +command with a context that was obtained from another service.</p> + +<p>Reply:</p> + +<pre><b><font face="Courier New" size=2 color=#333399> +R • <i><token></i> • <i><error report></i> • <i><context data></i> • + +<i><context data></i> + <font face=Wingdings>Ø</font> null + <font face=Wingdings>Ø</font> <i><object></i> +</font></b></pre> + +<p>Context data object should, at least, contain member +<b><font face="Courier New" size=2 color=#333399>"ID" : <i><string>.</i></font></b> +</p> + +<p>Predefined context properties are:</p> +<ul> + <li><code><b><font face="Courier New" size=2 color=#333399>"ID" : <i><string></i></font></b></code> + - ID of the context, same as getContext command argument. + + <li><code><b><font face="Courier New" size=2 color=#333399>"ParentID" : <i><string></i></font></b></code> + - parent context ID. + + <li><code><b><font face="Courier New" size=2 color=#333399>"CWD" : <i><string></i></font></b></code> + - current working directory of the process. + + <li><code><b><font face="Courier New" size=2 color=#333399>"Root" : <i><string></i></font></b></code> + - the process's root directory (as set by chroot). + + <li><code><b><font face="Courier New" size=2 color=#333399>"UID" : <i><int></i></font></b></code> + - User ID of the process owner. + + <li><code><b><font face="Courier New" size=2 color=#333399>"UGID" : <i><int></i></font></b></code> + - Group ID of the process owner. + + <li><code><b><font face="Courier New" size=2 color=#333399>"UserName" : <i><string></i></font></b></code> + - user name of the process owner. + + <li><code><b><font face="Courier New" size=2 color=#333399>"GroupName" : <i><string></i></font></b></code> + - group name of the process owner. + + <li><code><b><font face="Courier New" size=2 color=#333399>"PID" : <i><int></i></font></b></code> + - system process ID. + + <li><code><b><font face="Courier New" size=2 color=#333399>"File" : <i><string></i></font></b></code> + - executable file of the process. + + <li><code><b><font face="Courier New" size=2 color=#333399>"State" : <i><string></i></font></b></code> + - one character from the string "RSDZTW" where R is running, S is + sleeping in an interruptible wait, D is waiting in uninterruptible + disk sleep, Z is zombie, T is traced or stopped (on a signal), and W + is paging. + + <li><code><b><font face="Courier New" size=2 color=#333399>"PPID" : <i><int></i></font></b></code> + - system ID of the parent process. + + <li><code><b><font face="Courier New" size=2 color=#333399>"PGRP" : <i><int></i></font></b></code> + - the process group ID of the process. + + <li><code><b><font face="Courier New" size=2 color=#333399>"Session" : <i><int></i></font></b></code> + - the session ID of the process. + + <li><code><b><font face="Courier New" size=2 color=#333399>"TTY" : <i><int></i></font></b></code> + - the tty the process uses. + + <li><code><b><font face="Courier New" size=2 color=#333399>"TGID" : <i><int></i></font></b></code> + - the process group ID of the process which currently owns the tty that + the process is connected to. + + <li><code><b><font face="Courier New" size=2 color=#333399>"TracerPID" : <i><int></i></font></b></code> + - ID of a process that has attached this process for tracing or debugging. + + <li><code><b><font face="Courier New" size=2 color=#333399>"Flags" : <i><int></i></font></b></code> + - the kernel flags word of the process. Details depend on the kernel. + + <li><code><b><font face="Courier New" size=2 color=#333399>"MinFlt" : <i><int></i></font></b></code> + - the number of minor faults the process has made which have not + required loading a memory page from disk. + + <li><code><b><font face="Courier New" size=2 color=#333399>"CMinFlt" : <i><int></i></font></b></code> + - the number of minor faults that the process's waited-for children have made. + + <li><code><b><font face="Courier New" size=2 color=#333399>"MajFlt" : <i><int></i></font></b></code> + - the number of major faults the process has made which have required + loading a memory page from disk. + + <li><code><b><font face="Courier New" size=2 color=#333399>"CMajFlt" : <i><int></i></font></b></code> + - the number of major faults that the process's waited-for children + have made. + + <li><code><b><font face="Courier New" size=2 color=#333399>"UTime" : <i><int></i></font></b></code> + - the number of milliseconds that this process has been scheduled in user mode. + + <li><code><b><font face="Courier New" size=2 color=#333399>"STime" : <i><int></i></font></b></code> + - the number of milliseconds that this process has been scheduled in kernel mode. + + <li><code><b><font face="Courier New" size=2 color=#333399>"CUTime" : <i><int></i></font></b></code> + - the number of jiffies that this process's waited-for children have + been scheduled in user mode. + + <li><code><b><font face="Courier New" size=2 color=#333399>"CSTime" : <i><int></i></font></b></code> + - the number of jiffies that this process's waited-for children have + been scheduled in user mode. + + <li><code><b><font face="Courier New" size=2 color=#333399>"Priority" : <i><int></i></font></b></code> + - the standard nice value. + + <li><code><b><font face="Courier New" size=2 color=#333399>"Nice" : <i><int></i></font></b></code> + - the nice value. + + <li><code><b><font face="Courier New" size=2 color=#333399>"ITRealValue" : <i><int></i></font></b></code> + - the time in milliseconds before the next SIGALRM is sent to the process + due to an interval timer. + + <li><code><b><font face="Courier New" size=2 color=#333399>"StartTime" : <i><int></i></font></b></code> + - the time in milliseconds the process started after system boot. + + <li><code><b><font face="Courier New" size=2 color=#333399>"VSize" : <i><int></i></font></b></code> + - virtual memory size in bytes. + + <li><code><b><font face="Courier New" size=2 color=#333399>"PSize" : <i><int></i></font></b></code> + - memory pages size in bytes. + + <li><code><b><font face="Courier New" size=2 color=#333399>"RSS" : <i><int></i></font></b></code> + - resident Set Size: number of pages the process has in real memory, + minus used for administrative purposes. This is just the pages which + count towards text, data, or stack space. This does not include + pages which have not been demand-loaded in, or which are swapped out. + + <li><code><b><font face="Courier New" size=2 color=#333399>"RLimit" : <i><int></i></font></b></code> + - current limit in bytes on the rss of the process. + + <li><code><b><font face="Courier New" size=2 color=#333399>"CodeStart" : <i><int></i></font></b></code> + - the address above which program text can run. + + <li><code><b><font face="Courier New" size=2 color=#333399>"CodeEnd" : <i><int></i></font></b></code> + - the address below which program text can run. + + <li><code><b><font face="Courier New" size=2 color=#333399>"StackStart" : <i><int></i></font></b></code> + - the address of the start of the stack. + + <li><code><b><font face="Courier New" size=2 color=#333399>"Signals" : <i><int></i></font></b></code> + - the bitmap of pending signals. + + <li><code><b><font face="Courier New" size=2 color=#333399>"SigBlock" : <i><int></i></font></b></code> + - the bitmap of blocked signals. + + <li><code><b><font face="Courier New" size=2 color=#333399>"SigIgnore" : <i><int></i></font></b></code> + - the bitmap of ignored signals. + + <li><code><b><font face="Courier New" size=2 color=#333399>"SigCatch" : <i><int></i></font></b></code> + - the bitmap of caught signals. + + <li><code><b><font face="Courier New" size=2 color=#333399>"WChan" : <i><int></i></font></b></code> + - this is the "channel" in which the process is waiting. It is the + address of a system call, and can be looked up in a namelist if you + need a textual name. + + <li><code><b><font face="Courier New" size=2 color=#333399>"NSwap" : <i><int></i></font></b></code> + - number of pages swapped. + + <li><code><b><font face="Courier New" size=2 color=#333399>"CNSwap" : <i><int></i></font></b></code> + - cumulative NSwap for child processes. + + <li><code><b><font face="Courier New" size=2 color=#333399>"ExitSignal" : <i><int></i></font></b></code> + - signal to be sent to parent when this process exits. + + <li><code><b><font face="Courier New" size=2 color=#333399>"Processor" : <i><int></i></font></b></code> + - CPU number last executed on. + + <li><code><b><font face="Courier New" size=2 color=#333399>"RTPriority" : <i><int></i></font></b></code> + - real-time scheduling priority. + + <li><code><b><font face="Courier New" size=2 color=#333399>"Policy" : <i><int></i></font></b></code> + - scheduling policy. +</ul> + +<h3><a name='CmdGetChildren'>Get Children</a></h3> + +<pre><b><font face="Courier New" size=2 color=#333399> +C • <i><token></i> • SysMonitor • getChildren • <i><string: parent context ID></i> • +</font></b></pre> + +<p>The command requests a list of contexts available for System Monitor commands.</p> + +<p>Parent context ID can be null – to retrieve top level of the hierarchy, can be one +of context IDs retrieved by previous getChildren commands, or it can be obtained from another service. +Contexts hierarchy can be simple plain list or it can form a tree. It is up to target agent developers to +choose layout that is most descriptive for a given target.</p> + +<p>Reply:</p> + +<pre><b><font face="Courier New" size=2 color=#333399> +R • <i><token></i> • <i><error report></i> • <i><array of context IDs></i> • + +<i><array of context IDs></i> + <font face=Wingdings>Ø</font> null + <font face=Wingdings>Ø</font> [ ] + <font face=Wingdings>Ø</font> [ <i><context ID list></i> ] + +<i><context ID list></i> + <font face=Wingdings>Ø</font> <i><string: context ID></i> + <font face=Wingdings>Ø</font> <i><context ID list></i> , <i><string: context ID></i> +</font></b></pre> + +<h3><a name='CmdGetCommandLine'>Get Command Line</a></h3> + +<pre><b><font face="Courier New" size=2 color=#333399> +C • <i><token></i> • SysMonitor • getCommandLine • <i><string: context ID></i> • +</font></b></pre> + +<p>The command requests a list of progess command line arguments.</p> + +<p>Reply:</p> + +<pre><b><font face="Courier New" size=2 color=#333399> +R • <i><token></i> • <i><error report></i> • <i><array of string></i> • + +<i><array of string></i> + <font face=Wingdings>Ø</font> null + <font face=Wingdings>Ø</font> [ ] + <font face=Wingdings>Ø</font> [ <i><string list></i> ] + +<i><string list></i> + <font face=Wingdings>Ø</font> <i><string></i> + <font face=Wingdings>Ø</font> <i><string list></i> , <i><string></i> +</font></b></pre> + +<h3><a name='CmdGetEnvironment'>Get Environment</a></h3> + +<pre><b><font face="Courier New" size=2 color=#333399> +C • <i><token></i> • SysMonitor • getEnvironment • <i><string: context ID></i> • +</font></b></pre> + +<p>The command requests a list of progess environment variables.</p> + +<p>Reply:</p> + +<pre><b><font face="Courier New" size=2 color=#333399> +R • <i><token></i> • <i><error report></i> • <i><array of string></i> • +</font></b></pre> + +<h2><a name='Events'>Events</a></h2> + +<p>No events are currently defined for System Monitor service.</p> + +<h2><a name='API'>API</a></h2> + +<pre> +<font color=#7F0055>public interface</font> ISysMonitor <font color=#7F0055>extends</font> IService { + + <font color=#7F0055>static final</font> String NAME = "SysMonitor"; + + <font color=#3F5FBF>/** + * Retrieve context info for given context ID. + * + * <font color=#7F9FBF>@param</font> id – context ID. + * <font color=#7F9FBF>@param</font> done - callback interface called when operation is completed. + */</font> + IToken getContext(String id, DoneGetContext done); + + <font color=#3F5FBF>/** + * Client callback interface for getContext(). + */</font> + <font color=#7F0055>interface</font> DoneGetContext { + <font color=#3F5FBF>/** + * Called when contexts data retrieval is done. + * <font color=#7F9FBF>@param</font> error – error description if operation failed, null if succeeded. + * <font color=#7F9FBF>@param</font> context – context data. + */</font> + <font color=#7F0055>void</font> doneGetContext(IToken token, Exception error, SysMonitorContext context); + } + + <font color=#3F5FBF>/** + * Retrieve children of given context. + * + * <font color=#7F9FBF>@param</font> parent_context_id – parent context ID. Can be null – + * to retrieve top level of the hierarchy, or one of context IDs retrieved + * by previous getContext or getChildren commands. + * <font color=#7F9FBF>@param</font> done - callback interface called when operation is completed. + */</font> + IToken getChildren(String parent_context_id, DoneGetChildren done); + + <font color=#3F5FBF>/** + * Client callback interface for getChildren(). + */</font> + <font color=#7F0055>interface</font> DoneGetChildren { + <font color=#3F5FBF>/** + * Called when contexts data retrieval is done. + * <font color=#7F9FBF>@param</font> error – error description if operation failed, null if succeeded. + * <font color=#7F9FBF>@param</font> context_ids – array of available context IDs. + */</font> + <font color=#7F0055>void</font> doneGetChildren(IToken token, Exception error, String[] context_ids); + } + + <font color=#3F5FBF>/** + * Context property names. + */</font> + <font color=#7F0055>static final</font> String + <font color=#3F5FBF>/** The TCF context ID */</font> + PROP_ID = "ID", + + <font color=#3F5FBF>/** The TCF parent context ID */</font> + PROP_PARENTID = "ParentID", + + <font color=#3F5FBF>/** Current working directory of the process */</font> + PROP_CWD = "CWD", + + <font color=#3F5FBF>/** The process's root directory (as set by chroot) */</font> + PROP_ROOT = "Root", + + <font color=#3F5FBF>/** User ID of the process owner */</font> + PROP_UID = "UID", + + <font color=#3F5FBF>/** Group ID of the process owner */</font> + PROP_UGID = "UGID", + + <font color=#3F5FBF>/** User name of the process owner */</font> + PROP_USERNAME = "UserName", + + <font color=#3F5FBF>/** Group name of the process owner */</font> + PROP_GROUPNAME = "GroupName", + + <font color=#3F5FBF>/** System process ID */</font> + PROP_PID = "PID", + + <font color=#3F5FBF>/** Executable file of the process */</font> + PROP_FILE = "File", + + <font color=#3F5FBF>/** One character from the string "RSDZTW" where R is running, S is + * sleeping in an interruptible wait, D is waiting in uninterruptible + * disk sleep, Z is zombie, T is traced or stopped (on a signal), and W + * is paging.*/</font> + PROP_STATE = "State", + + <font color=#3F5FBF>/** System ID of the parent process */</font> + PROP_PPID = "PPID", + + <font color=#3F5FBF>/** The process group ID of the process */</font> + PROP_PGRP = "PGRP", + + <font color=#3F5FBF>/** The session ID of the process */</font> + PROP_SESSION = "Session", + + <font color=#3F5FBF>/** The tty the process uses */</font> + PROP_TTY = "TTY", + + <font color=#3F5FBF>/** The process group ID of the process which currently owns the tty that + * the process is connected to. */</font> + PROP_TGID = "TGID", + + <font color=#3F5FBF>/** ID of a process that has attached this process for tracing or debugging */</font> + PROP_TRACERPID = "TracerPID", + + <font color=#3F5FBF>/** The kernel flags word of the process. Details depend on the kernel */</font> + PROP_FLAGS = "Flags", + + <font color=#3F5FBF>/** The number of minor faults the process has made which have not + * required loading a memory page from disk */</font> + PROP_MINFLT = "MinFlt", + + <font color=#3F5FBF>/** The number of minor faults that the process's waited-for children have made */</font> + PROP_CMINFLT = "CMinFlt", + + <font color=#3F5FBF>/** The number of major faults the process has made which have required + * loading a memory page from disk */</font> + PROP_MAJFLT = "MajFlt", + + <font color=#3F5FBF>/** The number of major faults that the process's waited-for children + * have made */</font> + PROP_CMAJFLT = "CMajFlt", + + <font color=#3F5FBF>/** The number of milliseconds that this process has been scheduled in user mode */</font> + PROP_UTIME = "UTime", + + <font color=#3F5FBF>/** The number of milliseconds that this process has been scheduled in kernel mode */</font> + PROP_STIME = "STime", + + <font color=#3F5FBF>/** The number of jiffies that this process's waited-for children have + * been scheduled in user mode */</font> + PROP_CUTIME = "CUTime", + + <font color=#3F5FBF>/** The number of jiffies that this process's waited-for children have + * been scheduled in user mode */</font> + PROP_CSTIME = "CSTime", + + <font color=#3F5FBF>/** The standard nice value */</font> + PROP_PRIORITY = "Priority", + + <font color=#3F5FBF>/** The nice value */</font> + PROP_NICE = "Nice", + + <font color=#3F5FBF>/** The time in milliseconds before the next SIGALRM is sent to the process + * due to an interval timer */</font> + PROP_ITREALVALUE = "ITRealValue", + + <font color=#3F5FBF>/** The time in milliseconds the process started after system boot */</font> + PROP_STARTTIME = "StartTime", + + <font color=#3F5FBF>/** Virtual memory size in bytes */</font> + PROP_VSIZE = "VSize", + + <font color=#3F5FBF>/** Memory pages size in bytes */</font> + PROP_PSIZE = "PSize", + + <font color=#3F5FBF>/** Resident Set Size: number of pages the process has in real memory, + * minus used for administrative purposes. This is just the pages which + * count towards text, data, or stack space. This does not include + * pages which have not been demand-loaded in, or which are swapped out */</font> + PROP_RSS = "RSS", + + <font color=#3F5FBF>/** Current limit in bytes on the rss of the process */</font> + PROP_RLIMIT = "RLimit", + + <font color=#3F5FBF>/** The address above which program text can run */</font> + PROP_CODESTART = "CodeStart", + + <font color=#3F5FBF>/** The address below which program text can run */</font> + PROP_CODEEND = "CodeEnd", + + <font color=#3F5FBF>/** The address of the start of the stack */</font> + PROP_STACKSTART = "StackStart", + + <font color=#3F5FBF>/** The bitmap of pending signals */</font> + PROP_SIGNALS = "Signals", + + <font color=#3F5FBF>/** The bitmap of blocked signals */</font> + PROP_SIGBLOCK = "SigBlock", + + <font color=#3F5FBF>/** The bitmap of ignored signals */</font> + PROP_SIGIGNORE = "SigIgnore", + + <font color=#3F5FBF>/** The bitmap of caught signals */</font> + PROP_SIGCATCH = "SigCatch", + + <font color=#3F5FBF>/** This is the "channel" in which the process is waiting. It is the + * address of a system call, and can be looked up in a name list if you + * need a textual name */</font> + PROP_WCHAN = "WChan", + + <font color=#3F5FBF>/** Number of pages swapped */</font> + PROP_NSWAP = "NSwap", + + <font color=#3F5FBF>/** Cumulative NSwap for child processes */</font> + PROP_CNSWAP = "CNSwap", + + <font color=#3F5FBF>/** Signal to be sent to parent when this process exits */</font> + PROP_EXITSIGNAL = "ExitSignal", + + <font color=#3F5FBF>/** CPU number last executed on */</font> + PROP_PROCESSOR = "Processor", + + <font color=#3F5FBF>/** Real-time scheduling priority */</font> + PROP_RTPRIORITY = "RTPriority", + + <font color=#3F5FBF>/** Scheduling policy */</font> + PROP_POLICY = "Policy"; + + + <font color=#3F5FBF>/** + * A context corresponds to an execution thread, process, address space, etc. + * A context can belong to a parent context. Contexts hierarchy can be simple + * plain list or it can form a tree. It is up to target agent developers to choose + * layout that is most descriptive for a given target. Context IDs are valid across + * all services. In other words, all services access same hierarchy of contexts, + * with same IDs, however, each service accesses its own subset of context's + * attributes and functionality, which is relevant to that service. + */</font> + <font color=#7F0055>interface</font> SysMonitorContext { + + <font color=#3F5FBF>/** + * Get context ID. + * Same as getProperties().get(“ID”) + */</font> + String getID(); + + <font color=#3F5FBF>/** + * Get parent context ID. + * Same as getProperties().get(“ParentID”) + */</font> + String getParentID(); + + <font color=#3F5FBF>/** + * Get process group ID. + * Same as getProperties().get(“PGRP”) + */</font> + <font color=#7F0055>long</font> getPGRP(); + + <font color=#3F5FBF>/** + * Get process ID. + * Same as getProperties().get(“PID”) + */</font> + <font color=#7F0055>long</font> getPID(); + + <font color=#3F5FBF>/** + * Get process parent ID. + * Same as getProperties().get(“PPID”) + */</font> + <font color=#7F0055>long</font> getPPID(); + + <font color=#3F5FBF>/** + * Get process TTY group ID. + * Same as getProperties().get(“TGID”) + */</font> + <font color=#7F0055>long</font> getTGID(); + + <font color=#3F5FBF>/** + * Get tracer process ID. + * Same as getProperties().get(“TracerPID”) + */</font> + <font color=#7F0055>long</font> getTracerPID(); + + <font color=#3F5FBF>/** + * Get process owner user ID. + * Same as getProperties().get(“UID”) + */</font> + <font color=#7F0055>long</font> getUID(); + + <font color=#3F5FBF>/** + * Get process owner user name. + * Same as getProperties().get(“UserName”) + */</font> + String getUserName(); + + <font color=#3F5FBF>/** + * Get process owner user group ID. + * Same as getProperties().get(“UGID”) + */</font> + <font color=#7F0055>long</font> getUGID(); + + <font color=#3F5FBF>/** + * Get process owner user group name. + * Same as getProperties().get(“GroupName”) + */</font> + String getGroupName(); + + <font color=#3F5FBF>/** + * Get process state. + * Same as getProperties().get(“State”) + */</font> + String getState(); + + <font color=#3F5FBF>/** + * Get process virtual memory size in bytes. + * Same as getProperties().get(“VSize”) + */</font> + <font color=#7F0055>long</font> getVSize(); + + <font color=#3F5FBF>/** + * Get process virtual memory page size in bytes. + * Same as getProperties().get(“PSize”) + */</font> + <font color=#7F0055>long</font> getPSize(); + + <font color=#3F5FBF>/** + * Get number of memory pages in process resident set. + * Same as getProperties().get(“RSS”) + */</font> + <font color=#7F0055>long</font> getRSS(); + + <font color=#3F5FBF>/** + * Get context executable file. + * Same as getProperties().get(“File”) + */</font> + String getFile(); + + <font color=#3F5FBF>/** + * Get context current file system root. + * Same as getProperties().get(“Root”) + */</font> + String getRoot(); + + <font color=#3F5FBF>/** + * Get context current working directory. + * Same as getProperties().get(“CWD”) + */</font> + String getCurrentWorkingDirectory(); + + <font color=#3F5FBF>/** + * Get all available context properties. + * @return Map 'property name' -> 'property value' + */</font> + Map<String,Object> getProperties(); + } + + <font color=#3F5FBF>/** + * Get context command line. + */</font> + IToken getCommandLine(String id, DoneGetCommandLine done); + + <font color=#7F0055>interface</font> DoneGetCommandLine { + <font color=#7F0055>void</font> doneGetCommandLine(IToken token, Exception error, String[] cmd_line); + } + + <font color=#3F5FBF>/** + * Get context environment variables. + */</font> + IToken getEnvironment(String id, DoneGetEnvironment done); + + <font color=#7F0055>interface</font> DoneGetEnvironment { + <font color=#7F0055>void</font> doneGetEnvironment(IToken token, Exception error, String[] environment); + } +} +</pre> + +</body> +</html> |