diff options
author | eutarass | 2008-04-25 18:39:50 +0000 |
---|---|---|
committer | eutarass | 2008-04-25 18:39:50 +0000 |
commit | 1385e5e84da91b77f0ac875d25a80a3fe6490c82 (patch) | |
tree | 034b344acd4e7c18fa76cc5de1b492bf1bd6ad26 /docs | |
parent | 3be680f61e65a1481bb83537704751d3ff024b2d (diff) | |
download | org.eclipse.tcf-1385e5e84da91b77f0ac875d25a80a3fe6490c82.tar.gz org.eclipse.tcf-1385e5e84da91b77f0ac875d25a80a3fe6490c82.tar.xz org.eclipse.tcf-1385e5e84da91b77f0ac875d25a80a3fe6490c82.zip |
Bug 227874: [tcf][api] breakpoint event and capabilities changes
Diffstat (limited to 'docs')
-rw-r--r-- | docs/TCF Service - Breakpoints.html | 120 |
1 files changed, 114 insertions, 6 deletions
diff --git a/docs/TCF Service - Breakpoints.html b/docs/TCF Service - Breakpoints.html index a49cdf3ab..4bf8ea0be 100644 --- a/docs/TCF Service - Breakpoints.html +++ b/docs/TCF Service - Breakpoints.html @@ -20,6 +20,7 @@ <li><a href='#CmdGetIDs'>Get IDs</a> <li><a href='#CmdGetProperties'>Get Properties</a> <li><a href='#CmdGetStatus'>Get Status</a> + <li><a href='#CmdGetCapabilities'>Get Capabilities</a> </ul> <li><a href='#Events'>Events</a> <li><a href='#API'>API</a> @@ -230,7 +231,7 @@ R • <i><token></i> • <i><error report></i> • <i><;breakpoint stat <font face=Wingdings>Ø</font> <i><object></i> </font></b></pre> -<p>Breakpoint stat consists of a list of status properties. All properties are optional. +<p>Breakpoint status consists of a list of status properties. All properties are optional. Tools and targets can define additional properties. Predefined properties are:</p> <ul> @@ -241,15 +242,67 @@ Tools and targets can define additional properties. Predefined properties are:</ <li><code><b><font face="Courier New" size=2 color=#333399>"Column" : <i><int></i></font></b></code> </ul> +<h3><a name='CmdGetCapabilities'>Get Capabilities</a></h3> + +<pre><b><font face="Courier New" size=2 color=#333399> +C • <i><token></i> • Breakpoints • getCapabilities • <i><string: context ID></i> • +</font></b></pre> + +<p>The command reports breakpoint service capabilities to clients so they +can adjust to different implementations of the service. +When called with a null ("") context ID the global capabilities are returned, +otherwise context specific capabilities are returned. A special capability +property is used to indicate that all child contexts have the same +capabilities..</p> + +<p>Reply:</p> + +<pre><b><font face="Courier New" size=2 color=#333399> +R • <i><token></i> • <i><error report></i> • <i><;service capabilities></i> • + +<i><service capabilities></i> + <font face=Wingdings>Ø</font> <i><object></i> +</font></b></pre> + +<p>Service capabilities consist of a list of properties. All properties are optional. +Tools and targets can define additional properties. Predefined properties are:</p> + +<ul> + <li><code><b><font face="Courier New" size=2 color=#333399>"ID" : <i><string: context ID></i></font></b></code> + - ID of a context that was used to query capabilities + <li><code><b><font face="Courier New" size=2 color=#333399>"HasChildren" : <i><boolean></i></font></b></code> + - if true, children of the context can have different capabilities + <li><code><b><font face="Courier New" size=2 color=#333399>"Address" : <i><boolean></i></font></b></code> + - if true, "Address" breakpoint property is supported + <li><code><b><font face="Courier New" size=2 color=#333399>"Condition" : <i><boolean></i></font></b></code> + - if true, "Condition" breakpoint property is supported + <li><code><b><font face="Courier New" size=2 color=#333399>"FileLine" : <i><boolean></i></font></b></code> + - if true, "File", "Line" and "Column" breakpoint properties are supported +</ul> + <h2><a name='Events'>Events</a></h2> +<p>Breakpoints service events are user to notify clients about breakpoint properties and status changes. +Note that contextAdded, contextChanged and contextRemoved events carry exactly same set +of breakpoint properties that was sent by a client to a target. The purpose of these events is to +let all clients know about breakpoints that were created by other clients.</p> + <pre><b><font face="Courier New" size=2 color=#333399> E • Breakpoints • status • <i><string: breakpoint ID></i> • <i><breakpoint status></i> • +E • Breakpoints • contextAdded • <i><array of breakpoints></i> • +E • Breakpoints • contextChanged • <i><array of breakpoints></i> • +E • Breakpoints • contextRemoved • <i><array of breakpoint IDs></i> • </font></b></pre> <dl> <dt><b>status</b> <dd>is sent when breakpoint status changes. + <dt><b>contextAdded</b> + <dd>is sent when a new breakpoints are added. + <dt><b>contextChanged</b> + <dd>is sent when breakpoint properties change. + <dt><b>contextRemoved</b> + <dd>is sent when breakpoints are removed. </dl> <h2><a name='API'>API</a></h2> @@ -259,12 +312,12 @@ E • Breakpoints • status • <i><string: breakpoint ID></i> • <i><breakpo * Breakpoint is represented by unique identifier and set of properties. * Breakpoint identifier (String id) needs to be unique across all hosts and targets. * - * Breakpoint properties (Map<String,Object>) is extendable collection of named attributes, + * Breakpoint properties (Map<String,Object>) is extendible collection of named attributes, * which define breakpoint location and behavior. This module defines some common * attribute names (see PROP_*), host tools and target agents may support additional attributes. * - * For each breakpoint a target agent maintains another extendable collection of named attributes: - * breakpoint status (Map<String,Object>, see STATUS_*). While breakpoint properties are + * For each breakpoint a target agent maintains another extendible collection of named attributes: + * breakpoint status (Map<String,Object>, see STATUS_*). While breakpoint properties are * persistent and represent user input, breakpoint status reflects dynamic target agent reports * about breakpoint current state, like actual addresses where breakpoint is planted or planting errors. */</font> @@ -298,6 +351,16 @@ E • Breakpoints • status • <i><string: breakpoint ID></i> • <i><breakpo STATUS_COLUMN = "Column"; // Number <font color=#3F5FBF>/** + * Breakpoint service capabilities. + */</font> + <font color=#7F0055>static final</font> String + CAPABILITY_CONTEXT_ID = "ID", // String + CAPABILITY_HAS_CHILDREN = "HasChildren", // Boolean + CAPABILITY_ADDRESS = "Address", // Boolean + CAPABILITY_CONDITION = "Condition", // Boolean + CAPABILITY_FILE_LINE = "FileLine"; // Boolean + + <font color=#3F5FBF>/** * Call back interface for breakpoint service commands. */</font> <font color=#7F0055>interface</font> DoneCommand { @@ -331,7 +394,7 @@ E • Breakpoints • status • <i><string: breakpoint ID></i> • <i><breakpo IToken change(Map<String,Object> properties, DoneCommand done); <font color=#3F5FBF>/** - * Tell target to change (only) PROP_ENABLED breakpoint property 'true'. + * Tell target to change (only) PROP_ENABLED breakpoint property to 'true'. * @param ids - array of enabled breakpoint identifiers. * @param done - command result call back object. */</font> @@ -345,7 +408,7 @@ E • Breakpoints • status • <i><string: breakpoint ID></i> • <i><breakpo IToken disable(String[] ids, DoneCommand done); <font color=#3F5FBF>/** - * Tell target to remove breakpoint. + * Tell target to remove breakpoints. * @param id - unique breakpoint identifier. * @param done - command result call back object. */</font> @@ -384,7 +447,26 @@ E • Breakpoints • status • <i><string: breakpoint ID></i> • <i><breakpo } <font color=#3F5FBF>/** + * Report breakpoint service capabilities to clients so they + * can adjust to different implementations of the service. + * When called with a null ("") context ID the global capabilities are returned, + * otherwise context specific capabilities are returned. A special capability + * property is used to indicate that all child contexts have the same + * capabilities. + * @param id - a context ID or null. + * @param done - command result call back object. + */</font> + IToken getCapabilities(String id, DoneGetCapabilities done); + + <font color=#7F0055>interface</font> DoneGetCapabilities { + void</font> doneGetCapabilities(IToken token, Exception error, Map<String,Object> capabilities); + } + + <font color=#3F5FBF>/** * Breakpoints service events listener. + * Note that contextAdded, contextChanged and contextRemoved events carry exactly same set + * of breakpoint properties that was sent by a client to a target. The purpose of these events is to + * let all clients know about breakpoints that were created by other clients. */</font> <font color=#7F0055>interface</font> BreakpointsListener { @@ -394,10 +476,36 @@ E • Breakpoints • status • <i><string: breakpoint ID></i> • <i><breakpo * @param status - breakpoint status. */</font> <font color=#7F0055>void</font> breakpointStatusChanged(String id, Map<String,Object> status); + + <font color=#3F5FBF>/** + * Called when a new breakpoints are added. + * @param bps - array of breakpoints. + */</font> + <font color=#7F0055>void</font> contextAdded(Map<String,Object>[] bps); + + <font color=#3F5FBF>/** + * Called when breakpoint properties change. + * @param bps - array of breakpoints. + */</font> + <font color=#7F0055>void</font> contextChanged(Map<String,Object>[] bps); + + <font color=#3F5FBF>/** + * Called when breakpoints are removed. + * @param ids - array of breakpoint IDs. + */</font> + <font color=#7F0055>void</font> contextRemoved(String[] ids); } + <font color=#3F5FBF>/** + * Add breakpoints service event listener. + * @param listener - object that implements BreakpointsListener interface. + */</font> <font color=#7F0055>void</font> addListener(BreakpointsListener listener); + <font color=#3F5FBF>/** + * Remove breakpoints service event listener. + * @param listener - object that implements BreakpointsListener interface. + */</font> <font color=#7F0055>void</font> removeListener(BreakpointsListener listener); } </pre> |