Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Tarassov2019-07-22 23:30:57 -0400
committerEugene Tarassov2019-07-22 23:30:57 -0400
commite1b87d42fd5d2d309fc39bc282765b794484de9a (patch)
tree4e79d7e597eb52b9e8ea899e99a7f397612bccee
parent03ec13f40db63c73869432b04bf249d9fc64579e (diff)
downloadorg.eclipse.tcf-e1b87d42fd5d2d309fc39bc282765b794484de9a.tar.gz
org.eclipse.tcf-e1b87d42fd5d2d309fc39bc282765b794484de9a.tar.xz
org.eclipse.tcf-e1b87d42fd5d2d309fc39bc282765b794484de9a.zip
TCF Docs: improved specifications of TCF services
-rw-r--r--admin/pom-build.xml292
-rw-r--r--admin/pom-config.xml1046
-rw-r--r--docs/TCF Service - Breakpoints.html226
-rwxr-xr-xdocs/TCF Service - Context Query.html26
-rw-r--r--docs/TCF Service - Context Reset.html38
-rw-r--r--docs/TCF Service - Debug Print.html14
-rw-r--r--docs/TCF Service - Diagnostics.html143
-rw-r--r--docs/TCF Service - Disassembly.html62
-rw-r--r--docs/TCF Service - Expressions.html171
-rw-r--r--docs/TCF Service - File System.html274
-rw-r--r--docs/TCF Service - Line Numbers.html302
-rw-r--r--docs/TCF Service - Memory Map.html96
-rw-r--r--docs/TCF Service - Memory.html119
-rw-r--r--docs/TCF Service - Path Map.html83
-rw-r--r--docs/TCF Service - Processes.html98
-rw-r--r--docs/TCF Service - Profiler.html142
-rw-r--r--docs/TCF Service - Registers.html56
-rw-r--r--docs/TCF Service - Run Control.html345
-rwxr-xr-xdocs/TCF Service - Stack Trace.html139
-rw-r--r--docs/TCF Service - Streams.html42
-rw-r--r--docs/TCF Service - Symbols.html597
-rw-r--r--docs/TCF Service - System Monitor.html93
-rw-r--r--docs/TCF Service - Terminals.html474
-rw-r--r--docs/TCF Services.html2
-rw-r--r--plugins/org.eclipse.tcf.cdt.ui/src/org/eclipse/tcf/internal/cdt/ui/disassembly/TCFDisassemblyBackend.java4
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IBreakpoints.java9
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IContextQuery.java4
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IContextReset.java6
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IDPrintf.java4
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IDiagnostics.java3
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IDisassembly.java14
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IExpressions.java4
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IFileSystem.java4
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IMemory.java15
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IMemoryMap.java5
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IPathMap.java5
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IProcesses.java5
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IProcessesV1.java5
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IProfiler.java4
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRegisters.java5
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRunControl.java5
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IStackTrace.java5
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IStreams.java4
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/ISymbols.java4
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/ISysMonitor.java7
45 files changed, 3420 insertions, 1581 deletions
diff --git a/admin/pom-build.xml b/admin/pom-build.xml
index f63335db1..41196a415 100644
--- a/admin/pom-build.xml
+++ b/admin/pom-build.xml
@@ -1,156 +1,156 @@
<?xml version="1.0" encoding="UTF-8"?>
<project
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
- xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.tcf</groupId>
- <artifactId>org.eclipse.tcf.maven-config</artifactId>
- <version>1.7.0-SNAPSHOT</version>
- <relativePath>pom-config.xml</relativePath>
- </parent>
+ <parent>
+ <groupId>org.eclipse.tcf</groupId>
+ <artifactId>org.eclipse.tcf.maven-config</artifactId>
+ <version>1.7.0-SNAPSHOT</version>
+ <relativePath>pom-config.xml</relativePath>
+ </parent>
- <groupId>org.eclipse.tcf</groupId>
- <artifactId>org.eclipse.tcf.maven-build</artifactId>
- <version>1.7.0-SNAPSHOT</version>
- <packaging>pom</packaging>
- <name>TCF and Target Explorer, Maven Build Master</name>
+ <groupId>org.eclipse.tcf</groupId>
+ <artifactId>org.eclipse.tcf.maven-build</artifactId>
+ <version>1.7.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>TCF and Target Explorer, Maven Build Master</name>
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>target-platform-configuration</artifactId>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-source-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
- <profiles>
- <profile>
- <id>sign</id>
- <!-- Uses the new jarsigner from the CBI platform -->
- <!-- Works only if the build runs at a Eclipse build server -->
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-pack200a-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.eclipse.cbi.maven.plugins</groupId>
- <artifactId>eclipse-jarsigner-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-pack200b-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
- </profile>
+ <profiles>
+ <profile>
+ <id>sign</id>
+ <!-- Uses the new jarsigner from the CBI platform -->
+ <!-- Works only if the build runs at a Eclipse build server -->
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-pack200a-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.cbi.maven.plugins</groupId>
+ <artifactId>eclipse-jarsigner-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-pack200b-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
- <profile>
- <id>findbugs</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>findbugs-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
- </profile>
+ <profile>
+ <id>findbugs</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
- <profile>
- <id>static-checks</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>findbugs-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-pmd-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
- </profile>
+ <profile>
+ <id>static-checks</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
- <profile>
- <id>tests</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>target-platform-configuration</artifactId>
- <configuration>
- <dependency-resolution>
- <extraRequirements>
- <!-- product IU under test -->
- <requirement>
- <type>p2-installable-unit</type>
- <id>org.eclipse.platform.ide</id>
- <versionRange>0.0.0</versionRange>
- </requirement>
- <requirement>
- <type>eclipse-feature</type>
- <id>org.eclipse.sdk</id>
- <versionRange>0.0.0</versionRange>
- </requirement>
- <requirement>
- <type>eclipse-feature</type>
- <id>org.eclipse.cdt.platform</id>
- <versionRange>0.0.0</versionRange>
- </requirement>
- <requirement>
- <type>eclipse-feature</type>
- <id>org.eclipse.remote</id>
- <versionRange>0.0.0</versionRange>
- </requirement>
- <requirement>
- <type>eclipse-feature</type>
- <id>org.eclipse.swtbot.eclipse</id>
- <versionRange>0.0.0</versionRange>
- </requirement>
- </extraRequirements>
- </dependency-resolution>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <includes>
- <include>org.eclipse.tcf*</include>
- </includes>
- <excludes>
- <exclude>org.eclipse.tcf.debug.test*</exclude>
- <exclude>org.eclipse.tcf.te.tests.*</exclude>
- </excludes>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
+ <profile>
+ <id>tests</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <!-- product IU under test -->
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.platform.ide</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.sdk</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.cdt.platform</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.remote</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.swtbot.eclipse</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <includes>
+ <include>org.eclipse.tcf*</include>
+ </includes>
+ <excludes>
+ <exclude>org.eclipse.tcf.debug.test*</exclude>
+ <exclude>org.eclipse.tcf.te.tests.*</exclude>
+ </excludes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>
diff --git a/admin/pom-config.xml b/admin/pom-config.xml
index 39467fb78..dc6ad349a 100644
--- a/admin/pom-config.xml
+++ b/admin/pom-config.xml
@@ -1,526 +1,526 @@
<?xml version="1.0" encoding="UTF-8"?>
<project
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
- xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <prerequisites>
- <maven>3.0</maven>
- </prerequisites>
-
- <groupId>org.eclipse.tcf</groupId>
- <artifactId>org.eclipse.tcf.maven-config</artifactId>
- <version>1.7.0-SNAPSHOT</version>
- <packaging>pom</packaging>
- <name>TCF and Target Explorer, Maven Configuration Master</name>
-
- <licenses>
- <license>
- <name>Eclipse Public License</name>
- <url>http://www.eclipse.org/legal/epl-v10.html</url>
- <distribution>repo</distribution>
- <comments>
- All rights reserved.
-
- This program and the accompanying materials are made
- available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.htm
- </comments>
- </license>
- </licenses>
-
- <organization>
- <name>Eclipse Foundation</name>
- <url>http://www.eclipse.org/</url>
- </organization>
-
- <properties>
- <!-- Define version id's to be used in the plugins section -->
- <!-- We use tycho-0.23 for https://bugs.eclipse.org/bugs/show_bug.cgi?id=459873 -->
- <!-- We cannot use tycho-0.25 or later since it doesn't support Java 7 for building -->
- <!-- Using Java 8 for Tycho with a Java 7 target should be possible but takes some config -->
- <!-- See https://bugs.eclipse.org/bugs/show_bug.cgi?id=518104 for reference -->
- <tycho-version>0.23.1</tycho-version>
- <tycho-extras-version>${tycho-version}</tycho-extras-version>
- <maven-resources-version>2.7</maven-resources-version>
- <maven-antrun-version>1.8</maven-antrun-version>
- <gmaven-version>1.5</gmaven-version>
- <findbugs-version>3.0.4</findbugs-version>
- <!-- Check available versions at https://repository.sonatype.org/content/repositories/public/org/jacoco/jacoco-maven-plugin -->
- <jacoco-version>0.7.9</jacoco-version>
- <!-- Note: jarsigner-1.1.4 fails with Java 7 so stick to 1.1.2 -->
- <eclipse-jarsigner-version>1.1.2</eclipse-jarsigner-version>
-
- <!-- Common global properties -->
- <adminDir>${env.WORKSPACE}/admin</adminDir>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-
- <!-- JaCoCo global properties -->
- <jacoco.skip>false</jacoco.skip>
- <jacoco.output>file</jacoco.output>
- <jacoco.dumpOnExit>true</jacoco.dumpOnExit>
-
- <tcf-stream>development</tcf-stream>
- <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.git</tycho.scmUrl>
-
- <!-- P2 repository URL's -->
- <!-- Default: Eclipse 3.8.x (Juno), CDT 8.3.0 (Kepler SR2), TM 4.0 + Remote 2.0 (Mars) -->
- <platform-site>http://download.eclipse.org/eclipse/updates/3.8</platform-site>
- <license-site>http://download.eclipse.org/cbi/updates/license</license-site>
- <cdt-site>http://download.eclipse.org/tools/cdt/releases/kepler</cdt-site>
- <tm-site>http://download.eclipse.org/tm/updates/4.0</tm-site>
- <terminal-site>http://download.eclipse.org/tm/terminal/updates/4.0</terminal-site>
- <remote-site>http://download.eclipse.org/tools/ptp/builds/remote/2.0.0</remote-site>
- <!-- TCF needs gson-2.2.4 which was added to Orbit in Luna SR2 -->
- <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20150124073747/repository/</orbit-site>
- <!-- SWTBot-2.4 and later require an e4-based Eclipse eg Juno or later: -->
- <!-- See http://wiki.eclipse.org/SWTBot/Releases -->
- <!-- Also, newer SWTBot needs JUnit 4.12 which is only in Orbit Mars and newer -->
- <swtbot-site>http://download.eclipse.org/technology/swtbot/releases/2.2.1/</swtbot-site>
- </properties>
-
- <repositories>
- <repository>
- <id>license-feature</id>
- <url>${license-site}</url>
- <layout>p2</layout>
- </repository>
- <repository>
- <id>platform</id>
- <url>${platform-site}</url>
- <layout>p2</layout>
- </repository>
- <repository>
- <id>orbit</id>
- <url>${orbit-site}</url>
- <layout>p2</layout>
- </repository>
- <repository>
- <id>cdt</id>
- <url>${cdt-site}</url>
- <layout>p2</layout>
- </repository>
- <repository>
- <id>terminal</id>
- <url>${terminal-site}</url>
- <layout>p2</layout>
- </repository>
- <repository>
- <id>tm</id>
- <url>${tm-site}</url>
- <layout>p2</layout>
- </repository>
- <repository>
- <id>swtbot</id>
- <url>${swtbot-site}</url>
- <layout>p2</layout>
- </repository>
- <repository>
- <id>remote</id>
- <url>${remote-site}</url>
- <layout>p2</layout>
- </repository>
- </repositories>
-
- <pluginRepositories>
- <pluginRepository>
- <id>sonatype</id>
- <url>https://oss.sonatype.org/content/repositories/public</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <releases>
- <enabled>true</enabled>
- </releases>
- </pluginRepository>
- <pluginRepository>
- <id>cbi</id>
- <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
- </pluginRepository>
- <pluginRepository>
- <id>cbi-snapshots</id>
- <url>https://repo.eclipse.org/content/repositories/cbi-snapshots/</url>
- </pluginRepository>
- </pluginRepositories>
-
- <profiles>
- <profile>
- <!-- Eclipse 3.8 (Juno), CDT 8.3.0 (Kepler SR2) -->
- <id>juno</id>
-
- <properties>
- <!-- Same as default -->
- </properties>
- </profile>
-
- <profile>
- <!-- Eclipse 4.3.2 (Kepler SR2), CDT 8.3.0 (Kepler SR2) -->
- <id>kepler</id>
-
- <properties>
- <platform-site>http://download.eclipse.org/eclipse/updates/4.3</platform-site>
- </properties>
- </profile>
-
- <profile>
- <!-- Eclipse 4.4.2 (Luna SR2), CDT 8.6.0 (Luna SR2) -->
- <id>luna</id>
-
- <properties>
- <platform-site>http://download.eclipse.org/eclipse/updates/4.4</platform-site>
- <cdt-site>http://download.eclipse.org/tools/cdt/releases/8.6</cdt-site>
- </properties>
- </profile>
-
- <profile>
- <!-- Eclipse 4.5.2 (Mars.2), CDT 8.8.1 (Mars.2) -->
- <id>mars</id>
-
- <properties>
- <platform-site>http://download.eclipse.org/eclipse/updates/4.5</platform-site>
- <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository</orbit-site>
- <cdt-site>http://download.eclipse.org/tools/cdt/releases/8.8.1</cdt-site>
- <swtbot-site>http://download.eclipse.org/technology/swtbot/releases/2.5.0</swtbot-site>
- </properties>
- </profile>
-
- <profile>
- <!-- Eclipse 4.6.3 (Neon.3), CDT 9.2.2 (Neon.3) -->
- <id>neon</id>
-
- <properties>
- <platform-site>http://download.eclipse.org/eclipse/updates/4.6</platform-site>
- <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20170307180635/repository</orbit-site>
- <cdt-site>http://download.eclipse.org/tools/cdt/releases/9.2</cdt-site>
- <remote-site>http://download.eclipse.org/tools/ptp/builds/remote/2.1.1</remote-site>
- <terminal-site>http://download.eclipse.org/tm/terminal/updates/4.2</terminal-site>
- <tm-site>http://download.eclipse.org/tm/updates/4.2</tm-site>
- <swtbot-site>http://download.eclipse.org/technology/swtbot/releases/2.5.0</swtbot-site>
- </properties>
-
- <!-- Workaround for CDT release problem:
- Missing requirement: org.eclipse.cdt.debug.core 8.1.0.201612061315 requires
- 'bundle org.eclipse.launchbar.core 2.0.0' but it could not be found
- -->
- <repositories>
- <repository>
- <id>cdt-launchbar</id>
- <url>http://download.eclipse.org/tools/cdt/launchbar/neon.2</url>
- <layout>p2</layout>
- </repository>
- </repositories>
- </profile>
-
- <profile>
- <!-- Eclipse 4.7.1 (Oxygen), CDT 9.3 -->
- <id>oxygen</id>
-
- <properties>
- <platform-site>http://download.eclipse.org/eclipse/updates/4.7</platform-site>
- <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20170516192513/repository</orbit-site>
- <cdt-site>http://download.eclipse.org/tools/cdt/releases/9.3</cdt-site>
- <remote-site>http://download.eclipse.org/tools/ptp/builds/remote/3.0.0</remote-site>
- <terminal-site>http://download.eclipse.org/tm/terminal/updates/4.3</terminal-site>
- <tm-site>http://download.eclipse.org/tm/updates/4.3milestones</tm-site>
- <swtbot-site>http://download.eclipse.org/technology/swtbot/releases/2.6.0/</swtbot-site>
- </properties>
- </profile>
-
- <profile>
- <!-- Eclipse 4.8 (Photon), CDT 9.4 -->
- <id>photon</id>
-
- <properties>
- <platform-site>http://download.eclipse.org/eclipse/updates/4.8</platform-site>
- <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20180606145124/repository</orbit-site>
- <cdt-site>http://download.eclipse.org/tools/cdt/releases/9.4</cdt-site>
- <remote-site>http://download.eclipse.org/tools/ptp/builds/remote/3.0.0</remote-site>
- <terminal-site>http://download.eclipse.org/tm/terminal/updates/4.4milestones</terminal-site>
- <tm-site>http://download.eclipse.org/tm/updates/4.3milestones</tm-site>
- <swtbot-site>http://download.eclipse.org/technology/swtbot/releases/2.7.0</swtbot-site>
- </properties>
- </profile>
-
- <profile>
- <!-- Eclipse 2018-09, CDT 9.5 -->
- <id>2018-09</id>
-
- <properties>
- <platform-site>http://download.eclipse.org/releases/2018-09</platform-site>
- <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20180606145124/repository</orbit-site>
- <cdt-site>http://download.eclipse.org/tools/cdt/releases/9.5</cdt-site>
- <remote-site>http://download.eclipse.org/tools/ptp/builds/remote/3.0.0</remote-site>
- <terminal-site>http://download.eclipse.org/tm/terminal/updates/4.4milestones</terminal-site>
- <tm-site>http://download.eclipse.org/tm/updates/4.5.0-SNAPSHOT/repository</tm-site>
- <swtbot-site>http://download.eclipse.org/technology/swtbot/releases/2.7.0</swtbot-site>
- </properties>
-
- <repositories>
- <!-- Terminal is merged with TM -->
- <repository>
- <id>terminal</id>
- <snapshots><enabled>false</enabled></snapshots>
- <releases><enabled>false</enabled></releases>
- <url>${terminal-site}</url>
- <layout>p2</layout>
- </repository>
- </repositories>
- </profile>
- </profiles>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-maven-plugin</artifactId>
- <version>${tycho-version}</version>
- <extensions>true</extensions>
- </plugin>
- </plugins>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-maven-plugin</artifactId>
- <version>${tycho-version}</version>
- <extensions>true</extensions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>target-platform-configuration</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <environments>
- <environment>
- <os>linux</os>
- <ws>gtk</ws>
- <arch>x86</arch>
- </environment>
- <environment>
- <os>linux</os>
- <ws>gtk</ws>
- <arch>x86_64</arch>
- </environment>
- <environment>
- <os>win32</os>
- <ws>win32</ws>
- <arch>x86</arch>
- </environment>
- <environment>
- <os>win32</os>
- <ws>win32</ws>
- <arch>x86_64</arch>
- </environment>
- <environment>
- <os>macosx</os>
- <ws>cocoa</ws>
- <arch>x86_64</arch>
- </environment>
- </environments>
- <resolver>p2</resolver>
- <ignoreTychoRepositories>true</ignoreTychoRepositories>
- <includePackedArtifacts>true</includePackedArtifacts>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-compiler-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <encoding>UTF-8</encoding>
- </configuration>
- <executions>
- <execution>
- <id>plugin-source</id>
- <goals>
- <goal>plugin-source</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-packaging-plugin</artifactId>
- <version>${tycho-version}</version>
- <dependencies>
- <dependency>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-buildtimestamp-jgit</artifactId>
- <version>${tycho-version}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-sourceref-jgit</artifactId>
- <version>${tycho-extras-version}</version>
- </dependency>
- </dependencies>
- <configuration>
- <strictBinIncludes>false</strictBinIncludes>
- <timestampProvider>jgit</timestampProvider>
- <jgit.ignore>pom.xml</jgit.ignore>
- <jgit.dirtyWorkingTree>ignore</jgit.dirtyWorkingTree>
- <sourceReferences>
- <generate>true</generate>
- </sourceReferences>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-repository-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <finalName>${project.artifactId}</finalName>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>${maven-resources-version}</version>
- <configuration>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>${maven-antrun-version}</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.gmaven</groupId>
- <artifactId>gmaven-plugin</artifactId>
- <version>${gmaven-version}</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>findbugs-maven-plugin</artifactId>
- <version>${findbugs-version}</version>
- <configuration>
- <encoding>UTF-8</encoding>
- <effort>Max</effort>
- <threshold>Low</threshold>
- <xmlOutput>true</xmlOutput>
- <failOnError>false</failOnError>
- <excludeFilterFile>${adminDir}/findbugs-exclude.xml</excludeFilterFile>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>check</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>${jacoco-version}</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-pmd-plugin</artifactId>
- <version>3.8</version>
- <configuration>
- <sourceEncoding>utf-8</sourceEncoding>
- <minimumTokens>100</minimumTokens>
- <targetJdk>1.7</targetJdk>
- <format>xml</format>
- <failOnViolation>false</failOnViolation>
- <excludes>
- <exclude>**/UbcCheck.java</exclude>
- </excludes>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>cpd-check</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <!-- Pack200 and Signing -->
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-pack200a-plugin</artifactId>
- <version>${tycho-version}</version>
- <executions>
- <execution>
- <id>pack200-normalize</id>
- <phase>verify</phase>
- <goals>
- <goal>normalize</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.cbi.maven.plugins</groupId>
- <artifactId>eclipse-jarsigner-plugin</artifactId>
- <version>${eclipse-jarsigner-version}</version>
- <executions>
- <execution>
- <id>sign</id>
- <phase>verify</phase>
- <goals>
- <goal>sign</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-pack200b-plugin</artifactId>
- <version>${tycho-version}</version>
- <executions>
- <execution>
- <id>pack200-pack</id>
- <phase>verify</phase>
- <goals>
- <goal>pack</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <!-- Keep the tycho-p2-plugin after the tycho-pack200b-plugin -->
- <!-- Tycho p2 metadata generation shall happen _after_ the JAR has been packed. -->
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-plugin</artifactId>
- <version>${tycho-version}</version>
- <!-- Signing appears to mess with the baseline repository logic.
- Disable the baseline repository until we've figured out what is going on. -->
- <!--
- <configuration>
- <baselineRepositories>
- <repository>
- <url>http://download.eclipse.org/tools/tcf/builds/${tcf-stream}/nightly</url>
- </repository>
- </baselineRepositories>
- </configuration>
- -->
- <executions>
- <execution>
- <id>p2-metadata</id>
- <phase>package</phase>
- <goals>
- <goal>p2-metadata</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <defaultP2Metadata>false</defaultP2Metadata>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+
+ <prerequisites>
+ <maven>3.0</maven>
+ </prerequisites>
+
+ <groupId>org.eclipse.tcf</groupId>
+ <artifactId>org.eclipse.tcf.maven-config</artifactId>
+ <version>1.7.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>TCF and Target Explorer, Maven Configuration Master</name>
+
+ <licenses>
+ <license>
+ <name>Eclipse Public License</name>
+ <url>http://www.eclipse.org/legal/epl-v10.html</url>
+ <distribution>repo</distribution>
+ <comments>
+ All rights reserved.
+
+ This program and the accompanying materials are made
+ available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.htm
+ </comments>
+ </license>
+ </licenses>
+
+ <organization>
+ <name>Eclipse Foundation</name>
+ <url>http://www.eclipse.org/</url>
+ </organization>
+
+ <properties>
+ <!-- Define version id's to be used in the plugins section -->
+ <!-- We use tycho-0.23 for https://bugs.eclipse.org/bugs/show_bug.cgi?id=459873 -->
+ <!-- We cannot use tycho-0.25 or later since it doesn't support Java 7 for building -->
+ <!-- Using Java 8 for Tycho with a Java 7 target should be possible but takes some config -->
+ <!-- See https://bugs.eclipse.org/bugs/show_bug.cgi?id=518104 for reference -->
+ <tycho-version>0.23.1</tycho-version>
+ <tycho-extras-version>${tycho-version}</tycho-extras-version>
+ <maven-resources-version>2.7</maven-resources-version>
+ <maven-antrun-version>1.8</maven-antrun-version>
+ <gmaven-version>1.5</gmaven-version>
+ <findbugs-version>3.0.4</findbugs-version>
+ <!-- Check available versions at https://repository.sonatype.org/content/repositories/public/org/jacoco/jacoco-maven-plugin -->
+ <jacoco-version>0.7.9</jacoco-version>
+ <!-- Note: jarsigner-1.1.4 fails with Java 7 so stick to 1.1.2 -->
+ <eclipse-jarsigner-version>1.1.2</eclipse-jarsigner-version>
+
+ <!-- Common global properties -->
+ <adminDir>${env.WORKSPACE}/admin</adminDir>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+
+ <!-- JaCoCo global properties -->
+ <jacoco.skip>false</jacoco.skip>
+ <jacoco.output>file</jacoco.output>
+ <jacoco.dumpOnExit>true</jacoco.dumpOnExit>
+
+ <tcf-stream>development</tcf-stream>
+ <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.git</tycho.scmUrl>
+
+ <!-- P2 repository URL's -->
+ <!-- Default: Eclipse 3.8.x (Juno), CDT 8.3.0 (Kepler SR2), TM 4.0 + Remote 2.0 (Mars) -->
+ <platform-site>http://download.eclipse.org/eclipse/updates/3.8</platform-site>
+ <license-site>http://download.eclipse.org/cbi/updates/license</license-site>
+ <cdt-site>http://download.eclipse.org/tools/cdt/releases/kepler</cdt-site>
+ <tm-site>http://download.eclipse.org/tm/updates/4.0</tm-site>
+ <terminal-site>http://download.eclipse.org/tm/terminal/updates/4.0</terminal-site>
+ <remote-site>http://download.eclipse.org/tools/ptp/builds/remote/2.0.0</remote-site>
+ <!-- TCF needs gson-2.2.4 which was added to Orbit in Luna SR2 -->
+ <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20150124073747/repository/</orbit-site>
+ <!-- SWTBot-2.4 and later require an e4-based Eclipse eg Juno or later: -->
+ <!-- See http://wiki.eclipse.org/SWTBot/Releases -->
+ <!-- Also, newer SWTBot needs JUnit 4.12 which is only in Orbit Mars and newer -->
+ <swtbot-site>http://download.eclipse.org/technology/swtbot/releases/2.2.1/</swtbot-site>
+ </properties>
+
+ <repositories>
+ <repository>
+ <id>license-feature</id>
+ <url>${license-site}</url>
+ <layout>p2</layout>
+ </repository>
+ <repository>
+ <id>platform</id>
+ <url>${platform-site}</url>
+ <layout>p2</layout>
+ </repository>
+ <repository>
+ <id>orbit</id>
+ <url>${orbit-site}</url>
+ <layout>p2</layout>
+ </repository>
+ <repository>
+ <id>cdt</id>
+ <url>${cdt-site}</url>
+ <layout>p2</layout>
+ </repository>
+ <repository>
+ <id>terminal</id>
+ <url>${terminal-site}</url>
+ <layout>p2</layout>
+ </repository>
+ <repository>
+ <id>tm</id>
+ <url>${tm-site}</url>
+ <layout>p2</layout>
+ </repository>
+ <repository>
+ <id>swtbot</id>
+ <url>${swtbot-site}</url>
+ <layout>p2</layout>
+ </repository>
+ <repository>
+ <id>remote</id>
+ <url>${remote-site}</url>
+ <layout>p2</layout>
+ </repository>
+ </repositories>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>sonatype</id>
+ <url>https://oss.sonatype.org/content/repositories/public</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ </pluginRepository>
+ <pluginRepository>
+ <id>cbi</id>
+ <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
+ </pluginRepository>
+ <pluginRepository>
+ <id>cbi-snapshots</id>
+ <url>https://repo.eclipse.org/content/repositories/cbi-snapshots/</url>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <profiles>
+ <profile>
+ <!-- Eclipse 3.8 (Juno), CDT 8.3.0 (Kepler SR2) -->
+ <id>juno</id>
+
+ <properties>
+ <!-- Same as default -->
+ </properties>
+ </profile>
+
+ <profile>
+ <!-- Eclipse 4.3.2 (Kepler SR2), CDT 8.3.0 (Kepler SR2) -->
+ <id>kepler</id>
+
+ <properties>
+ <platform-site>http://download.eclipse.org/eclipse/updates/4.3</platform-site>
+ </properties>
+ </profile>
+
+ <profile>
+ <!-- Eclipse 4.4.2 (Luna SR2), CDT 8.6.0 (Luna SR2) -->
+ <id>luna</id>
+
+ <properties>
+ <platform-site>http://download.eclipse.org/eclipse/updates/4.4</platform-site>
+ <cdt-site>http://download.eclipse.org/tools/cdt/releases/8.6</cdt-site>
+ </properties>
+ </profile>
+
+ <profile>
+ <!-- Eclipse 4.5.2 (Mars.2), CDT 8.8.1 (Mars.2) -->
+ <id>mars</id>
+
+ <properties>
+ <platform-site>http://download.eclipse.org/eclipse/updates/4.5</platform-site>
+ <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository</orbit-site>
+ <cdt-site>http://download.eclipse.org/tools/cdt/releases/8.8.1</cdt-site>
+ <swtbot-site>http://download.eclipse.org/technology/swtbot/releases/2.5.0</swtbot-site>
+ </properties>
+ </profile>
+
+ <profile>
+ <!-- Eclipse 4.6.3 (Neon.3), CDT 9.2.2 (Neon.3) -->
+ <id>neon</id>
+
+ <properties>
+ <platform-site>http://download.eclipse.org/eclipse/updates/4.6</platform-site>
+ <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20170307180635/repository</orbit-site>
+ <cdt-site>http://download.eclipse.org/tools/cdt/releases/9.2</cdt-site>
+ <remote-site>http://download.eclipse.org/tools/ptp/builds/remote/2.1.1</remote-site>
+ <terminal-site>http://download.eclipse.org/tm/terminal/updates/4.2</terminal-site>
+ <tm-site>http://download.eclipse.org/tm/updates/4.2</tm-site>
+ <swtbot-site>http://download.eclipse.org/technology/swtbot/releases/2.5.0</swtbot-site>
+ </properties>
+
+ <!-- Workaround for CDT release problem:
+ Missing requirement: org.eclipse.cdt.debug.core 8.1.0.201612061315 requires
+ 'bundle org.eclipse.launchbar.core 2.0.0' but it could not be found
+ -->
+ <repositories>
+ <repository>
+ <id>cdt-launchbar</id>
+ <url>http://download.eclipse.org/tools/cdt/launchbar/neon.2</url>
+ <layout>p2</layout>
+ </repository>
+ </repositories>
+ </profile>
+
+ <profile>
+ <!-- Eclipse 4.7.1 (Oxygen), CDT 9.3 -->
+ <id>oxygen</id>
+
+ <properties>
+ <platform-site>http://download.eclipse.org/eclipse/updates/4.7</platform-site>
+ <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20170516192513/repository</orbit-site>
+ <cdt-site>http://download.eclipse.org/tools/cdt/releases/9.3</cdt-site>
+ <remote-site>http://download.eclipse.org/tools/ptp/builds/remote/3.0.0</remote-site>
+ <terminal-site>http://download.eclipse.org/tm/terminal/updates/4.3</terminal-site>
+ <tm-site>http://download.eclipse.org/tm/updates/4.3milestones</tm-site>
+ <swtbot-site>http://download.eclipse.org/technology/swtbot/releases/2.6.0/</swtbot-site>
+ </properties>
+ </profile>
+
+ <profile>
+ <!-- Eclipse 4.8 (Photon), CDT 9.4 -->
+ <id>photon</id>
+
+ <properties>
+ <platform-site>http://download.eclipse.org/eclipse/updates/4.8</platform-site>
+ <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20180606145124/repository</orbit-site>
+ <cdt-site>http://download.eclipse.org/tools/cdt/releases/9.4</cdt-site>
+ <remote-site>http://download.eclipse.org/tools/ptp/builds/remote/3.0.0</remote-site>
+ <terminal-site>http://download.eclipse.org/tm/terminal/updates/4.4milestones</terminal-site>
+ <tm-site>http://download.eclipse.org/tm/updates/4.3milestones</tm-site>
+ <swtbot-site>http://download.eclipse.org/technology/swtbot/releases/2.7.0</swtbot-site>
+ </properties>
+ </profile>
+
+ <profile>
+ <!-- Eclipse 2018-09, CDT 9.5 -->
+ <id>2018-09</id>
+
+ <properties>
+ <platform-site>http://download.eclipse.org/releases/2018-09</platform-site>
+ <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20180606145124/repository</orbit-site>
+ <cdt-site>http://download.eclipse.org/tools/cdt/releases/9.5</cdt-site>
+ <remote-site>http://download.eclipse.org/tools/ptp/builds/remote/3.0.0</remote-site>
+ <terminal-site>http://download.eclipse.org/tm/terminal/updates/4.4milestones</terminal-site>
+ <tm-site>http://download.eclipse.org/tm/updates/4.5.0-SNAPSHOT/repository</tm-site>
+ <swtbot-site>http://download.eclipse.org/technology/swtbot/releases/2.7.0</swtbot-site>
+ </properties>
+
+ <repositories>
+ <!-- Terminal is merged with TM -->
+ <repository>
+ <id>terminal</id>
+ <snapshots><enabled>false</enabled></snapshots>
+ <releases><enabled>false</enabled></releases>
+ <url>${terminal-site}</url>
+ <layout>p2</layout>
+ </repository>
+ </repositories>
+ </profile>
+ </profiles>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-maven-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <extensions>true</extensions>
+ </plugin>
+ </plugins>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-maven-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <extensions>true</extensions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <environments>
+ <environment>
+ <os>linux</os>
+ <ws>gtk</ws>
+ <arch>x86</arch>
+ </environment>
+ <environment>
+ <os>linux</os>
+ <ws>gtk</ws>
+ <arch>x86_64</arch>
+ </environment>
+ <environment>
+ <os>win32</os>
+ <ws>win32</ws>
+ <arch>x86</arch>
+ </environment>
+ <environment>
+ <os>win32</os>
+ <ws>win32</ws>
+ <arch>x86_64</arch>
+ </environment>
+ <environment>
+ <os>macosx</os>
+ <ws>cocoa</ws>
+ <arch>x86_64</arch>
+ </environment>
+ </environments>
+ <resolver>p2</resolver>
+ <ignoreTychoRepositories>true</ignoreTychoRepositories>
+ <includePackedArtifacts>true</includePackedArtifacts>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-compiler-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <encoding>UTF-8</encoding>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-source-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <encoding>UTF-8</encoding>
+ </configuration>
+ <executions>
+ <execution>
+ <id>plugin-source</id>
+ <goals>
+ <goal>plugin-source</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-packaging-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-buildtimestamp-jgit</artifactId>
+ <version>${tycho-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-sourceref-jgit</artifactId>
+ <version>${tycho-extras-version}</version>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <strictBinIncludes>false</strictBinIncludes>
+ <timestampProvider>jgit</timestampProvider>
+ <jgit.ignore>pom.xml</jgit.ignore>
+ <jgit.dirtyWorkingTree>ignore</jgit.dirtyWorkingTree>
+ <sourceReferences>
+ <generate>true</generate>
+ </sourceReferences>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-repository-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <finalName>${project.artifactId}</finalName>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>${maven-resources-version}</version>
+ <configuration>
+ <encoding>UTF-8</encoding>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>${maven-antrun-version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.gmaven</groupId>
+ <artifactId>gmaven-plugin</artifactId>
+ <version>${gmaven-version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ <version>${findbugs-version}</version>
+ <configuration>
+ <encoding>UTF-8</encoding>
+ <effort>Max</effort>
+ <threshold>Low</threshold>
+ <xmlOutput>true</xmlOutput>
+ <failOnError>false</failOnError>
+ <excludeFilterFile>${adminDir}/findbugs-exclude.xml</excludeFilterFile>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco-version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <version>3.8</version>
+ <configuration>
+ <sourceEncoding>utf-8</sourceEncoding>
+ <minimumTokens>100</minimumTokens>
+ <targetJdk>1.7</targetJdk>
+ <format>xml</format>
+ <failOnViolation>false</failOnViolation>
+ <excludes>
+ <exclude>**/UbcCheck.java</exclude>
+ </excludes>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>cpd-check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- Pack200 and Signing -->
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-pack200a-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>pack200-normalize</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>normalize</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.cbi.maven.plugins</groupId>
+ <artifactId>eclipse-jarsigner-plugin</artifactId>
+ <version>${eclipse-jarsigner-version}</version>
+ <executions>
+ <execution>
+ <id>sign</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-pack200b-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>pack200-pack</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>pack</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- Keep the tycho-p2-plugin after the tycho-pack200b-plugin -->
+ <!-- Tycho p2 metadata generation shall happen _after_ the JAR has been packed. -->
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <!-- Signing appears to mess with the baseline repository logic.
+ Disable the baseline repository until we've figured out what is going on. -->
+ <!--
+ <configuration>
+ <baselineRepositories>
+ <repository>
+ <url>http://download.eclipse.org/tools/tcf/builds/${tcf-stream}/nightly</url>
+ </repository>
+ </baselineRepositories>
+ </configuration>
+ -->
+ <executions>
+ <execution>
+ <id>p2-metadata</id>
+ <phase>package</phase>
+ <goals>
+ <goal>p2-metadata</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <defaultP2Metadata>false</defaultP2Metadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
</project>
diff --git a/docs/TCF Service - Breakpoints.html b/docs/TCF Service - Breakpoints.html
index e4830980b..2c0afe0b5 100644
--- a/docs/TCF Service - Breakpoints.html
+++ b/docs/TCF Service - Breakpoints.html
@@ -554,19 +554,21 @@ E &bull; Breakpoints &bull; contextRemoved &bull; <i>&lt;array of breakpoint IDs
* 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&lt;String,Object>) is extensible collection of named attributes,
+ * Breakpoint properties (Map&lt;String,Object&gt;) 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 extensible collection of named attributes:
- * breakpoint status (Map&lt;String,Object>, see STATUS_*). While breakpoint properties are
+ * For each breakpoint a target agent maintains another extendible collection of named attributes:
+ * breakpoint status (Map&lt;String,Object&gt;, 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 installed or installation errors.
+ * about breakpoint current state, like actual addresses where breakpoint is planted or planting errors.
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
*/</font>
<font color=#7F0055>public interface</font> IBreakpoints <font color=#7F0055>extends</font> IService {
<font color=#3F5FBF>/**
- * Service name.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/</font>
<font color=#7F0055>static final</font> String NAME = "Breakpoints";
@@ -577,25 +579,64 @@ E &bull; Breakpoints &bull; contextRemoved &bull; <i>&lt;array of breakpoint IDs
PROP_ID = "ID", // String
PROP_ENABLED = "Enabled", // Boolean
PROP_TYPE = "BreakpointType", // String
- PROP_CONTEXTNAMES = "ContextNames", // Array
- PROP_CONTEXTIDS = "ContextIds", // Array
- PROP_EXECUTABLEPATHS = "ExecPaths", // Array
- PROP_LOCATION = "ContextQuery", // String
+ PROP_CONTEXT_NAMES = "ContextNames", // Array
+ PROP_CONTEXT_IDS = "ContextIds", // Array
+ PROP_EXECUTABLE_PATHS = "ExecPaths", // Array
+ PROP_CONTEXT_QUERY = "ContextQuery", // String, see IContextQuery
PROP_LOCATION = "Location", // String
PROP_SIZE = "Size", // Number
- PROP_ACCESSMODE = "AccessMode", // Number
+ PROP_ACCESS_MODE = "AccessMode", // Number
PROP_FILE = "File", // String
PROP_LINE = "Line", // Number
PROP_COLUMN = "Column", // Number
PROP_PATTERN = "MaskValue", // Number
PROP_MASK = "Mask", // Number
PROP_STOP_GROUP = "StopGroup", // Array
- PROP_IGNORECOUNT = "IgnoreCount", // Number
+ PROP_IGNORE_COUNT = "IgnoreCount", // Number
PROP_TIME = "Time", // Number
PROP_SCALE = "TimeScale", // String
PROP_UNITS = "TimeUnits", // String
PROP_CONDITION = "Condition", // String
- PROP_TEMPORARY = "Temporary"; // Boolean
+ PROP_TEMPORARY = "Temporary", // Boolean
+ PROP_EVENT_TYPE = "EventType", // String
+ PROP_EVENT_ARGS = "EventArgs", // String or Object
+ PROP_CLIENT_DATA = "ClientData", // Object
+ PROP_ACTION = "Action"; // String - expression or script
+ <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.3 */</font>
+ <font color=#7F0055>static final</font> String
+ PROP_SKIP_PROLOGUE = "SkipPrologue"; // Boolean
+ <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.4 */</font>
+ <font color=#7F0055>static final</font> String
+ PROP_LINE_OFFSET = "LineOffset"; // Number - max number of lines breakpoint is allowed
+ // to be moved in case of inexact line info match
+ <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.5 */</font>
+ <font color=#7F0055>static final</font> String
+ PROP_SERVICE = "Service"; // String - name of a service that owns the breakpoint.
+ // User breakpoints don't have this attribute.
+
+ <font color=#3F5FBF>/**
+ * Breakpoints service can control cross trigger matrix - if the target hardware has one.
+ * If a breakpoint has cross trigger attributes, planting of the breakpoint enables routing of
+ * CrossTriggerInp signals to CrossTriggerOut signals. If CrossTriggerOut array includes
+ * CPU stop request, any CrossTriggerInp signal also stops software execution. In such case,
+ * breakpoint attributes like Condition or StopGroup have same meaning as for regular breakpoint.
+ * Values of cross trigger attributes are arrays of signal IDs. Signal ID can be either Number or String.
+ * Mapping of signal IDs to hardware depends on the target.
+ * <font color=#7F9FBF>@since</font> 1.5
+ */</font>
+ <font color=#7F0055>static final</font> String
+ PROP_CT_INP = "CrossTriggerInp", // Array - Cross trigger inputs
+ PROP_CT_OUT = "CrossTriggerOut"; // Array - Cross trigger outputs
+
+ <font color=#3F5FBF>/**
+ * @deprecated
+ */</font>
+ <font color=#7F0055>static final</font> String
+ PROP_CONTEXTNAMES = "ContextNames", // Array
+ PROP_CONTEXTIDS = "ContextIds", // Array
+ PROP_EXECUTABLEPATHS = "ExecPaths", // Array
+ PROP_ACCESSMODE = "AccessMode", // Number
+ PROP_IGNORECOUNT = "IgnoreCount"; // Number
<font color=#3F5FBF>/**
* BreakpointType values
@@ -607,8 +648,8 @@ E &bull; Breakpoints &bull; contextRemoved &bull; <i>&lt;array of breakpoint IDs
<font color=#3F5FBF>/**
* AccessMode values
- */ </font>
- <font color=#7F0055>static final</font> int
+ */</font>
+ <font color=#7F0055>static final int</font>
ACCESSMODE_READ = 0x01,
ACCESSMODE_WRITE = 0x02,
ACCESSMODE_EXECUTE = 0x04,
@@ -633,19 +674,26 @@ E &bull; Breakpoints &bull; contextRemoved &bull; <i>&lt;array of breakpoint IDs
* Breakpoint status field names.
*/</font>
<font color=#7F0055>static final</font> String
- STATUS_INSTANCES = "Instances", // Array of Map&lt;String,Object>
- STATUS_ERROR = "Error", // String
- STATUS_FILE = "File", // String
- STATUS_LINE = "Line", // Number
- STATUS_COLUMN = "Column"; // Number
+ STATUS_INSTANCES = "Instances", // Array of Map&lt;String,Object&gt;
+ STATUS_ERROR = "Error", // String
+ STATUS_FILE = "File", // String
+ STATUS_LINE = "Line", // Number
+ STATUS_COLUMN = "Column"; // Number
<font color=#3F5FBF>/**
* Breakpoint instance field names.
*/</font>
- static final String
- INSTANCE_ERROR = "Error", // String
- INSTANCE_CONTEXT = "LocationContext", // String
- INSTANCE_ADDRESS = "Address"; // Number
+ <font color=#7F0055>static final</font> String
+ INSTANCE_ERROR = "Error", // String
+ INSTANCE_CONTEXT = "LocationContext", // String
+ INSTANCE_ADDRESS = "Address", // Number
+ INSTANCE_SIZE = "Size", // Number
+ INSTANCE_TYPE = "BreakpointType", // String
+ INSTANCE_MEMORY_CONTEXT = "MemoryContext",// String
+ INSTANCE_HIT_COUNT = "HitCount"; // Number
+ <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.3 */</font>
+ <font color=#7F0055>static final</font> String
+ INSTANCE_CONDITION_ERROR = "ConditionError"; // String
<font color=#3F5FBF>/**
* Breakpoint service capabilities.
@@ -653,12 +701,34 @@ E &bull; Breakpoints &bull; contextRemoved &bull; <i>&lt;array of breakpoint IDs
<font color=#7F0055>static final</font> String
CAPABILITY_CONTEXT_ID = "ID", // String
CAPABILITY_HAS_CHILDREN = "HasChildren", // Boolean
+ CAPABILITY_BREAKPOINT_TYPE = "BreakpointType", // Boolean
CAPABILITY_LOCATION = "Location", // Boolean
CAPABILITY_CONDITION = "Condition", // Boolean
CAPABILITY_FILE_LINE = "FileLine", // Boolean
- CAPABILITY_CONTEXTIDS = "ContextIds", // Boolean
+ CAPABILITY_FILE_MAPPING = "FileMapping", // Boolean
+ CAPABILITY_CONTEXT_IDS = "ContextIds", // Boolean
+ CAPABILITY_CONTEXT_NAMES = "ContextNames", // Boolean
+ CAPABILITY_CONTEXT_QUERY = "ContextQuery", // Boolean
CAPABILITY_STOP_GROUP = "StopGroup", // Boolean
- CAPABILITY_IGNORECOUNT = "IgnoreCount"; // Boolean
+ CAPABILITY_TEMPORARY = "Temporary", // Boolean
+ CAPABILITY_IGNORE_COUNT = "IgnoreCount", // Boolean
+ CAPABILITY_ACCESS_MODE = "AccessMode", // Number
+ CAPABILITY_CLIENT_DATA = "ClientData"; // Boolean
+ <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.3 */</font>
+ <font color=#7F0055>static final</font> String
+ CAPABILITY_SKIP_PROLOGUE = "SkipPrologue"; // Boolean
+ <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.5 */</font>
+ <font color=#7F0055>static final</font> String
+ CAPABILITY_CROSS_TRIGGER = "CrossTrigger"; // Boolean
+
+ <font color=#3F5FBF>/**
+ * @deprecated
+ */</font>
+ <font color=#7F0055>static final</font> String
+ CAPABILITY_CONTEXTNAMES = "ContextNames",
+ CAPABILITY_CONTEXTIDS = "ContextIds",
+ CAPABILITY_IGNORECOUNT = "IgnoreCount",
+ CAPABILITY_ACCESSMODE = "AccessMode";
<font color=#3F5FBF>/**
* Call back interface for breakpoint service commands.
@@ -666,8 +736,8 @@ E &bull; Breakpoints &bull; contextRemoved &bull; <i>&lt;array of breakpoint IDs
<font color=#7F0055>interface</font> DoneCommand {
<font color=#3F5FBF>/**
* Called when command is done.
- * @param token - command handle.
- * @param error - error object or null.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
*/</font>
<font color=#7F0055>void</font> doneCommand(IToken token, Exception error);
}
@@ -679,56 +749,56 @@ E &bull; Breakpoints &bull; contextRemoved &bull; <i>&lt;array of breakpoint IDs
* notify target about (incremental) changes in breakpoint data by sending
* add, change and remove commands.
*
- * @param properties - array of breakpoints.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> properties - array of breakpoints.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken set(Map&lt;String,Object&gt;[] properties, DoneCommand done);
<font color=#3F5FBF>/**
* Called when breakpoint is added into breakpoints table.
- * @param properties - breakpoint properties.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> properties - breakpoint properties.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken add(Map&lt;String,Object&gt; properties, DoneCommand done);
<font color=#3F5FBF>/**
* Called when breakpoint properties are changed.
- * @param properties - breakpoint properties.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> properties - breakpoint properties.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken change(Map&lt;String,Object&gt; properties, DoneCommand done);
<font color=#3F5FBF>/**
- * Tell target to change (only) PROP_ENABLED breakpoint property 'true'.
- * @param ids - array of enabled breakpoint identifiers.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * Tell target to change (only) PROP_ENABLED breakpoint property to 'true'.
+ * <font color=#7F9FBF>@param</font> ids - array of enabled breakpoint identifiers.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken enable(String[] ids, DoneCommand done);
<font color=#3F5FBF>/**
* Tell target to change (only) PROP_ENABLED breakpoint property to 'false'.
- * @param ids - array of disabled breakpoint identifiers.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> ids - array of disabled breakpoint identifiers.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken disable(String[] ids, DoneCommand done);
<font color=#3F5FBF>/**
- * Tell target to remove breakpoint.
- * @param id - unique breakpoint identifier.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * Tell target to remove breakpoints.
+ * <font color=#7F9FBF>@param</font> ids - array of breakpoint identifiers.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken remove(String[] ids, DoneCommand done);
<font color=#3F5FBF>/**
* Upload IDs of breakpoints known to target agent.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken getIDs(DoneGetIDs done);
@@ -738,18 +808,18 @@ E &bull; Breakpoints &bull; contextRemoved &bull; <i>&lt;array of breakpoint IDs
<font color=#7F0055>interface</font> DoneGetIDs {
<font color=#3F5FBF>/**
* Called when 'getIDs' command is done.
- * @param token - command handle.
- * @param error - error object or null.
- * @param ids - IDs of breakpoints known to target agent.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> ids - IDs of breakpoints known to target agent.
*/</font>
<font color=#7F0055>void</font> doneGetIDs(IToken token, Exception error, String[] ids);
}
<font color=#3F5FBF>/**
* Upload properties of given breakpoint from target agent breakpoint table.
- * @param id - unique breakpoint identifier.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> id - unique breakpoint identifier.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken getProperties(String id, DoneGetProperties done);
@@ -759,18 +829,18 @@ E &bull; Breakpoints &bull; contextRemoved &bull; <i>&lt;array of breakpoint IDs
<font color=#7F0055>interface</font> DoneGetProperties {
<font color=#3F5FBF>/**
* Called when 'getProperties' command is done.
- * @param token - command handle.
- * @param error - error object or null.
- * @param properties - properties of the breakpoint.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> properties - properties of the breakpoint.
*/</font>
<font color=#7F0055>void</font> doneGetProperties(IToken token, Exception error, Map&lt;String,Object&gt; properties);
}
<font color=#3F5FBF>/**
* Upload status of given breakpoint from target agent.
- * @param id - unique breakpoint identifier.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> id - unique breakpoint identifier.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken getStatus(String id, DoneGetStatus done);
@@ -780,9 +850,9 @@ E &bull; Breakpoints &bull; contextRemoved &bull; <i>&lt;array of breakpoint IDs
<font color=#7F0055>interface</font> DoneGetStatus {
<font color=#3F5FBF>/**
* Called when 'getStatus' command is done.
- * @param token - command handle.
- * @param error - error object or null.
- * @param status - status of the breakpoint.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> status - status of the breakpoint.
*/</font>
<font color=#7F0055>void</font> doneGetStatus(IToken token, Exception error, Map&lt;String,Object&gt; status);
}
@@ -794,9 +864,9 @@ E &bull; Breakpoints &bull; contextRemoved &bull; <i>&lt;array of breakpoint IDs
* 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.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> id - a context ID or null.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken getCapabilities(String id, DoneGetCapabilities done);
@@ -806,11 +876,11 @@ E &bull; Breakpoints &bull; contextRemoved &bull; <i>&lt;array of breakpoint IDs
<font color=#7F0055>interface</font> DoneGetCapabilities {
<font color=#3F5FBF>/**
* Called when 'getCapabilities' command is done.
- * @param token - command handle.
- * @param error - error object or null.
- * @param capabilities - breakpoints service capabilities description.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> capabilities - breakpoints service capabilities description.
*/</font>
- void</font> doneGetCapabilities(IToken token, Exception error, Map&lt;String,Object&gt; capabilities);
+ <font color=#7F0055>void</font> doneGetCapabilities(IToken token, Exception error, Map&lt;String,Object&gt; capabilities);
}
<font color=#3F5FBF>/**
@@ -823,39 +893,39 @@ E &bull; Breakpoints &bull; contextRemoved &bull; <i>&lt;array of breakpoint IDs
<font color=#3F5FBF>/**
* Called when breakpoint status changes.
- * @param id - unique breakpoint identifier.
- * @param status - breakpoint status.
+ * <font color=#7F9FBF>@param</font> id - unique breakpoint identifier.
+ * <font color=#7F9FBF>@param</font> status - breakpoint status.
*/</font>
<font color=#7F0055>void</font> breakpointStatusChanged(String id, Map&lt;String,Object&gt; status);
<font color=#3F5FBF>/**
* Called when a new breakpoints are added.
- * @param bps - array of breakpoints.
+ * <font color=#7F9FBF>@param</font> bps - array of breakpoints.
*/</font>
<font color=#7F0055>void</font> contextAdded(Map&lt;String,Object&gt;[] bps);
<font color=#3F5FBF>/**
* Called when breakpoint properties change.
- * @param bps - array of breakpoints.
+ * <font color=#7F9FBF>@param</font> bps - array of breakpoints.
*/</font>
<font color=#7F0055>void</font> contextChanged(Map&lt;String,Object&gt;[] bps);
<font color=#3F5FBF>/**
* Called when breakpoints are removed.
- * @param ids - array of breakpoint IDs.
+ * <font color=#7F9FBF>@param</font> 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 color=#7F9FBF>@param</font> 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 color=#7F9FBF>@param</font> listener - object that implements BreakpointsListener interface.
*/</font>
<font color=#7F0055>void</font> removeListener(BreakpointsListener listener);
}
diff --git a/docs/TCF Service - Context Query.html b/docs/TCF Service - Context Query.html
index a1b6dcc4b..c7bd91202 100755
--- a/docs/TCF Service - Context Query.html
+++ b/docs/TCF Service - Context Query.html
@@ -195,19 +195,21 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;a
* context. The part "**" matches any sequence of contexts. If the query
* starts with a "/" the first part of the query must match a child of
* the root of the context tree.
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
*/</font>
<font color=#7F0055>public interface</font> IContextQuery <font color=#7F0055>extends</font> IService {
<font color=#3F5FBF>/**
- * Service name.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/</font>
<font color=#7F0055>static final</font> String NAME = "ContextQuery";
<font color=#3F5FBF>/**
* Execute a context query and return array of matching context IDs.
- * @param query - context query string.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> query - context query string.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken query(String query, DoneQuery done);
@@ -217,17 +219,17 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;a
<font color=#7F0055>interface</font> DoneQuery {
<font color=#3F5FBF>/**
* Called when 'query' command is done.
- * @param token - command handle.
- * @param error - error object or null.
- * @param contexts - array of context IDs.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> contexts - array of context IDs.
*/</font>
<font color=#7F0055>void</font> doneQuery(IToken token, Exception error, String[] contexts);
}
<font color=#3F5FBF>/**
* Get list of attribute names available for context queries.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken getAttrNames(DoneGetAttrNames done);
@@ -237,9 +239,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;a
<font color=#7F0055>interface</font> DoneGetAttrNames {
<font color=#3F5FBF>/**
* Called when 'query' command is done.
- * @param token - command handle.
- * @param error - error object or null.
- * @param contexts - array of context IDs.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> contexts - array of context IDs.
*/</font>
<font color=#7F0055>void</font> doneGetAttrNames(IToken token, Exception error, String[] names);
}
diff --git a/docs/TCF Service - Context Reset.html b/docs/TCF Service - Context Reset.html
index b7bbd7cac..6849c3e90 100644
--- a/docs/TCF Service - Context Reset.html
+++ b/docs/TCF Service - Context Reset.html
@@ -88,12 +88,19 @@ C &bull; <i>&lt;token&gt;</i> &bull; ContextReset &bull; reset &bull; <i>&lt;str
<pre><b><font face="Courier New" size=2 color=#333399>
R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
</font></b></pre>
- <h2><a name='API'>API</a></h2>
+<h2><a name='API'>API</a></h2>
+
<pre>
+<font color=#3F5FBF>/**
+ * TCF Context Reset service interface.
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
+ * <font color=#7F9FBF>@since</font> 1.7
+ */</font>
<font color=#7F0055>public interface</font> IContextReset <font color=#7F0055>extends</font> IService {
<font color=#3F5FBF>/**
- * Service name.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/</font>
<font color=#7F0055>static final</font> String NAME = "ContextReset";
@@ -107,9 +114,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
* Report context reset service capabilities to clients so they can adjust
* to different implementations of the service.
*
- * @param ctx - a context ID.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> ctx - a context ID.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken getCapabilities(String context_id, DoneGetCapabilities done);
@@ -120,9 +127,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
<font color=#3F5FBF>/**
* Called when 'getCapabilities' command is done.
*
- * @param token - command handle.
- * @param error - error object or null.
- * @param capabilities - context reset service capabilities description.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> capabilities - context reset service capabilities description.
*/</font>
<font color=#7F0055>void</font> doneGetCapabilities(IToken token, Exception error, Collection&lt;Map&lt;String,Object&gt;&gt; capabilities);
}
@@ -135,11 +142,11 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
<font color=#3F5FBF>/**
* Reset a specified context.
*
- * @param context_id - a context ID, usually one returned by Run Control or Memory services.
- * @param type - name of the reset type.
- * @param params - parameters to control the context reset.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> context_id - a context ID, usually one returned by Run Control or Memory services.
+ * <font color=#7F9FBF>@param</font> type - name of the reset type.
+ * <font color=#7F9FBF>@param</font> params - parameters to control the context reset.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken reset(String context_id, String reset_type, Map&lt;String,Object&gt; params, DoneReset done);
@@ -150,12 +157,13 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
<font color=#3F5FBF>/**
* Called when reset is done.
*
- * @param token - command handle.
- * @param error - error object or null.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
*/</font>
<font color=#7F0055>void</font> doneReset(IToken token, Exception error);
}
}
</pre>
+
</body>
</html>
diff --git a/docs/TCF Service - Debug Print.html b/docs/TCF Service - Debug Print.html
index 0baf630b8..538a3c663 100644
--- a/docs/TCF Service - Debug Print.html
+++ b/docs/TCF Service - Debug Print.html
@@ -89,12 +89,12 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
* DPrintf service provides access to "dynamic printf" output stream that is generated by invocations of
* '$printf' function on the remote target. '$printf' is usually used as a breakpoint action.
*
- * @noimplement This interface is not intended to be implemented by clients.
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
*/</font>
<font color=#7F0055>public interface</font> IDPrintf <font color=#7F0055>extends</font> IService {
<font color=#3F5FBF>/**
- * Service name.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/</font>
<font color=#7F0055>static final</font> String NAME = "DPrintf";
@@ -102,9 +102,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
* Open "dynamic printf" stream and get ID of the stream.
* The service maintains one such stream per client.
* The stream is managed by Streams service.
- * @param properties - optional stream properties.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> properties - optional stream properties.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken open(Map&lt;String,Object&gt;[] properties, DoneCommandOpen done);
@@ -115,8 +115,8 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
<font color=#3F5FBF>/**
* Close "dynamic printf" stream.
* Further '$printf' output will be discarded.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken close(DoneCommandClose done);
diff --git a/docs/TCF Service - Diagnostics.html b/docs/TCF Service - Diagnostics.html
index eebcfeffe..09bf6e08e 100644
--- a/docs/TCF Service - Diagnostics.html
+++ b/docs/TCF Service - Diagnostics.html
@@ -247,20 +247,23 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
* If implemented, the service can be used for testing of the peer and
* communication channel functionality and reliability.
*
- * @noimplement This interface is not intended to be implemented by clients.
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
*/</font>
<font color=#7F0055>public interface</font> IDiagnostics <font color=#7F0055>extends</font> IService {
+ <font color=#3F5FBF>/**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */</font>
<font color=#7F0055>static final</font> String NAME = "Diagnostics";
<font color=#3F5FBF>/**
* 'echo' command result returns same string that was given as command argument.
* The command is used to test communication channel ability to transmit arbitrary strings in
* both directions.
- * @param s - any string.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> s - any string.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken echo(String s, DoneEcho done);
@@ -270,9 +273,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
<font color=#7F0055>interface</font> DoneEcho {
<font color=#3F5FBF>/**
* Called when 'echo' command is done.
- * @param token - command handle.
- * @param error - error object or null.
- * @param s - same string as the command argument.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> s - same string as the command argument.
*/</font>
<font color=#7F0055>void</font> doneEcho(IToken token, Throwable error, String s);
}
@@ -281,9 +284,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
* 'echoFP' command result returns same floating point number that was given as command argument.
* The command is used to test communication channel ability to transmit arbitrary floating point numbers in
* both directions.
- * @param n - any floating point number.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> n - any floating point number.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken echoFP(BigDecimal n, DoneEchoFP done);
@@ -293,9 +296,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
<font color=#7F0055>interface</font> DoneEchoFP {
<font color=#3F5FBF>/**
* Called when 'echoFP' command is done.
- * @param token - command handle.
- * @param error - error object or null.
- * @param n - same number as the command argument.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> n - same number as the command argument.
*/</font>
<font color=#7F0055>void</font> doneEchoFP(IToken token, Throwable error, BigDecimal n);
}
@@ -304,28 +307,28 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
* 'echoINT' command result returns same integer number that was given as command argument.
* The command is used to test communication channel ability to transmit arbitrary integer numbers in
* both directions.
- * @param t - number type:
+ * <font color=#7F9FBF>@param</font> t - number type:
* 0 - signed, up to 32 bits
* 1 - unsigned, up to 32 bits
* 2 - signed, up to 64 bits
* 3 - unsigned, up to 64 bits
- * @param n - the number.
- * @param done - command result call back object.
- * @return - pending command handle.
- * @since 1.4
+ * <font color=#7F9FBF>@param</font> n - the number.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
+ * <font color=#7F9FBF>@since</font> 1.4
*/</font>
IToken echoINT(<font color=#7F0055>int</font> t, BigInteger n, DoneEchoINT done);
<font color=#3F5FBF>/**
* Call back interface for 'echoINT' command.
- * @since 1.4
+ * <font color=#7F9FBF>@since</font> 1.4
*/</font>
<font color=#7F0055>interface</font> DoneEchoINT {
<font color=#3F5FBF>/**
* Called when 'echoINT' command is done.
- * @param token - command handle.
- * @param error - error object or null.
- * @param n - same number as the command argument.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> n - same number as the command argument.
*/</font>
<font color=#7F0055>void</font> doneEchoINT(IToken token, Throwable error, BigInteger n);
}
@@ -333,9 +336,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
<font color=#3F5FBF>/**
* 'echoERR' command result returns same error report that was given as command argument.
* The command is used to test remote agent ability to receive and transmit TCF error reports.
- * @param error - an error object.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> error - an error object.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken echoERR(Throwable error, DoneEchoERR done);
@@ -345,10 +348,10 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
<font color=#7F0055>interface</font> DoneEchoERR {
<font color=#3F5FBF>/**
* Called when 'echoERR' command is done.
- * @param token - command handle.
- * @param error - communication error report or null.
- * @param error_obj - error object, should be equal to the command argument.
- * @param error_msg - error object converted to a human readable string.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - communication error report or null.
+ * <font color=#7F9FBF>@param</font> error_obj - error object, should be equal to the command argument.
+ * <font color=#7F9FBF>@param</font> error_msg - error object converted to a human readable string.
*/</font>
<font color=#7F0055>void</font> doneEchoERR(IToken token, Throwable error, Throwable error_obj, String error_msg);
}
@@ -361,8 +364,8 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
* Exact description of test actions is a contract between client and remote peer,
* and it is not part of Diagnostics service specifications.
* Clients should not attempt to run a test if they don't recognize the test name.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken getTestList(DoneGetTestList done);
@@ -372,9 +375,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
<font color=#7F0055>interface</font> DoneGetTestList {
<font color=#3F5FBF>/**
* Called when 'getTestList' command is done.
- * @param token - command handle.
- * @param error - error object or null.
- * @param list - names of tests that are supported by the peer.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> list - names of tests that are supported by the peer.
*/</font>
<font color=#7F0055>void</font> doneGetTestList(IToken token, Throwable error, String[] list);
}
@@ -385,9 +388,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
* Running test usually has associated execution context ID.
* Depending on the test, the ID can be used with services RunControl and/or Processes services to control
* test execution, and to obtain test results.
- * @param name - test name
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> name - test name
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken runTest(String name, DoneRunTest done);
@@ -397,18 +400,18 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
<font color=#7F0055>interface</font> DoneRunTest {
<font color=#3F5FBF>/**
* Called when 'runTest' command is done.
- * @param token - command handle.
- * @param error - error object or null.
- * @param context_id - test execution contest ID.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> context_id - test execution contest ID.
*/</font>
<font color=#7F0055>void</font> doneRunTest(IToken token, Throwable error, String context_id);
}
<font color=#3F5FBF>/**
* Cancel execution of a test.
- * @param context_id - test execution context ID.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> context_id - test execution context ID.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken cancelTest(String context_id, DoneCancelTest done);
@@ -418,18 +421,18 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
<font color=#7F0055>interface</font> DoneCancelTest {
<font color=#3F5FBF>/**
* Called when 'cancelTest' command is done.
- * @param token - command handle.
- * @param error - error object or null.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
*/</font>
<font color=#7F0055>void</font> doneCancelTest(IToken token, Throwable error);
}
<font color=#3F5FBF>/**
- * Get information about a symbol in test execution context.
- * @param context_id - test execution context ID, returned by the runTest command.
- * @param symbol_name - name of the symbol
- * @param done - command result call back object.
- * @return - pending command handle.
+ * Get information about a symbol in a test execution context.
+ * <font color=#7F9FBF>@param</font> context_id - test execution context ID, returned by the runTest command.
+ * <font color=#7F9FBF>@param</font> symbol_name - name of the symbol
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken getSymbol(String context_id, String symbol_name, DoneGetSymbol done);
@@ -439,9 +442,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
<font color=#7F0055>interface</font> DoneGetSymbol {
<font color=#3F5FBF>/**
* Called when 'getSymbol' command is done.
- * @param token - command handle.
- * @param error - error object or null.
- * @param symbol - symbol properties
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> symbol - symbol properties
*/</font>
<font color=#7F0055>void</font> doneGetSymbol(IToken token, Throwable error, ISymbol symbol);
}
@@ -464,10 +467,10 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
* Remote ends of the streams are connected together, so any data sent into 'inp' stream
* will become available for reading from 'out' stream.
* The command is used for testing virtual streams.
- * @param inp_buf_size - buffer size in bytes of the input stream.
- * @param out_buf_size - buffer size in bytes of the output stream.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> inp_buf_size - buffer size in bytes of the input stream.
+ * <font color=#7F9FBF>@param</font> out_buf_size - buffer size in bytes of the output stream.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken createTestStreams(<font color=#7F0055>int</font> inp_buf_size, <font color=#7F0055>int</font> out_buf_size, DoneCreateTestStreams done);
@@ -478,19 +481,19 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
<font color=#3F5FBF>/**
* Called when 'createTestStreams' command is done.
- * @param token - command handle.
- * @param error - error object or null.
- * @param inp_id - the input stream ID.
- * @param out_id - the output stream ID.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> inp_id - the input stream ID.
+ * <font color=#7F9FBF>@param</font> out_id - the output stream ID.
*/</font>
<font color=#7F0055>void</font> doneCreateTestStreams(IToken token, Throwable error, String inp_id, String out_id);
}
<font color=#3F5FBF>/**
* Dispose a virtual stream that was created by 'createTestStreams' command.
- * @param id - the stream ID.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> id - the stream ID.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken disposeTestStream(String id, DoneDisposeTestStream done);
@@ -501,8 +504,8 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
<font color=#3F5FBF>/**
* Called when 'createTestStreams' command is done.
- * @param token - command handle.
- * @param error - error object or null.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
*/</font>
<font color=#7F0055>void</font> doneDisposeTestStream(IToken token, Throwable error);
}
@@ -510,8 +513,8 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
<font color=#3F5FBF>/**
* Send a command that is not implemented by peer.
* Used to test handling of 'N' messages by communication channel.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken not_implemented_command(DoneNotImplementedCommand done);
@@ -519,8 +522,8 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
<font color=#3F5FBF>/**
* Called when 'not_implemented_command' command is done.
- * @param token - command handle.
- * @param error - error object.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object.
*/</font>
<font color=#7F0055>void</font> doneNotImplementedCommand(IToken token, Throwable error);
}
diff --git a/docs/TCF Service - Disassembly.html b/docs/TCF Service - Disassembly.html
index 5498cdd0e..84b16d61c 100644
--- a/docs/TCF Service - Disassembly.html
+++ b/docs/TCF Service - Disassembly.html
@@ -172,11 +172,14 @@ Tools and targets can define additional properties. Predefined properties are:</
<pre>
<font color=#3F5FBF>/**
* TCF Disassembly service interface.
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
*/</font>
+
<font color=#7F0055>public interface</font> IDisassembly <font color=#7F0055>extends</font> IService {
<font color=#3F5FBF>/**
- * Service name.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/</font>
<font color=#7F0055>static final</font> String NAME = "Disassembly";
@@ -195,9 +198,9 @@ Tools and targets can define additional properties. Predefined properties are:</
<font color=#3F5FBF>/**
* Retrieve disassembly service capabilities a given context-id.
- * @param context_id - a context ID, usually one returned by Run Control or Memory services.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> context_id - a context ID, usually one returned by Run Control or Memory services.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken getCapabilities(String context_id, DoneGetCapabilities done);
@@ -207,24 +210,23 @@ Tools and targets can define additional properties. Predefined properties are:</
<font color=#7F0055>interface</font> DoneGetCapabilities {
<font color=#3F5FBF>/**
* Called when capabilities retrieval is done.
- * @param token - command handle.
- * @param error - error object or null.
- * @param capabilities - array of capabilities, see CAPABILITY_* for contents of each array element.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> capabilities - array of capabilities, see CAPABILITY_* for contents of each array element.
*/</font>
<font color=#7F0055>void</font> doneGetCapabilities(IToken token, Throwable error, Map&lt;String,Object&gt;[] capabilities);
}
<font color=#3F5FBF>/**
* Disassemble instruction code from a specified range of memory addresses, in a specified context.
- * @param context_id - a context ID, usually one returned by Run Control or Memory services.
- * @param addr - address of first instruction to disassemble.
- * @param size - size in bytes of the address range.
- * @param params - properties to control the disassembly output, an element of capabilities array, see getCapabilities.
- * @param done - command result call back object.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> context_id - a context ID, usually one returned by Run Control or Memory services.
+ * <font color=#7F9FBF>@param</font> addr - address of first instruction to disassemble.
+ * <font color=#7F9FBF>@param</font> size - size in bytes of the address range.
+ * <font color=#7F9FBF>@param</font> params - properties to control the disassembly output, an element of capabilities array, see getCapabilities.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
-
- IToken disassemble(String context_id, Number addr, int size, Map&lt;String,Object&gt; params, DoneDisassemble done);
+ IToken disassemble(String context_id, Number addr, <font color=#7F0055>int</font> size, Map&lt;String,Object&gt; params, DoneDisassemble done);
<font color=#3F5FBF>/**
* Call back interface for 'disassemble' command.
@@ -232,9 +234,9 @@ Tools and targets can define additional properties. Predefined properties are:</
<font color=#7F0055>interface</font> DoneDisassemble {
<font color=#3F5FBF>/**
* Called when disassembling is done.
- * @param token - command handle.
- * @param error - error object or null.
- * @param disassembly - array of disassembly lines.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> disassembly - array of disassembly lines.
*/</font>
<font color=#7F0055>void</font> doneDisassemble(IToken token, Throwable error, IDisassemblyLine[] disassembly);
}
@@ -245,22 +247,22 @@ Tools and targets can define additional properties. Predefined properties are:</
<font color=#7F0055>interface</font> IDisassemblyLine {
<font color=#3F5FBF>/**
- * @return instruction address.
+ * <font color=#7F9FBF>@return</font> instruction address.
*/</font>
Number getAddress();
<font color=#3F5FBF>/**
- * @return instruction size in bytes.
+ * <font color=#7F9FBF>@return</font> instruction size in bytes.
*/</font>
<font color=#7F0055>int</font> getSize();
<font color=#3F5FBF>/**
- * @return instruction binary representation.
+ * <font color=#7F9FBF>@return</font> instruction binary representation.
*/</font>
<font color=#7F0055>byte</font>[] getOpcodeValue();
<font color=#3F5FBF>/**
- * @return array of instruction fields, each field is a collection of field properties, see FIELD_*.
+ * <font color=#7F9FBF>@return</font> array of instruction fields, each field is a collection of field properties, see FIELD_*.
*/</font>
Map&lt;String,Object&gt;[] getInstruction();
}
@@ -270,22 +272,30 @@ Tools and targets can define additional properties. Predefined properties are:</
<font color=#3F5FBF>/** The type of the instruction field. See FTYPE_*, String. */</font>
FIELD_TYPE = "Type",
- <font color=#3F5FBF>/** Value of the field for “String” and “Register” types, String. */</font>
+ <font color=#3F5FBF>/** Value of the field for "String" and "Register" types, String. */</font>
FIELD_TEXT = "Text",
- <font color=#3F5FBF>/** Value of the field for “Address,” “Displacement,” or “Immediate” types, Number. */</font>
+ <font color=#3F5FBF>/** Value of the field for "Address", "Displacement", or "Immediate" types, Number. */</font>
FIELD_VALUE = "Value",
- <font color=#3F5FBF>/** Context ID of the address space used with “Address” types, String. */</font>
+ <font color=#3F5FBF>/** Context ID of the address space used with "Address" types, String. */</font>
FIELD_ADDRESS_SPACE = "AddressSpace";
<font color=#3F5FBF>/** Instruction field types */</font>
<font color=#7F0055>static final</font> String
FTYPE_STRING = "String",
- FTYPE_REGISTER = "Register",
FTYPE_ADDRESS = "Address",
FTYPE_DISPLACEMENT = "Displacement",
FTYPE_IMMEDIATE = "Immediate";
+ <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.7 */</font>
+ <font color=#7F0055>static final</font> String
+ FTYPE_REGISTER = "Register";
+
+ <font color=#3F5FBF>/**
+ * @deprecated
+ */</font>
+ <font color=#7F0055>static final</font> String
+ FTYPE_Register = "Register";
}
</pre>
diff --git a/docs/TCF Service - Expressions.html b/docs/TCF Service - Expressions.html
index 9a40bc01c..118f9d960 100644
--- a/docs/TCF Service - Expressions.html
+++ b/docs/TCF Service - Expressions.html
@@ -95,30 +95,27 @@ Context data is expected to be cached by clients.</p>
<li><code><b><font face="Courier New" size=2 color=#333399>"ParentID" : <i>&lt;string&gt;</i></font></b></code>
- ID of a parent context.
- <li><code><b><font face="Courier New" size=2 color=#333399>"" : <i>&lt;&gt;</i></font></b></code>
- - .
-
- <li><code><b><font face="Courier New" size=2 color=#333399>"" : <i>&lt;&gt;</i></font></b></code>
- - .
+ <li><code><b><font face="Courier New" size=2 color=#333399>"SymbolID" : <i>&lt;string&gt;</i></font></b></code>
+ - symbol ID if expression designates a symbol. The symbol ID can be used with <a href='TCF Service - Symbols.html'>Symbols Service</a> to get symbol data.
- <li><code><b><font face="Courier New" size=2 color=#333399>"" : <i>&lt;&gt;</i></font></b></code>
- - .
+ <li><code><b><font face="Courier New" size=2 color=#333399>"Expression" : <i>&lt;string&gt;</i></font></b></code>
+ - text of the expression.
- <li><code><b><font face="Courier New" size=2 color=#333399>"" : <i>&lt;&gt;</i></font></b></code>
- - .
+ <li><code><b><font face="Courier New" size=2 color=#333399>"CanAssign" : <i>&lt;boolean&gt;</i></font></b></code>
+ - true if expression designates a storage location, so new value can be assigned (stored) at the location.
- <li><code><b><font face="Courier New" size=2 color=#333399>"" : <i>&lt;&gt;</i></font></b></code>
- - .
+ <li><code><b><font face="Courier New" size=2 color=#333399>"HasFuncCall" : <i>&lt;boolean&gt;</i></font></b></code>
+ - true if expression cantains a function call, which needs to be executed in the debug context.
+ Evaluation of such expressions resumes and suspends target thread or CPU.
- <li><code><b><font face="Courier New" size=2 color=#333399>"" : <i>&lt;&gt;</i></font></b></code>
+ <li><code><b><font face="Courier New" size=2 color=#333399>"Class" : <i>&lt;number&gt;</i></font></b></code>
- .
- <li><code><b><font face="Courier New" size=2 color=#333399>"" : <i>&lt;&gt;</i></font></b></code>
+ <li><code><b><font face="Courier New" size=2 color=#333399>"Type" : <i>&lt;string&gt;</i></font></b></code>
- .
- <li><code><b><font face="Courier New" size=2 color=#333399>"" : <i>&lt;&gt;</i></font></b></code>
+ <li><code><b><font face="Courier New" size=2 color=#333399>"Size" : <i>&lt;number&gt;</i></font></b></code>
- .
-
</ul>
<h3><a name='CmdGetChildren'>Get Children</a></h3>
@@ -127,6 +124,8 @@ Context data is expected to be cached by clients.</p>
C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&lt;string: parent context ID&gt;</i> &bull;
</font></b></pre>
+<p><font color=#FF7000>TBD</font></p>
+
<h2><a name='API'>API</a></h2>
<pre>
@@ -134,12 +133,12 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
* Expressions service allows TCF client to perform expression evaluation on remote target.
* The service can be used to retrieve or modify values of variables or any data structures in remote target memory.
*
- * @noimplement This interface is not intended to be implemented by clients.
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
*/</font>
<font color=#7F0055>public interface</font> IExpressions <font color=#7F0055>extends</font> IService {
<font color=#3F5FBF>/**
- * Service name.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/</font>
<font color=#7F0055>static final</font> String NAME = "Expressions";
@@ -153,45 +152,45 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
<font color=#7F0055>interface</font> Expression {
<font color=#3F5FBF>/**
* Get context ID.
- * @return context ID.
+ * <font color=#7F9FBF>@return</font> context ID.
*/</font>
String getID();
<font color=#3F5FBF>/**
* Get parent context ID.
- * @return parent context ID.
+ * <font color=#7F9FBF>@return</font> parent context ID.
*/</font>
String getParentID();
<font color=#3F5FBF>/**
* Get expression script language ID.
- * @return language ID.
+ * <font color=#7F9FBF>@return</font> language ID.
*/</font>
String getLanguage();
<font color=#3F5FBF>/**
* Return expression string - the script part of the context.
- * @return expression script string
+ * <font color=#7F9FBF>@return</font> expression script string
*/</font>
String getExpression();
<font color=#3F5FBF>/**
* Return symbol ID if the expression represents a symbol (e.g. local variable).
- * @return symbol ID
+ * <font color=#7F9FBF>@return</font> symbol ID
*/</font>
String getSymbolID();
<font color=#3F5FBF>/**
* Get size of expression value in bits.
* Can be 0 if value size is even number of bytes, use getSize() in such case.
- * @return size in bits.
+ * <font color=#7F9FBF>@return</font> size in bits.
*/</font>
<font color=#7F0055>int</font> getBits();
<font color=#3F5FBF>/**
* Get size in bytes. The size can include extra (unused) bits.
* This is "static" or "declared" size - as determined by expression type.
- * @return size in bytes.
+ * <font color=#7F9FBF>@return</font> size in bytes.
*/</font>
<font color=#7F0055>int</font> getSize();
@@ -199,26 +198,26 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
* Get expression type ID. Symbols service can be used to get type properties.
* This is "static" or "declared" type ID, actual type of a value can be different -
* if expression language supports dynamic typing.
- * @return type ID.
+ * <font color=#7F9FBF>@return</font> type ID.
*/</font>
String getTypeID();
<font color=#3F5FBF>/**
* Check if the expression can be assigned a new value.
- * @return true if can assign.
+ * <font color=#7F9FBF>@return</font> true if can assign.
*/</font>
<font color=#7F0055>boolean</font> canAssign();
<font color=#3F5FBF>/**
* Check if the expression contains target function call.
* Such expression can resume the target when evaluated.
- * @return true if has a function call.
+ * <font color=#7F9FBF>@return</font> true if has a function call.
*/</font>
<font color=#7F0055>boolean</font> hasFuncCall();
<font color=#3F5FBF>/**
* Get complete map of context properties.
- * @return map of context properties.
+ * <font color=#7F9FBF>@return</font> map of context properties.
*/</font>
Map&lt;String,Object&gt; getProperties();
}
@@ -240,7 +239,7 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
<font color=#3F5FBF>/**
* Expression scope attributes.
- * @since 1.2
+ * <font color=#7F9FBF>@since</font> 1.2
*/</font>
<font color=#7F0055>static final</font> String
SCOPE_CONTEXT_ID = "ContextID",
@@ -250,7 +249,7 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
<font color=#3F5FBF>/**
* Value represents result of expression evaluation.
* Note that same expression can be evaluated multiple times with different results.
- * @noimplement This interface is not intended to be implemented by clients.
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
*/</font>
<font color=#7F0055>interface</font> Value {
@@ -263,14 +262,14 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
<font color=#3F5FBF>/**
* Get value type ID. Symbols service can be used to get type properties.
- * @return type ID.
+ * <font color=#7F9FBF>@return</font> type ID.
*/</font>
String getTypeID();
<font color=#3F5FBF>/**
* Check endianness of the values.
* Big-endian means decreasing numeric significance with increasing byte number.
- * @return true if big-endian.
+ * <font color=#7F9FBF>@return</font> true if big-endian.
*/</font>
<font color=#7F0055>boolean</font> isBigEndian();
@@ -278,38 +277,38 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
* Implicit pointer means that the value represents a pointer,
* which value is unknown or optimized away,
* even though the value it would point to is known.
- * @return true if the value is implicit pointer.
- * @since 1.3
+ * <font color=#7F9FBF>@return</font> true if the value is implicit pointer.
+ * <font color=#7F9FBF>@since</font> 1.3
*/</font>
<font color=#7F0055>boolean</font> isImplicitPointer();
<font color=#3F5FBF>/**
* Return register ID if the value represents register variable.
- * @return register ID or null.
+ * <font color=#7F9FBF>@return</font> register ID or null.
*/</font>
String getRegisterID();
<font color=#3F5FBF>/**
* Return symbol ID if the value represents a symbol.
- * @return symbol ID or null.
+ * <font color=#7F9FBF>@return</font> symbol ID or null.
*/</font>
String getSymbolID();
<font color=#3F5FBF>/**
* Return value memory address, if applicable.
- * @return address or null.
+ * <font color=#7F9FBF>@return</font> address or null.
*/</font>
Number getAddress();
<font color=#3F5FBF>/**
* Get value as array of bytes.
- * @return value as array of bytes.
+ * <font color=#7F9FBF>@return</font> value as array of bytes.
*/</font>
<font color=#7F0055>byte</font>[] getValue();
<font color=#3F5FBF>/**
* Get complete map of value properties.
- * @return map of value properties.
+ * <font color=#7F9FBF>@return</font> map of value properties.
*/</font>
Map&lt;String,Object&gt; getProperties();
}
@@ -324,13 +323,13 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
VAL_REGISTER = "Register",
VAL_SYMBOL = "Symbol",
VAL_ADDRESS = "Address";
- <font color=#3F5FBF>/** @since 1.3 */</font>
+ <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.3 */</font>
<font color=#7F0055>static final</font> String
VAL_BINARY_SCALE = "BinaryScale",
VAL_DECIMAL_SCALE = "DecimalScale",
VAL_IMPLICIT_POINTER = "ImplicitPointer",
VAL_PIECES = "Pieces";
- <font color=#3F5FBF>/** @since 1.4 */</font>
+ <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.4 */</font>
<font color=#7F0055>static final</font> String
VAL_BIT_STRIDE = "BitStride";
@@ -338,9 +337,9 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
* Retrieve expression context info for given context ID.
* @see Expression
*
- * @param id - context ID.
- * @param done - call back interface called when operation is completed.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> id - context ID.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken getContext(String id, DoneGetContext done);
@@ -350,9 +349,9 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
<font color=#7F0055>interface</font> DoneGetContext {
<font color=#3F5FBF>/**
* Called when context data retrieval is done.
- * @param token - command handle
- * @param error - error description if operation failed, null if succeeded.
- * @param context - context properties.
+ * <font color=#7F9FBF>@param</font> token - command handle
+ * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
+ * <font color=#7F9FBF>@param</font> context - context properties.
*/</font>
<font color=#7F0055>void</font> doneGetContext(IToken token, Exception error, Expression context);
}
@@ -370,9 +369,9 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
* Children list does *not* include IDs of expressions that were created by clients
* using "create" command.
*
- * @param parent_context_id - parent context ID.
- * @param done - call back interface called when operation is completed.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> parent_context_id - parent context ID.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken getChildren(String parent_context_id, DoneGetChildren done);
@@ -382,9 +381,9 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
<font color=#7F0055>interface</font> DoneGetChildren {
<font color=#3F5FBF>/**
* Called when context list retrieval is done.
- * @param token - command handle
- * @param error - error description if operation failed, null if succeeded.
- * @param context_ids - array of available context IDs.
+ * <font color=#7F9FBF>@param</font> token - command handle
+ * <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);
}
@@ -392,22 +391,22 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
<font color=#3F5FBF>/**
* Create an expression context.
* The context should be disposed after use.
- * @param parent_id - a context ID that can be used to resolve symbol names.
- * @param language - language of expression script, null means default language
- * @param expression - expression script
- * @param done - call back interface called when operation is completed.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> parent_id - a context ID that can be used to resolve symbol names.
+ * <font color=#7F9FBF>@param</font> language - language of expression script, null means default language
+ * <font color=#7F9FBF>@param</font> expression - expression script
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken create(String parent_id, String language, String expression, DoneCreate done);
<font color=#3F5FBF>/**
* Create an expression context using given scope to resolve symbols.
* The context should be disposed after use.
- * @param scope - see SCOPE_* attribute definitions.
- * @param expression - expression script
- * @param done - call back interface called when operation is completed.
- * @return - pending command handle.
- * @since 1.2
+ * <font color=#7F9FBF>@param</font> scope - see SCOPE_* attribute definitions.
+ * <font color=#7F9FBF>@param</font> expression - expression script
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
+ * <font color=#7F9FBF>@since</font> 1.2
*/</font>
IToken createInScope(Map&lt;String,Object&gt; scope, String expression, DoneCreate done);
@@ -417,18 +416,18 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
<font color=#7F0055>interface</font> DoneCreate {
<font color=#3F5FBF>/**
* Called when context create context command is done.
- * @param token - command handle
- * @param error - error description if operation failed, null if succeeded.
- * @param context - context properties.
+ * <font color=#7F9FBF>@param</font> token - command handle
+ * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
+ * <font color=#7F9FBF>@param</font> context - context properties.
*/</font>
<font color=#7F0055>void</font> doneCreate(IToken token, Exception error, Expression context);
}
<font color=#3F5FBF>/**
* Dispose an expression context that was created by create()
- * @param id - the expression context ID
- * @param done - call back interface called when operation is completed.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> id - the expression context ID
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken dispose(String id, DoneDispose done);
@@ -438,17 +437,17 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
<font color=#7F0055>interface</font> DoneDispose {
<font color=#3F5FBF>/**
* Called when context dispose command is done.
- * @param token - command handle
- * @param error - error description if operation failed, null if succeeded.
+ * <font color=#7F9FBF>@param</font> token - command handle
+ * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
*/</font>
<font color=#7F0055>void</font> doneDispose(IToken token, Exception error);
}
<font color=#3F5FBF>/**
* Evaluate value of an expression context.
- * @param id - the expression context ID
- * @param done - call back interface called when operation is completed.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> id - the expression context ID
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken evaluate(String id, DoneEvaluate done);
@@ -458,19 +457,19 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
<font color=#7F0055>interface</font> DoneEvaluate {
<font color=#3F5FBF>/**
* Called when context dispose command is done.
- * @param token - command handle
- * @param error - error description if operation failed, null if succeeded.
- * @param value - expression evaluation result
+ * <font color=#7F9FBF>@param</font> token - command handle
+ * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
+ * <font color=#7F9FBF>@param</font> value - expression evaluation result
*/</font>
<font color=#7F0055>void</font> doneEvaluate(IToken token, Exception error, Value value);
}
<font color=#3F5FBF>/**
* Assign a value to memory location determined by an expression.
- * @param id - expression ID.
- * @param value - value as an array of bytes.
- * @param done - call back interface called when operation is completed.
- * @return - pending command handle.
+ * <font color=#7F9FBF>@param</font> id - expression ID.
+ * <font color=#7F9FBF>@param</font> value - value as an array of bytes.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken assign(String id, <font color=#7F0055>byte</font>[] value, DoneAssign done);
@@ -480,21 +479,21 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
<font color=#7F0055>interface</font> DoneAssign {
<font color=#3F5FBF>/**
* Called when assign command is done.
- * @param token - command handle
- * @param error - error description if operation failed, null if succeeded.
+ * <font color=#7F9FBF>@param</font> token - command handle
+ * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
*/</font>
<font color=#7F0055>void</font> doneAssign(IToken token, Exception error);
}
<font color=#3F5FBF>/**
* Add expressions service event listener.
- * @param listener - event listener implementation.
+ * <font color=#7F9FBF>@param</font> listener - event listener implementation.
*/</font>
<font color=#7F0055>void</font> addListener(ExpressionsListener listener);
<font color=#3F5FBF>/**
* Remove expressions service event listener.
- * @param listener - event listener implementation.
+ * <font color=#7F9FBF>@param</font> listener - event listener implementation.
*/</font>
<font color=#7F0055>void</font> removeListener(ExpressionsListener listener);
@@ -511,7 +510,7 @@ C &bull; <i>&lt;token&gt;</i> &bull; Expressions &bull; getChildren &bull; <i>&l
* Not every change is notified - it is not possible,
* only those, which are not caused by normal execution of the debuggee.
* At least, changes caused by "assign" command should be notified.
- * @param id - expression context ID.
+ * <font color=#7F9FBF>@param</font> id - expression context ID.
*/</font>
<font color=#7F0055>void</font> valueChanged(String id);
}
diff --git a/docs/TCF Service - File System.html b/docs/TCF Service - File System.html
index d23a7d9ec..01ddbcad4 100644
--- a/docs/TCF Service - File System.html
+++ b/docs/TCF Service - File System.html
@@ -600,11 +600,67 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
* File System service provides file transfer (and more generally file
* system access) functionality in TCF. The service design is
* derived from SSH File Transfer Protocol specifications.
+ *
+ * Request Synchronization and Reordering
+ *
+ * The protocol and implementations MUST process requests relating to
+ * the same file in the order in which they are received. In other
+ * words, if an application submits multiple requests to the server, the
+ * results in the responses will be the same as if it had sent the
+ * requests one at a time and waited for the response in each case. For
+ * example, the server may process non-overlapping read/write requests
+ * to the same file in parallel, but overlapping reads and writes cannot
+ * be reordered or parallelized. However, there are no ordering
+ * restrictions on the server for processing requests from two different
+ * file transfer connections. The server may interleave and parallelize
+ * them at will.
+ *
+ * There are no restrictions on the order in which responses to
+ * outstanding requests are delivered to the client, except that the
+ * server must ensure fairness in the sense that processing of no
+ * request will be indefinitely delayed even if the client is sending
+ * other requests so that there are multiple outstanding requests all
+ * the time.
+ *
+ * There is no limit on the number of outstanding (non-acknowledged)
+ * requests that the client may send to the server. In practice this is
+ * limited by the buffering available on the data stream and the queuing
+ * performed by the server. If the server's queues are full, it should
+ * not read any more data from the stream, and flow control will prevent
+ * the client from sending more requests.
+ *
+ * File Names
+ *
+ * This protocol represents file names as strings. File names are
+ * assumed to use the slash ('/') character as a directory separator.
+ *
+ * File names starting with a slash are "absolute", and are relative to
+ * the root of the file system. Names starting with any other character
+ * are relative to the user's default directory (home directory). Client
+ * can use 'user()' command to retrieve current user home directory.
+ *
+ * Servers SHOULD interpret a path name component ".." as referring to
+ * the parent directory, and "." as referring to the current directory.
+ * If the server implementation limits access to certain parts of the
+ * file system, it must be extra careful in parsing file names when
+ * enforcing such restrictions. There have been numerous reported
+ * security bugs where a ".." in a path name has allowed access outside
+ * the intended area.
+ *
+ * An empty path name is valid, and it refers to the user's default
+ * directory (usually the user's home directory).
+ *
+ * Otherwise, no syntax is defined for file names by this specification.
+ * Clients should not make any other assumptions; however, they can
+ * splice path name components returned by readdir() together
+ * using a slash ('/') as the separator, and that will work as expected.
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
*/</font>
<font color=#7F0055>public interface</font> IFileSystem <font color=#7F0055>extends</font> IService {
<font color=#3F5FBF>/**
- * Service name.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/</font>
<font color=#7F0055>static final</font> String NAME = "FileSystem";
@@ -710,23 +766,38 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
<font color=#7F0055>public final</font> Map&lt;String,Object&gt; attributes;
<font color=#7F0055>public</font> FileAttrs(<font color=#7F0055>int</font> flags, <font color=#7F0055>long</font> size, <font color=#7F0055>int</font> uid, <font color=#7F0055>int</font> gid,
- <font color=#7F0055>int</font> permissions, <font color=#7F0055>long</font> atime, <font color=#7F0055>long</font> mtime, Map&lt;String,Object&gt; attributes);
+ <font color=#7F0055>int</font> permissions, <font color=#7F0055>long</font> atime, <font color=#7F0055>long</font> mtime, Map&lt;String,Object&gt; attributes) {
+ <font color=#7F0055>this</font>.flags = flags;
+ <font color=#7F0055>this</font>.size = size;
+ <font color=#7F0055>this</font>.uid = uid;
+ <font color=#7F0055>this</font>.gid = gid;
+ <font color=#7F0055>this</font>.permissions = permissions;
+ <font color=#7F0055>this</font>.atime = atime;
+ <font color=#7F0055>this</font>.mtime = mtime;
+ <font color=#7F0055>this</font>.attributes = attributes;
+ }
<font color=#3F5FBF>/**
* Determines if the file system object is a file on the remote file system.
*
- * @return true if and only if the object on the remote system can be considered to have "contents" that
+ * <font color=#7F9FBF>@return</font> true if and only if the object on the remote system can be considered to have "contents" that
* have the potential to be read and written as a byte stream.
*/</font>
- <font color=#7F0055>public boolean</font> isFile();
+ <font color=#7F0055>public</font> <font color=#7F0055>boolean</font> isFile() {
+ if ((flags & ATTR_PERMISSIONS) == 0) return false;
+ return (permissions & S_IFMT) == S_IFREG;
+ }
<font color=#3F5FBF>/**
* Determines if the file system object is a directory on the remote file system.
*
- * @return true if and only if the object on the remote system is a directory.
+ * <font color=#7F9FBF>@return</font> true if and only if the object on the remote system is a directory.
* That is, it contains entries that can be interpreted as other files.
*/</font>
- <font color=#7F0055>public boolean</font> isDirectory();
+ <font color=#7F0055>public</font> <font color=#7F0055>boolean</font> isDirectory() {
+ if ((flags & ATTR_PERMISSIONS) == 0) return false;
+ return (permissions & S_IFMT) == S_IFDIR;
+ }
}
<font color=#3F5FBF>/**
@@ -754,7 +825,7 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
S_IXGRP = 00010, // group has execute permission
S_IRWXO = 00007, // mask for permissions for others (not in group)
S_IROTH = 00004, // others have read permission
- S_IWOTH = 00002, // others have write permisson
+ S_IWOTH = 00002, // others have write permission
S_IXOTH = 00001; // others have execute permission
<font color=#7F0055>final static class</font> DirEntry {
@@ -781,7 +852,11 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
*/</font>
<font color=#7F0055>public final</font> FileAttrs attrs;
- <font color=#7F0055>public</font> DirEntry(String filename, String longname, FileAttrs attrs);
+ <font color=#7F0055>public</font> DirEntry(String filename, String longname, FileAttrs attrs) {
+ <font color=#7F0055>this</font>.filename = filename;
+ <font color=#7F0055>this</font>.longname = longname;
+ <font color=#7F0055>this</font>.attrs = attrs;
+ }
}
<font color=#3F5FBF>/**
@@ -817,20 +892,25 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
*/</font>
STATUS_PERMISSION_DENIED = 0x10003;
-
<font color=#3F5FBF>/**
* The class to represent File System error reports.
*/</font>
- <font color=#7F0055>abstract static class</font> FileSystemException extends IOException {
+ @SuppressWarnings("serial")
+ <font color=#7F0055>abstract static class</font> FileSystemException <font color=#7F0055>extends</font> IOException {
- <font color=#7F0055>protected</font> FileSystemException(String message);
+ <font color=#7F0055>protected</font> FileSystemException(String message) {
+ super(message);
+ }
- <font color=#7F0055>protected</font> FileSystemException(Exception x)
+ <font color=#7F0055>protected</font> FileSystemException(Exception x) {
+ super(x.getMessage());
+ initCause(x);
+ }
<font color=#3F5FBF>/**
* Get error code. The code can be standard TCF error code or
* one of service specific codes, see STATUS_*.
- * @return error code.
+ * <font color=#7F9FBF>@return</font> error code.
*/</font>
<font color=#7F0055>public abstract int</font> getStatus();
}
@@ -838,12 +918,12 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
<font color=#3F5FBF>/**
* Open or create a file on a remote system.
*
- * @param file_name specifies the file name. See 'File Names' for more information.
- * @param flags is a bit mask of TCF_O_* flags.
- * @param attrs specifies the initial attributes for the file.
+ * <font color=#7F9FBF>@param</font> file_name specifies the file name. See 'File Names' for more information.
+ * <font color=#7F9FBF>@param</font> flags is a bit mask of TCF_O_* flags.
+ * <font color=#7F9FBF>@param</font> attrs specifies the initial attributes for the file.
* Default values will be used for those attributes that are not specified.
- * @param done is call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> done is call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken open(String file_name, <font color=#7F0055>int</font> flags, FileAttrs attrs, DoneOpen done);
@@ -854,10 +934,10 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
<font color=#3F5FBF>/**
* Close a file on a remote system.
*
- * @param handle is a handle previously returned in the response to
+ * <font color=#7F9FBF>@param</font> handle is a handle previously returned in the response to
* open() or opendir().
- * @param done is call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> done is call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken close(IFileHandle handle, DoneClose done);
@@ -876,17 +956,18 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
* that this will read the specified number of bytes, or up to end of file
* or error. For e.g. device files this may return fewer bytes than requested.
*
- * @param handle is an open file handle returned by open().
- * @param offset is the offset (in bytes) relative
+ * <font color=#7F9FBF>@param</font> handle is an open file handle returned by open().
+ * <font color=#7F9FBF>@param</font> offset is the offset (in bytes) relative
* to the beginning of the file from where to start reading.
- * @param len is the maximum number of bytes to read.
- * @param done is call back object.
- * @return pending command handle.
+ * If offset &lt; 0 then reading starts from current position in the file.
+ * <font color=#7F9FBF>@param</font> len is the maximum number of bytes to read.
+ * <font color=#7F9FBF>@param</font> done is call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
- IToken read(IFileHandle handle, long offset, <font color=#7F0055>int</font> len, DoneRead done);
+ IToken read(IFileHandle handle, <font color=#7F0055>long</font> offset, <font color=#7F0055>int</font> len, DoneRead done);
<font color=#7F0055>interface</font> DoneRead {
- <font color=#7F0055>void</font> doneRead(IToken token, FileSystemException error, byte[] data, boolean eof);
+ <font color=#7F0055>void</font> doneRead(IToken token, FileSystemException error, <font color=#7F0055>byte</font>[] data, <font color=#7F0055>boolean</font> eof);
}
<font color=#3F5FBF>/**
@@ -896,17 +977,18 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
* are to write zeroes from the end of the file to the specified offset
* and then the data.
*
- * @param handle is an open file handle returned by open().
- * @param offset is the offset (in bytes) relative
+ * <font color=#7F9FBF>@param</font> handle is an open file handle returned by open().
+ * <font color=#7F9FBF>@param</font> offset is the offset (in bytes) relative
* to the beginning of the file from where to start writing.
- * @param data is byte array that contains data for writing.
- * @param data_pos if offset in 'data' of first byte to write.
- * @param data_size is the number of bytes to write.
- * @param done is call back object.
- * @return pending command handle.
+ * If offset &lt; 0 then writing starts from current position in the file.
+ * <font color=#7F9FBF>@param</font> data is byte array that contains data for writing.
+ * <font color=#7F9FBF>@param</font> data_pos if offset in 'data' of first byte to write.
+ * <font color=#7F9FBF>@param</font> data_size is the number of bytes to write.
+ * <font color=#7F9FBF>@param</font> done is call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
- IToken write(IFileHandle handle, long offset,
- byte[] data, <font color=#7F0055>int</font> data_pos, <font color=#7F0055>int</font> data_size, DoneWrite done);
+ IToken write(IFileHandle handle, <font color=#7F0055>long</font> offset,
+ <font color=#7F0055>byte</font>[] data, <font color=#7F0055>int</font> data_pos, <font color=#7F0055>int</font> data_size, DoneWrite done);
<font color=#7F0055>interface</font> DoneWrite {
<font color=#7F0055>void</font> doneWrite(IToken token, FileSystemException error);
@@ -915,10 +997,10 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
<font color=#3F5FBF>/**
* Retrieve file attributes.
*
- * @param path - specifies the file system object for which
+ * <font color=#7F9FBF>@param</font> path - specifies the file system object for which
* status is to be returned.
- * @param done is call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> done is call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken stat(String path, DoneStat done);
@@ -926,19 +1008,19 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
* Retrieve file attributes.
* Unlike 'stat()', 'lstat()' does not follow symbolic links.
*
- * @param path - specifies the file system object for which
+ * <font color=#7F9FBF>@param</font> path - specifies the file system object for which
* status is to be returned.
- * @param done is call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> done is call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken lstat(String path, DoneStat done);
<font color=#3F5FBF>/**
* Retrieve file attributes for an open file (identified by the file handle).
*
- * @param handle is a file handle returned by 'open()'.
- * @param done is call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> handle is a file handle returned by 'open()'.
+ * <font color=#7F9FBF>@param</font> done is call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken fstat(IFileHandle handle, DoneStat done);
@@ -954,11 +1036,11 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
* not exist or the user does not have sufficient rights to modify the
* specified attributes.
*
- * @param path specifies the file system object (e.g. file or directory)
+ * <font color=#7F9FBF>@param</font> path specifies the file system object (e.g. file or directory)
* whose attributes are to be modified.
- * @param attrs specifies the modifications to be made to file attributes.
- * @param done is call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> attrs specifies the modifications to be made to file attributes.
+ * <font color=#7F9FBF>@param</font> done is call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken setstat(String path, FileAttrs attrs, DoneSetStat done);
@@ -967,10 +1049,10 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
* This request is used for operations such as changing the ownership,
* permissions or access times, as well as for truncating a file.
*
- * @param handle is a file handle returned by 'open()'.
- * @param attrs specifies the modifications to be made to file attributes.
- * @param done is call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> handle is a file handle returned by 'open()'.
+ * <font color=#7F9FBF>@param</font> attrs specifies the modifications to be made to file attributes.
+ * <font color=#7F9FBF>@param</font> done is call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken fsetstat(IFileHandle handle, FileAttrs attrs, DoneSetStat done);
@@ -986,9 +1068,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
* directory, it SHOULD call close() for the handle. The handle
* should be closed regardless of whether an error has occurred or not.
- * @param path - name of the directory to be listed (without any trailing slash).
- * @param done - result call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> path - name of the directory to be listed (without any trailing slash).
+ * <font color=#7F9FBF>@param</font> done - result call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken opendir(String path, DoneOpen done);
@@ -1002,23 +1084,23 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
* close the handle using the close() request.
* Note: directory entries "." and ".." are NOT included into readdir()
* response.
- * @param handle - file handle created by opendir()
- * @param done - result call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> handle - file handle created by opendir()
+ * <font color=#7F9FBF>@param</font> done - result call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken readdir(IFileHandle handle, DoneReadDir done);
<font color=#7F0055>interface</font> DoneReadDir {
- <font color=#7F0055>void</font> doneReadDir(IToken token, FileSystemException error, DirEntry[] entries, boolean eof);
+ <font color=#7F0055>void</font> doneReadDir(IToken token, FileSystemException error, DirEntry[] entries, <font color=#7F0055>boolean</font> eof);
}
<font color=#3F5FBF>/**
* Create a directory on the server.
*
- * @param path - specifies the directory to be created.
- * @param attrs - new directory attributes.
- * @param done - result call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> path - specifies the directory to be created.
+ * <font color=#7F9FBF>@param</font> attrs - new directory attributes.
+ * <font color=#7F9FBF>@param</font> done - result call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken mkdir(String path, FileAttrs attrs, DoneMkDir done);
@@ -1033,9 +1115,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
* empty, or if the path specified a file system object other than a
* directory.
*
- * @param path - specifies the directory to be removed.
- * @param done - result call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> path - specifies the directory to be removed.
+ * <font color=#7F9FBF>@param</font> done - result call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken rmdir(String path, DoneRemove done);
@@ -1052,8 +1134,8 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
* absolute path with "/". Server should implement proper translation of
* protocol file names to OS native names and back.
*
- * @param done - result call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> done - result call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken roots(DoneRoots done);
@@ -1065,9 +1147,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
* Remove a file or symbolic link.
* This request cannot be used to remove directories.
*
- * @param file_name is the name of the file to be removed.
- * @param done - result call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> file_name is the name of the file to be removed.
+ * <font color=#7F9FBF>@param</font> done - result call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken remove(String file_name, DoneRemove done);
@@ -1076,9 +1158,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
* This is useful for converting path names containing ".." components or
* relative pathnames without a leading slash into absolute paths.
*
- * @param path specifies the path name to be canonicalized.
- * @param done - result call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> path specifies the path name to be canonicalized.
+ * <font color=#7F9FBF>@param</font> done - result call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken realpath(String path, DoneRealPath done);
@@ -1093,10 +1175,10 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
* requests in other situations, for example if `old_path' and `new_path'
* point to different file systems on the server.
*
- * @param old_path is the name of an existing file or directory.
- * @param new_path is the new name for the file or directory.
- * @param done - result call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> old_path is the name of an existing file or directory.
+ * <font color=#7F9FBF>@param</font> new_path is the new name for the file or directory.
+ * <font color=#7F9FBF>@param</font> done - result call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken rename(String old_path, String new_path, DoneRename done);
@@ -1107,9 +1189,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
<font color=#3F5FBF>/**
* Read the target of a symbolic link.
*
- * @param path specifies the path name of the symbolic link to be read.
- * @param done - result call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> path specifies the path name of the symbolic link to be read.
+ * <font color=#7F9FBF>@param</font> done - result call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken readlink(String path, DoneReadLink done);
@@ -1120,10 +1202,10 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
<font color=#3F5FBF>/**
* Create a symbolic link on the server.
*
- * @param link_path specifies the path name of the symbolic link to be created.
- * @param target_path specifies the target of the symbolic link.
- * @param done - result call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> link_path specifies the path name of the symbolic link to be created.
+ * <font color=#7F9FBF>@param</font> target_path specifies the target of the symbolic link.
+ * <font color=#7F9FBF>@param</font> done - result call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken symlink(String link_path, String target_path, DoneSymLink done);
@@ -1134,15 +1216,15 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
<font color=#3F5FBF>/**
* Copy a file on remote system.
*
- * @param src_path specifies the path name of the file to be copied.
- * @param dst_path specifies destination file name.
- * @param copy_permissions - if true then copy source file permissions.
- * @param copy_ownership - if true then copy source file UID and GID.
- * @param done - result call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> src_path specifies the path name of the file to be copied.
+ * <font color=#7F9FBF>@param</font> dst_path specifies destination file name.
+ * <font color=#7F9FBF>@param</font> copy_permissions - if true then copy source file permissions.
+ * <font color=#7F9FBF>@param</font> copy_ownership - if true then copy source file UID and GID.
+ * <font color=#7F9FBF>@param</font> done - result call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken copy(String src_path, String dst_path,
- boolean copy_permissions, boolean copy_ownership, DoneCopy done);
+ <font color=#7F0055>boolean</font> copy_permissions, <font color=#7F0055>boolean</font> copy_ownership, DoneCopy done);
<font color=#7F0055>interface</font> DoneCopy {
<font color=#7F0055>void</font> doneCopy(IToken token, FileSystemException error);
@@ -1152,8 +1234,8 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;int: real UID&gt;</i> &bull; <i>&lt;
* Retrieve information about user account, which is used by server
* to access file system on behalf of the client.
*
- * @param done - result call back object.
- * @return pending command handle.
+ * <font color=#7F9FBF>@param</font> done - result call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle.
*/</font>
IToken user(DoneUser done);
diff --git a/docs/TCF Service - Line Numbers.html b/docs/TCF Service - Line Numbers.html
index 3888cf5ca..d7203bd83 100644
--- a/docs/TCF Service - Line Numbers.html
+++ b/docs/TCF Service - Line Numbers.html
@@ -12,6 +12,10 @@
<li><a href='#VersionHistory'>Version History</a>
<li><a href='#Overview'>Overview</a>
<li><a href='#Cmds'>Commands</a>
+ <ul>
+ <li><a href='#CmdMapToSource'>Map To Source</a>
+ <li><a href='#CmdMapToMemory'>Map To Memory</a>
+ </ul>
<li><a href='#API'>API</a>
</ul>
@@ -32,14 +36,312 @@
<h2><a name='Overview'>Overview</a></h2>
+<p>Line numbers service associates locations in the source files with the corresponding
+machine instruction addresses in the executable object.</p>
+
+<p>Line number information is searched in symbol files of a debug context.
+The symbol file list is handled by <a href='TCF Service - Memory Map.html'>Memory Map Service</a>.</p>
+
+<p>Results of line information searches are arrays of Code Area objects. Code Area represents a continues area in source text mapped to
+continues range of code addresses. Code Area data object is collection of area properties.</p>
+
+<p>Lines are numbered beginning at 1.</p>
+
+<p>Columns are numbered beginning at 1. The value 0 is reserved to indicate that a code area begins at the "left edge" of the line.
+ Absence of column property means same as value 0.</p>
+
+<p>Predefined Code Area properties are:</p>
+<ul>
+ <li><code><b><font face="Courier New" size=2 color=#333399>"SLine" : <i>&lt;number&gt;</i></font></b></code>
+ - line number of the start of the area in the source file.
+
+ <li><code><b><font face="Courier New" size=2 color=#333399>"SCol" : <i>&lt;number&gt;</i></font></b></code>
+ - column number of the start of the area in the source file.
+
+ <li><code><b><font face="Courier New" size=2 color=#333399>"SAddr" : <i>&lt;number&gt;</i></font></b></code>
+ - address of the start of the area in memory.
+
+ <li><code><b><font face="Courier New" size=2 color=#333399>"ELine" : <i>&lt;number&gt;</i></font></b></code>
+ - line number of the end of the area in the source file.
+
+ <li><code><b><font face="Courier New" size=2 color=#333399>"ECol" : <i>&lt;number&gt;</i></font></b></code>
+ - column number of the end of the area in the source file.
+
+ <li><code><b><font face="Courier New" size=2 color=#333399>"EAddr" : <i>&lt;number&gt;</i></font></b></code>
+ - address of the end of the area in memory.
+
+ <li><code><b><font face="Courier New" size=2 color=#333399>"NAddr" : <i>&lt;number&gt;</i></font></b></code>
+ - address of the next area in the source file.
+
+ <li><code><b><font face="Courier New" size=2 color=#333399>"File" : <i>&lt;string&gt;</i></font></b></code>
+ - name of the source file corresponding to the area. It can be relative to "Dir".
+
+ <li><code><b><font face="Courier New" size=2 color=#333399>"Dir" : <i>&lt;string&gt;</i></font></b></code>
+ - directory name of of the source file corresponding to the area.
+
+ <li><code><b><font face="Courier New" size=2 color=#333399>"ISA" : <i>&lt;number&gt;</i></font></b></code>
+ - an integer whose value encodes the applicable instruction set architecture for the area.
+
+ <li><code><b><font face="Courier New" size=2 color=#333399>"IsStmt" : <i>&lt;boolean&gt;</i></font></b></code>
+ - a boolean indicating that the area is a recommended breakpoint location.
+ A recommended breakpoint location is intended to "represent" a line, a statement and/or a semantically distinct subpart of a statement.
+
+ <li><code><b><font face="Courier New" size=2 color=#333399>"BasicBlock" : <i>&lt;boolean&gt;</i></font></b></code>
+ - a boolean indicating that the area is the beginning of a basic block.
+
+ <li><code><b><font face="Courier New" size=2 color=#333399>"PrologueEnd" : <i>&lt;boolean&gt;</i></font></b></code>
+ - a boolean indicating that the area is one (of possibly many) where execution should be suspended for an entry breakpoint of a function.
+
+ <li><code><b><font face="Courier New" size=2 color=#333399>"EpilogueBegin" : <i>&lt;boolean&gt;</i></font></b></code>
+ - a boolean indicating that the area is one (of possibly many) where execution should be suspended for an exit breakpoint of a function.
+
+ <li><code><b><font face="Courier New" size=2 color=#333399>"OpIndex" : <i>&lt;number&gt;</i></font></b></code>
+ - an integer representing the index of an operation within a VLIW instruction.
+ The index of the first operation is 0. For non-VLIW architectures, this is either 0 or absent.
+
+ <li><code><b><font face="Courier New" size=2 color=#333399>"Discriminator" : <i>&lt;number&gt;</i></font></b></code>
+ - an integer identifying the block to which the area belongs.
+ Discriminator values are assigned arbitrarily by the debug information producer and serve to distinguish among
+ multiple blocks that may all be associated with the same source file, line, and column.
+ Where only one block exists for a given source position, the discriminator value should be either 0 or absent.
+
+ <li><code><b><font face="Courier New" size=2 color=#333399>"NStmtAddr" : <i>&lt;number&gt;</i></font></b></code>
+ - address of the next recommended breakpoint location (start of statement).
+</ul>
+
+<pre><b><font face="Courier New" size=2 color=#333399>
+<i>&lt;array of code areas&gt;</i>
+ &rArr; null
+ &rArr; [ <i>&lt;code area list&gt;</i> ]
+
+<i>&lt;code area list&gt;</i>
+ &rArr; <i>&lt;Code Area: object&gt;</i>
+ &rArr; <i>&lt;code area list&gt;</i> , <i>&lt;Code Area: object&gt;</i>
+</font></b></pre>
+
<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='CmdMapToSource'>Map To Source</a></h3>
+
+<pre><b><font face="Courier New" size=2 color=#333399>
+C &bull; <i>&lt;token&gt;</i> &bull; LineNumbers &bull; mapToSource &bull; <i>&lt;string: context ID&gt;</i> &bull; <i>&lt;number: start address&gt;</i> &bull; <i>&lt;number: end address&gt;</i> &bull;
+</font></b></pre>
+
+<p>The command searches line number information for given range of memory addresses of a context.</p>
+
+<p>The reply contains an array of Code Area objects:</p>
+<pre><b><font face="Courier New" size=2 color=#333399>
+R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;array of code areas&gt;</i> &bull;
+</font></b></pre>
+
+<h3><a name='CmdMapToMemory'>Map To Memory</a></h3>
+
+<pre><b><font face="Courier New" size=2 color=#333399>
+C &bull; <i>&lt;token&gt;</i> &bull; LineNumbers &bull; mapToMemory &bull; <i>&lt;string: context ID&gt;</i> &bull; <i>&lt;string: file&gt;</i> &bull; <i>&lt;number: line&gt;</i> &bull; <i>&lt;number: column&gt;</i> &bull;
+</font></b></pre>
+
+<p>The command searches line number information for given source file name, line and column.</p>
+
+<p>The reply contains an array of Code Area objects:</p>
+<pre><b><font face="Courier New" size=2 color=#333399>
+R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;array of code areas&gt;</i> &bull;
+</font></b></pre>
+
<h2><a name='API'>API</a></h2>
<pre>
+<font color=#3F5FBF>/**
+ * Line numbers service associates locations in the source files with the corresponding
+ * machine instruction addresses in the executable object.
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
+ */</font>
+<font color=#7F0055>public interface</font> ILineNumbers <font color=#7F0055>extends</font> IService {
+
+ <font color=#7F0055>static final</font> String NAME = "LineNumbers";
+
+ <font color=#3F5FBF>/**
+ * CodeArea represent a continues area in source text mapped to
+ * continues range of code addresses.
+ * Line and columns are counted starting from 1.
+ * File name can be relative path, in such case client should
+ * use CodeArea directory name as origin for the path.
+ * File and directory names are valid on a host where code was compiled.
+ * It is client responsibility to map names to this host file system.
+ */</font>
+ <font color=#7F0055>final class</font> CodeArea {
+ <font color=#7F0055>public final</font> String directory;
+ <font color=#7F0055>public final</font> String file;
+ <font color=#7F0055>public final int</font> start_line;
+ <font color=#7F0055>public final int</font> start_column;
+ <font color=#7F0055>public final int</font> end_line;
+ <font color=#7F0055>public final int</font> end_column;
+ <font color=#7F0055>public final</font> Number start_address;
+ <font color=#7F0055>public final</font> Number end_address;
+ <font color=#7F0055>public final int</font> isa;
+ <font color=#7F0055>public final</font> <font color=#7F0055>boolean</font> is_statement;
+ <font color=#7F0055>public final</font> <font color=#7F0055>boolean</font> basic_block;
+ <font color=#7F0055>public final</font> <font color=#7F0055>boolean</font> prologue_end;
+ <font color=#7F0055>public final</font> <font color=#7F0055>boolean</font> epilogue_begin;
+
+ <font color=#7F0055>public</font> CodeArea(String directory, String file, <font color=#7F0055>int</font> start_line, <font color=#7F0055>int</font> start_column,
+ <font color=#7F0055>int</font> end_line, <font color=#7F0055>int</font> end_column, Number start_address, Number end_address, <font color=#7F0055>int</font> isa,
+ <font color=#7F0055>boolean</font> is_statement, <font color=#7F0055>boolean</font> basic_block,
+ <font color=#7F0055>boolean</font> prologue_end, <font color=#7F0055>boolean</font> epilogue_begin) {
+ <font color=#7F0055>this</font>.directory = directory;
+ <font color=#7F0055>this</font>.file = file;
+ <font color=#7F0055>this</font>.start_line = start_line;
+ <font color=#7F0055>this</font>.start_column = start_column;
+ <font color=#7F0055>this</font>.end_line = end_line;
+ <font color=#7F0055>this</font>.end_column = end_column;
+ <font color=#7F0055>this</font>.start_address = start_address;
+ <font color=#7F0055>this</font>.end_address = end_address;
+ <font color=#7F0055>this</font>.isa = isa;
+ <font color=#7F0055>this</font>.is_statement = is_statement;
+ <font color=#7F0055>this</font>.basic_block = basic_block;
+ <font color=#7F0055>this</font>.prologue_end = prologue_end;
+ <font color=#7F0055>this</font>.epilogue_begin = epilogue_begin;
+ }
+
+ <font color=#3F5FBF>/**
+ * <font color=#7F9FBF>@since</font> 1.3
+ */</font>
+ <font color=#7F0055>public</font> CodeArea(Map&lt;String,Object&gt; area, CodeArea prev) {
+ this(getString(area, "Dir", prev != null ? prev.directory : null),
+ getString(area, "File", prev != null ? prev.file : null),
+ getInteger(area, "SLine", 0), getInteger(area, "SCol", 0),
+ getInteger(area, "ELine", 0), getInteger(area, "ECol", 0),
+ (Number)area.get("SAddr"), (Number)area.get("EAddr"),
+ getInteger(area, "ISA", 0),
+ getBoolean(area, "IsStmt"), getBoolean(area, "BasicBlock"),
+ getBoolean(area, "PrologueEnd"), getBoolean(area, "EpilogueBegin"));
+ }
+
+ private static <font color=#7F0055>int</font> getInteger(Map&lt;String,Object&gt; map, String name, <font color=#7F0055>int</font> def) {
+ Number n = (Number)map.get(name);
+ if (n == null) return def;
+ return n.intValue();
+ }
+
+ private static String getString(Map&lt;String,Object&gt; map, String name, String def) {
+ String s = (String)map.get(name);
+ if (s == null) return def;
+ return s;
+ }
+
+ private static <font color=#7F0055>boolean</font> getBoolean(Map&lt;String,Object&gt; map, String name) {
+ Boolean b = (Boolean)map.get(name);
+ if (b == null) return false;
+ return b.booleanValue();
+ }
+
+ @Override
+ <font color=#7F0055>public</font> <font color=#7F0055>boolean</font> equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof CodeArea)) return false;
+ CodeArea a = (CodeArea)o;
+ if (start_line != a.start_line) return false;
+ if (start_column != a.start_column) return false;
+ if (end_line != a.end_line) return false;
+ if (end_column != a.end_column) return false;
+ if (isa != a.isa) return false;
+ if (is_statement != a.is_statement) return false;
+ if (basic_block != a.basic_block) return false;
+ if (prologue_end != a.prologue_end) return false;
+ if (epilogue_begin != a.epilogue_begin) return false;
+ if (start_address != null && !start_address.equals(a.start_address)) return false;
+ if (start_address == null && a.start_address != null) return false;
+ if (end_address != null && !end_address.equals(a.end_address)) return false;
+ if (end_address == null && a.end_address != null) return false;
+ if (file != null && !file.equals(a.file)) return false;
+ if (file == null && a.file != null) return false;
+ if (directory != null && !directory.equals(a.directory)) return false;
+ if (directory == null && a.directory != null) return false;
+ return true;
+ }
+
+ @Override
+ <font color=#7F0055>public</font> <font color=#7F0055>int</font> hashCode() {
+ <font color=#7F0055>int</font> h = 0;
+ if (file != null) h += file.hashCode();
+ return h + start_line + start_column + end_line + end_column;
+ }
+
+ @Override
+ <font color=#7F0055>public</font> String toString() {
+ StringBuffer bf = new StringBuffer();
+ bf.append('[');
+ if (directory != null) {
+ bf.append(directory);
+ bf.append(':');
+ }
+ if (file != null) {
+ bf.append(file);
+ bf.append(':');
+ }
+ bf.append(start_line);
+ if (start_column != 0) {
+ bf.append('.');
+ bf.append(start_column);
+ }
+ bf.append("..");
+ bf.append(end_line);
+ if (end_column != 0) {
+ bf.append('.');
+ bf.append(end_column);
+ }
+ bf.append(" -&gt; ");
+ if (start_address != null) {
+ bf.append("0x");
+ bf.append(JSON.toBigInteger(start_address).toString(16));
+ }
+ else {
+ bf.append('0');
+ }
+ bf.append("..");
+ if (end_address != null) {
+ bf.append("0x");
+ bf.append(JSON.toBigInteger(end_address).toString(16));
+ }
+ else {
+ bf.append('0');
+ }
+ if (isa != 0) {
+ bf.append(",isa ");
+ bf.append(isa);
+ }
+ if (is_statement) {
+ bf.append(",statement");
+ }
+ if (basic_block) {
+ bf.append(",basic block");
+ }
+ if (prologue_end) {
+ bf.append(",prologue end");
+ }
+ if (epilogue_begin) {
+ bf.append(",epilogue begin");
+ }
+ bf.append(']');
+ return bf.toString();
+ }
+ }
+
+ IToken mapToSource(String context_id, Number start_address, Number end_address, DoneMapToSource done);
+
+ <font color=#7F0055>interface</font> DoneMapToSource {
+ <font color=#7F0055>void</font> doneMapToSource(IToken token, Exception error, CodeArea[] areas);
+ }
+
+ IToken mapToMemory(String context_id, String file, <font color=#7F0055>int</font> line, <font color=#7F0055>int</font> column, DoneMapToMemory done);
+
+ <font color=#7F0055>interface</font> DoneMapToMemory {
+ <font color=#7F0055>void</font> doneMapToMemory(IToken token, Exception error, CodeArea[] areas);
+ }
+}
</pre>
</body>
diff --git a/docs/TCF Service - Memory Map.html b/docs/TCF Service - Memory Map.html
index 036991f2c..f2b5d179d 100644
--- a/docs/TCF Service - Memory Map.html
+++ b/docs/TCF Service - Memory Map.html
@@ -134,32 +134,66 @@ E &bull; MemoryMap &bull; changed &bull; <i>&lt;string: context ID&gt;</i> &bull
<pre>
<font color=#3F5FBF>/**
* IMemoryMap service provides information about executable modules (files) mapped (loaded) into target memory.
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
*/</font>
<font color=#7F0055>public interface</font> IMemoryMap <font color=#7F0055>extends</font> IService {
+ <font color=#3F5FBF>/**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */</font>
<font color=#7F0055>static final</font> String NAME = "MemoryMap";
<font color=#3F5FBF>/**
* Memory region property names.
*/</font>
- <font color=#7F0055>static final</font> String
- PROP_ID = "ID", <font color=#3F5FBF>/** String, memory region ID */</font>
- PROP_CONTEXT_QUERY = "ContextQuery", <font color=#3F5FBF>/** String, memory region context query, see IContextQuery */</font>
- PROP_ADDRESS = "Addr", <font color=#3F5FBF>/** Number, region address in memory */</font>
- PROP_SIZE = "Size", <font color=#3F5FBF>/** Number, region size */</font>
- PROP_OFFSET = "Offs", <font color=#3F5FBF>/** Number, region offset in the file */</font>
- PROP_BSS = "BSS", <font color=#3F5FBF>/** Boolean, true if the region represents BSS */</font>
- PROP_FLAGS = "Flags", <font color=#3F5FBF>/** Number, region memory protection flags, see FLAG_* */</font>
- PROP_FILE_NAME = "FileName", <font color=#3F5FBF>/** String, name of the file */</font>
- PROP_SECTION_NAME = "SectionName"; <font color=#3F5FBF>/** String, name of the object file section */</font>
+
+ <font color=#3F5FBF>/** String, memory region ID */</font>
+ <font color=#7F0055>static final</font> String PROP_ID = "ID";
+
+ <font color=#3F5FBF>/** String, memory region context query, see IContextQuery */</font>
+ <font color=#7F0055>static final</font> String PROP_CONTEXT_QUERY = "ContextQuery";
+
+ <font color=#3F5FBF>/** Number, region address in memory */</font>
+ <font color=#7F0055>static final</font> String PROP_ADDRESS = "Addr";
+
+ <font color=#3F5FBF>/** Number, region size */</font>
+ <font color=#7F0055>static final</font> String PROP_SIZE = "Size";
+
+ <font color=#3F5FBF>/** Number, region offset in the file */</font>
+ <font color=#7F0055>static final</font> String PROP_OFFSET = "Offs";
+
+ <font color=#3F5FBF>/** Boolean, true if the region represents BSS */</font>
+ <font color=#7F0055>static final</font> String PROP_BSS = "BSS";
+
+ <font color=#3F5FBF>/** Object, Operating System Awareness properties */</font>
+ <font color=#7F0055>static final</font> String PROP_OSA = "OSA";
+
+ <font color=#3F5FBF>/** Object, kernel module properties
+ * <font color=#7F9FBF>@since</font> 1.4 */</font>
+ <font color=#7F0055>static final</font> String PROP_KERNEL_MODULE = "KernelModule";
+
+ <font color=#3F5FBF>/** Number, region memory protection flags, see FLAG_* */</font>
+ <font color=#7F0055>static final</font> String PROP_FLAGS = "Flags";
+
+ <font color=#3F5FBF>/** String, name of the file */</font>
+ <font color=#7F0055>static final</font> String PROP_FILE_NAME = "FileName";
+
+ <font color=#3F5FBF>/** String, name of the object file section */</font>
+ <font color=#7F0055>static final</font> String PROP_SECTION_NAME = "SectionName";
<font color=#3F5FBF>/**
* Memory region flags.
*/</font>
- <font color=#7F0055>static final</font> int
- FLAG_READ = 1, <font color=#3F5FBF>/** Read access is allowed */</font>
- FLAG_WRITE = 2, <font color=#3F5FBF>/** Write access is allowed */</font>
- FLAG_EXECUTE = 4; <font color=#3F5FBF>/** Instruction fetch access is allowed */</font>
+ <font color=#7F0055>static final int</font>
+ <font color=#3F5FBF>/** Read access is allowed */</font>
+ FLAG_READ = 1,
+
+ <font color=#3F5FBF>/** Write access is allowed */</font>
+ FLAG_WRITE = 2,
+
+ <font color=#3F5FBF>/** Instruction fetch access is allowed */</font>
+ FLAG_EXECUTE = 4;
<font color=#3F5FBF>/**
* Memory region interface.
@@ -201,14 +235,14 @@ E &bull; MemoryMap &bull; changed &bull; <i>&lt;string: context ID&gt;</i> &bull
* Same as getProperties().get(PROP_BSS)
* <font color=#7F9FBF>@return</font> file offset.
*/</font>
- boolean isBSS();
+ <font color=#7F0055>boolean</font> isBSS();
<font color=#3F5FBF>/**
* Get memory region flags.
* Same as getProperties().get(PROP_FLAGS)
* <font color=#7F9FBF>@return</font> region flags.
*/</font>
- int getFlags();
+ <font color=#7F0055>int</font> getFlags();
<font color=#3F5FBF>/**
* Get memory region file name.
@@ -236,9 +270,9 @@ E &bull; MemoryMap &bull; changed &bull; <i>&lt;string: context ID&gt;</i> &bull
<font color=#3F5FBF>/**
* Retrieve memory map for given context ID.
*
- * <font color=#7F9FBF>@param</font> id &ndash; context ID.
- * <font color=#7F9FBF>@param</font> done &ndash; call back interface called when operation is completed.
- * <font color=#7F9FBF>@return</font> &ndash; pending command handle.
+ * <font color=#7F9FBF>@param</font> id - context ID.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken get(String id, DoneGet done);
@@ -246,10 +280,10 @@ E &bull; MemoryMap &bull; changed &bull; <i>&lt;string: context ID&gt;</i> &bull
* Client call back interface for get().
*/</font>
<font color=#7F0055>interface</font> DoneGet {
- /**
+ <font color=#3F5FBF>/**
* Called when memory map data retrieval is done.
- * <font color=#7F9FBF>@param</font> error &ndash; error description if operation failed, null if succeeded.
- * <font color=#7F9FBF>@param</font> map &ndash; memory map data.
+ * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
+ * <font color=#7F9FBF>@param</font> map - memory map data.
*/</font>
<font color=#7F0055>void</font> doneGet(IToken token, Exception error, MemoryRegion[] map);
}
@@ -261,10 +295,10 @@ E &bull; MemoryMap &bull; changed &bull; <i>&lt;string: context ID&gt;</i> &bull
*
* Using non-null 'id' is deprecated - use ContextQuery instead.
*
- * <font color=#7F9FBF>@param</font> id &ndash; symbols context group ID or name.
- * <font color=#7F9FBF>@param</font> map &ndash; memory map data.
- * <font color=#7F9FBF>@param</font> done &ndash; call back interface called when operation is completed.
- * <font color=#7F9FBF>@return</font> &ndash; pending command handle.
+ * <font color=#7F9FBF>@param</font> id - symbols context group ID or name.
+ * <font color=#7F9FBF>@param</font> map - memory map data.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken set(String id, MemoryRegion[] map, DoneSet done);
@@ -272,22 +306,22 @@ E &bull; MemoryMap &bull; changed &bull; <i>&lt;string: context ID&gt;</i> &bull
* Client call back interface for set().
*/</font>
<font color=#7F0055>interface</font> DoneSet {
- /**
+ <font color=#3F5FBF>/**
* Called when memory map set command is done.
- * <font color=#7F9FBF>@param</font> error &ndash; error description if operation failed, null if succeeded.
+ * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
*/</font>
<font color=#7F0055>void</font> doneSet(IToken token, Exception error);
}
<font color=#3F5FBF>/**
* Add memory map event listener.
- * <font color=#7F9FBF>@param</font> listener &ndash; memory map event listener to add.
+ * <font color=#7F9FBF>@param</font> listener - memory map event listener to add.
*/</font>
<font color=#7F0055>void</font> addListener(MemoryMapListener listener);
<font color=#3F5FBF>/**
* Remove memory map event listener.
- * <font color=#7F9FBF>@param</font> listener &ndash; memory map event listener to remove.
+ * <font color=#7F9FBF>@param</font> listener - memory map event listener to remove.
*/</font>
<font color=#7F0055>void</font> removeListener(MemoryMapListener listener);
@@ -298,7 +332,7 @@ E &bull; MemoryMap &bull; changed &bull; <i>&lt;string: context ID&gt;</i> &bull
<font color=#3F5FBF>/**
* Called when context memory map changes.
- * <font color=#7F9FBF>@param</font> context_id &ndash; context ID.
+ * <font color=#7F9FBF>@param</font> context_id - context ID.
*/</font>
<font color=#7F0055>void</font> changed(String context_id);
}
diff --git a/docs/TCF Service - Memory.html b/docs/TCF Service - Memory.html
index bdddf6880..7efa58933 100644
--- a/docs/TCF Service - Memory.html
+++ b/docs/TCF Service - Memory.html
@@ -347,9 +347,18 @@ E &bull; Memory &bull; memoryChanged &bull; <i>&lt;string: context ID&gt;</i> &b
<pre>
<font color=#3F5FBF>/**
* IMemory service provides basic operations to read/write memory on a target.
+ *
+ * The service represents memory addresses in number of bytes, regardless of actual addressable unit size.
+ * Clients can translate between byte and word addresses using value of "AddressableUnitSize".
+ * Byte is 8 bits.
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
*/</font>
-<font color=#7F0055>public interface</font> Memory <font color=#7F0055>extends</font> Service {
+<font color=#7F0055>public interface</font> IMemory <font color=#7F0055>extends</font> IService {
+ <font color=#3F5FBF>/**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */</font>
<font color=#7F0055>static final</font> String NAME = "Memory";
<font color=#3F5FBF>/**
@@ -365,6 +374,10 @@ E &bull; Memory &bull; memoryChanged &bull; <i>&lt;string: context ID&gt;</i> &b
PROP_START_BOUND = "StartBound", <font color=#3F5FBF>/** Number, lowest address (inclusive) which is valid for the context */</font>
PROP_END_BOUND = "EndBound", <font color=#3F5FBF>/** Number, highest address (inclusive) which is valid for the context */</font>
PROP_ACCESS_TYPES = "AccessTypes"; <font color=#3F5FBF>/** Array of String, the access types allowed for this context */</font>
+ <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.3*/
+ <font color=#7F0055>static final</font> String
+ PROP_ADDRESSABLE_UNIT_SIZE = "AddressableUnitSize", <font color=#3F5FBF>/** Number, addressable unit size in number of bytes */</font>
+ PROP_DEFAULT_WORD_SIZE = "DefaultWordSize"; <font color=#3F5FBF>/** Number, default word size in number of bytes */</font>
<font color=#3F5FBF>/**
* Values of "AccessTypes".
@@ -390,19 +403,20 @@ E &bull; Memory &bull; memoryChanged &bull; <i>&lt;string: context ID&gt;</i> &b
<font color=#3F5FBF>/**
* Retrieve context info for given context ID.
*
- * <font color=#7F9FBF>@param</font> id &ndash; context ID.
- * <font color=#7F9FBF>@param</font> done - callback interface called when operation is completed.
+ * <font color=#7F9FBF>@param</font> id - context ID.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken getContext(String id, DoneGetContext done);
<font color=#3F5FBF>/**
- * Client callback interface for getContext().
+ * Client call back 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 &ndash; error description if operation failed, null if succeeded.
- * <font color=#7F9FBF>@param</font> context &ndash; context data.
+ * Called when context 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, MemoryContext context);
}
@@ -417,21 +431,22 @@ E &bull; Memory &bull; memoryChanged &bull; <i>&lt;string: context ID&gt;</i> &b
* with same IDs, however, each service accesses its own subset of context's
* attributes and functionality, which is relevant to that service.
*
- * <font color=#7F9FBF>@param</font> parent_context_id &ndash; parent context ID. Can be null &ndash;
+ * <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 getContexts commands.
- * <font color=#7F9FBF>@param</font> done - callback interface called when operation is completed.
+ * by previous getChildren commands.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken getChildren(String parent_context_id, DoneGetChildren done);
<font color=#3F5FBF>/**
- * Client callback interface for getChildren().
+ * Client call back 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 &ndash; error description if operation failed, null if succeeded.
- * <font color=#7F9FBF>@param</font> contexts &ndash; array of available context IDs.
+ * Called when context list 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);
}
@@ -442,14 +457,17 @@ E &bull; Memory &bull; memoryChanged &bull; <i>&lt;string: context ID&gt;</i> &b
* return MemoryError at the end if any of the bytes
* were not processed correctly.
*/</font>
- <font color=#7F0055>final static int</font> MODE_CONTINUEONERROR = 0x1;
+ <font color=#7F0055>static final int</font> MODE_CONTINUEONERROR = 0x1;
<font color=#3F5FBF>/**
* Memory access mode:
* Verify result of memory operations (by reading and comparing).
*/</font>
- <font color=#7F0055>final static int</font> MODE_VERIFY = 0x2;
+ <font color=#7F0055>static final int</font> MODE_VERIFY = 0x2;
+ <font color=#3F5FBF>/**
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
+ */</font>
<font color=#7F0055>interface</font> MemoryContext {
<font color=#3F5FBF>/**
@@ -471,10 +489,10 @@ E &bull; Memory &bull; memoryChanged &bull; <i>&lt;string: context ID&gt;</i> &b
String getProcessID();
<font color=#3F5FBF>/**
- * Get memory endianess.
- * <font color=#7F9FBF>@return</font> true if memory id big-endian.
+ * Get memory endianness.
+ * <font color=#7F9FBF>@return</font> true if memory is big-endian.
*/</font>
- boolean isBigEndian();
+ <font color=#7F0055>boolean</font> isBigEndian();
<font color=#3F5FBF>/**
* Get memory address size.
@@ -505,43 +523,67 @@ E &bull; Memory &bull; memoryChanged &bull; <i>&lt;string: context ID&gt;</i> &b
* Get the access types allowed for this context.
* <font color=#7F9FBF>@return</font> collection of access type names.
*/</font>
- Collection&lt;String> getAccessTypes();
+ Collection&lt;String&gt; getAccessTypes();
+
+ <font color=#3F5FBF>/**
+ * Get this memory context's addressable unit size in number of bytes.
+ * The addressable size indicates the minimum number of bytes that
+ * can be retrieved as a single unit.
+ * <font color=#7F9FBF>@return</font> addressable unit size in bytes.
+ * <font color=#7F9FBF>@since</font> 1.3
+ */</font>
+ <font color=#7F0055>int</font> getAddressableUnitSize();
+
+ <font color=#3F5FBF>/**
+ * Get default word size in number of bytes.
+ * The size is supposed to be used as the default memory view word representation.
+ * Returns zero is word size is unknown.
+ * <font color=#7F9FBF>@return</font> word size in bytes.
+ * <font color=#7F9FBF>@since</font> 1.3
+ */</font>
+ <font color=#7F0055>int</font> getDefaultWordSize();
<font color=#3F5FBF>/**
* Get context properties.
* <font color=#7F9FBF>@return</font> all available context properties.
*/</font>
- Map&lt;String,Object> getProperties();
+ Map&lt;String,Object&gt; getProperties();
<font color=#3F5FBF>/**
* Set target memory.
* If 'word_size' is 0 it means client does not care about word size.
*/</font>
- <font color=#7F0055>void</font> set(long addr, <font color=#7F0055>int</font> word_size, byte[] buf,
- <font color=#7F0055>int</font> offs, <font color=#7F0055>int</font> size, <font color=#7F0055>int</font> mode, DoneMemory done);
+ IToken set(Number addr, <font color=#7F0055>int</font> word_size, <font color=#7F0055>byte</font>[] buf,
+ <font color=#7F0055>int</font> offs, <font color=#7F0055>int</font> size, <font color=#7F0055>int</font> mode, DoneMemory done);
<font color=#3F5FBF>/**
* Read target memory.
*/</font>
- <font color=#7F0055>void</font> get(long addr, <font color=#7F0055>int</font> word_size, byte[] buf,
- <font color=#7F0055>int</font> offs, <font color=#7F0055>int</font> size, <font color=#7F0055>int</font> mode, DoneMemory done);
+ IToken get(Number addr, <font color=#7F0055>int</font> word_size, <font color=#7F0055>byte</font>[] buf,
+ <font color=#7F0055>int</font> offs, <font color=#7F0055>int</font> size, <font color=#7F0055>int</font> mode, DoneMemory done);
<font color=#3F5FBF>/**
* Fill target memory with given pattern.
* 'size' is number of bytes to fill.
*/</font>
- <font color=#7F0055>void</font> fill(long addr, <font color=#7F0055>int</font> word_size, byte[] value,
- <font color=#7F0055>int</font> size, <font color=#7F0055>int</font> mode, DoneMemory done);
+ IToken fill(Number addr, <font color=#7F0055>int</font> word_size, <font color=#7F0055>byte</font>[] value,
+ <font color=#7F0055>int</font> size, <font color=#7F0055>int</font> mode, DoneMemory done);
}
<font color=#3F5FBF>/**
- * Client callback interface for set(), get() and fill().
+ * Client call back interface for set(), get() and fill() commands.
*/</font>
<font color=#7F0055>interface</font> DoneMemory {
- <font color=#7F0055>void</font> doneMemory(MemoryError error);
+ <font color=#7F0055>public</font> <font color=#7F0055>void</font> doneMemory(IToken token, MemoryError error);
}
<font color=#7F0055>class</font> MemoryError <font color=#7F0055>extends</font> Exception {
+
+ <font color=#7F0055>private static final long</font> serialVersionUID = 1L;
+
+ <font color=#7F0055>public</font> MemoryError(String msg) {
+ super(msg);
+ }
}
<font color=#3F5FBF>/**
@@ -558,13 +600,19 @@ E &bull; Memory &bull; memoryChanged &bull; <i>&lt;string: context ID&gt;</i> &b
<font color=#7F0055>interface</font> ErrorOffset {
// Error may have per byte information
- <font color=#7F0055>final static int</font>
+ <font color=#7F0055>static final int</font>
BYTE_VALID = 0x00,
BYTE_UNKNOWN = 0x01, // e.g. out of range
BYTE_INVALID = 0x02,
BYTE_CANNOT_READ = 0x04,
BYTE_CANNOT_WRITE = 0x08;
+ <font color=#7F0055>static final</font> String
+ RANGE_KEY_ADDR = "addr",
+ RANGE_KEY_SIZE = "size",
+ RANGE_KEY_STAT = "stat",
+ RANGE_KEY_MSG = "msg";
+
<font color=#7F0055>int</font> getStatus(<font color=#7F0055>int</font> offset);
<font color=#3F5FBF>/**
@@ -597,12 +645,12 @@ E &bull; Memory &bull; memoryChanged &bull; <i>&lt;string: context ID&gt;</i> &b
<font color=#3F5FBF>/**
* Called when a new memory access context(s) is created.
*/</font>
- <font color=#7F0055>void</font> contextAdded(Context[] contexts);
+ <font color=#7F0055>void</font> contextAdded(MemoryContext[] contexts);
<font color=#3F5FBF>/**
- * Called when a new memory access context(s) properties changed.
+ * Called when a memory access context(s) properties changed.
*/</font>
- <font color=#7F0055>void</font> contextChanged(Context[] contexts);
+ <font color=#7F0055>void</font> contextChanged(MemoryContext[] contexts);
<font color=#3F5FBF>/**
* Called when memory access context(s) is removed.
@@ -615,10 +663,9 @@ E &bull; Memory &bull; memoryChanged &bull; <i>&lt;string: context ID&gt;</i> &b
* corresponding cached memory data.
* Not every change is notified - it is not possible,
* only those, which are not caused by normal execution of the debuggee.
- * &lsquo;addr&rsquo; and &lsquo;size&rsquo; can be null if unknown.
+ * 'addr' and 'size' can be null if unknown.
*/</font>
- <font color=#7F0055>void</font> memoryChanged(String context_id,
- long[] addr, long[] size);
+ <font color=#7F0055>void</font> memoryChanged(String context_id, Number[] addr, <font color=#7F0055>long</font>[] size);
}
}
</pre>
diff --git a/docs/TCF Service - Path Map.html b/docs/TCF Service - Path Map.html
index d67c5f564..ae604fa15 100644
--- a/docs/TCF Service - Path Map.html
+++ b/docs/TCF Service - Path Map.html
@@ -135,30 +135,53 @@ E &bull; PathMap &bull; changed &bull;
<pre>
<font color=#3F5FBF>/**
* IPathMap service manages file path translation across systems.
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
*/</font>
-<font color=#7F0055>public interface</font> IPathMap extends IService {
+<font color=#7F0055>public interface</font> IPathMap <font color=#7F0055>extends</font> IService {
+ <font color=#3F5FBF>/**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */</font>
<font color=#7F0055>static final</font> String NAME = "PathMap";
<font color=#3F5FBF>/**
* Path mapping rule property names.
*/</font>
<font color=#7F0055>static final</font> String
- PROP_ID = "ID", <font color=#3F5FBF>/** String, rule ID */</font>
- PROP_SOURCE = "Source", <font color=#3F5FBF>/** String, source, or compile-time file path */</font>
- PROP_DESTINATION = "Destination", <font color=#3F5FBF>/** String, destination, or run-time file path */</font>
- PROP_CONTEXT = "Context", <font color=#3F5FBF>/** String, symbols context group ID or name, deprecated - use ContextQuery */</font>
- PROP_CONTEXT_QUERY = "ContextQuery", <font color=#3F5FBF>/** String, contexts query, see IContextQuery */</font>
- PROP_HOST = "Host", <font color=#3F5FBF>/** String, */</font>
- PROP_PROTOCOL = "Protocol"; <font color=#3F5FBF>/** String, file access protocol, see PROTOCOL_*, default is regular file */</font>
+ <font color=#3F5FBF>/** String, rule ID */</font>
+ PROP_ID = "ID",
+
+ <font color=#3F5FBF>/** String, source, or compile-time file path */</font>
+ PROP_SOURCE = "Source",
+
+ <font color=#3F5FBF>/** String, destination, or run-time file path */</font>
+ PROP_DESTINATION = "Destination",
+
+ <font color=#3F5FBF>/** String, symbols context group ID or name, deprecated - use ContextQuery */</font>
+ PROP_CONTEXT = "Context",
+
+ <font color=#3F5FBF>/** String, contexts query, see IContextQuery */</font>
+ PROP_CONTEXT_QUERY = "ContextQuery",
+
+ <font color=#3F5FBF>/** String, */</font>
+ PROP_HOST = "Host",
+
+ <font color=#3F5FBF>/** String, file access protocol, see PROTOCOL_*, default is regular file */</font>
+ PROP_PROTOCOL = "Protocol";
<font color=#3F5FBF>/**
* PROP_PROTOCOL values.
*/</font>
<font color=#7F0055>static final</font> String
- PROTOCOL_FILE = "file", <font color=#3F5FBF>/** Regular file access using system calls */</font>
- PROTOCOL_HOST = "host", <font color=#3F5FBF>/** File should be accessed using File System service on host */</font>
- PROTOCOL_TARGET = "target"; <font color=#3F5FBF>/** File should be accessed using File System service on target */</font>
+ <font color=#3F5FBF>/** Regular file access using system calls */</font>
+ PROTOCOL_FILE = "file",
+
+ <font color=#3F5FBF>/** File should be accessed using File System service on host */</font>
+ PROTOCOL_HOST = "host",
+
+ <font color=#3F5FBF>/** File should be accessed using File System service on target */</font>
+ PROTOCOL_TARGET = "target";
<font color=#3F5FBF>/**
* PathMapRule interface represents a single file path mapping rule.
@@ -168,49 +191,49 @@ E &bull; PathMap &bull; changed &bull;
<font color=#3F5FBF>/**
* Get rule properties. See PROP_* definitions for property names.
* Properties are read only, clients should not try to modify them.
- * @return Map of rule properties.
+ * <font color=#7F9FBF>@return</font> Map of rule properties.
*/</font>
Map&lt;String,Object&gt; getProperties();
<font color=#3F5FBF>/**
* Get rule unique ID.
* Same as getProperties().get(PROP_ID)
- * @return rule ID.
+ * <font color=#7F9FBF>@return</font> rule ID.
*/</font>
String getID();
<font color=#3F5FBF>/**
* Get compile-time file path.
* Same as getProperties().get(PROP_SOURCE)
- * @return compile-time file path.
+ * <font color=#7F9FBF>@return</font> compile-time file path.
*/</font>
String getSource();
<font color=#3F5FBF>/**
* Get run-time file path.
* Same as getProperties().get(PROP_DESTINATION)
- * @return run-time file path.
+ * <font color=#7F9FBF>@return</font> run-time file path.
*/</font>
String getDestination();
<font color=#3F5FBF>/**
* Get host name of this rule.
* Same as getProperties().get(PROP_HOST)
- * @return host name.
+ * <font color=#7F9FBF>@return</font> host name.
*/</font>
String getHost();
<font color=#3F5FBF>/**
* Get file access protocol name.
* Same as getProperties().get(PROP_PROTOCOL)
- * @return protocol name.
+ * <font color=#7F9FBF>@return</font> protocol name.
*/</font>
String getProtocol();
<font color=#3F5FBF>/**
* Get context query that defines scope of the mapping rule, see also IContextQuery.
* Same as getProperties().get(PROP_CONTEXT_QUERY)
- * @return context query expression, or null.
+ * <font color=#7F9FBF>@return</font> context query expression, or null.
*/</font>
String getContextQuery();
}
@@ -218,8 +241,8 @@ E &bull; PathMap &bull; changed &bull;
<font color=#3F5FBF>/**
* Retrieve file path mapping rules.
*
- * <font color=#7F9FBF>@param</font> done &ndash; call back interface called when operation is completed.
- * @return &ndash; pending command handle.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken get(DoneGet done);
@@ -229,8 +252,8 @@ E &bull; PathMap &bull; changed &bull;
<font color=#7F0055>interface</font> DoneGet {
<font color=#3F5FBF>/**
* Called when file path mapping retrieval is done.
- * <font color=#7F9FBF>@param</font> error &ndash; error description if operation failed, null if succeeded.
- * <font color=#7F9FBF>@param</font> map &ndash; file path mapping data.
+ * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
+ * <font color=#7F9FBF>@param</font> map - file path mapping data.
*/</font>
<font color=#7F0055>void</font> doneGet(IToken token, Exception error, PathMapRule[] map);
}
@@ -238,9 +261,9 @@ E &bull; PathMap &bull; changed &bull;
<font color=#3F5FBF>/**
* Set file path mapping rules.
*
- * <font color=#7F9FBF>@param</font> map &ndash; file path mapping rules.
- * <font color=#7F9FBF>@param</font> done &ndash; call back interface called when operation is completed.
- * @return &ndash; pending command handle.
+ * <font color=#7F9FBF>@param</font> map - file path mapping rules.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
IToken set(PathMapRule[] map, DoneSet done);
@@ -248,23 +271,23 @@ E &bull; PathMap &bull; changed &bull;
* Client call back interface for set().
*/</font>
<font color=#7F0055>interface</font> DoneSet {
- <font color=#3F5FBF>/**
+ <font color=#3F5FBF>/**
* Called when file path mapping transmission is done.
- * <font color=#7F9FBF>@param</font> error &ndash; error description if operation failed, null if succeeded.
- * <font color=#7F9FBF>@param</font> map &ndash; memory map data.
+ * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
+ * <font color=#7F9FBF>@param</font> map - memory map data.
*/</font>
<font color=#7F0055>void</font> doneSet(IToken token, Exception error);
}
<font color=#3F5FBF>/**
* Add path map event listener.
- * <font color=#7F9FBF>@param</font> listener &ndash; path map event listener to add.
+ * <font color=#7F9FBF>@param</font> listener - path map event listener to add.
*/</font>
<font color=#7F0055>void</font> addListener(PathMapListener listener);
<font color=#3F5FBF>/**
* Remove path map event listener.
- * <font color=#7F9FBF>@param</font> listener &ndash; path map event listener to remove.
+ * <font color=#7F9FBF>@param</font> listener - path map event listener to remove.
*/</font>
<font color=#7F0055>void</font> removeListener(PathMapListener listener);
diff --git a/docs/TCF Service - Processes.html b/docs/TCF Service - Processes.html
index 0dcb34cc0..d24120e7f 100644
--- a/docs/TCF Service - Processes.html
+++ b/docs/TCF Service - Processes.html
@@ -352,8 +352,24 @@ E &bull; Processes &bull; exited &bull; <i>&lt;string: process ID&gt;</i> &bull;
<h2><a name='API'>API</a></h2>
<pre>
+<font color=#3F5FBF>/**
+ * IProcesses service provides access to the target OS's process
+ * information, allows to start and terminate a process, and allows
+ * to attach and detach a process for debugging. Debug services,
+ * like IMemory and IRunControl, require a process to be attached
+ * before they can access it.
+ *
+ * If a process is started by this service, its standard input/output streams are
+ * available for client to read/write using Streams service. Stream type of such
+ * streams is set to "Processes".
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
+ */</font>
<font color=#7F0055>public interface</font> IProcesses <font color=#7F0055>extends</font> IService {
+ <font color=#3F5FBF>/**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */</font>
<font color=#7F0055>static final</font> String NAME = "Processes";
<font color=#3F5FBF>/**
@@ -366,7 +382,7 @@ E &bull; Processes &bull; exited &bull; <i>&lt;string: process ID&gt;</i> &bull;
* If the ID is not a process ID, 'IProcesses.getContext' may not return any
* useful information
*
- * <font color=#7F9FBF>@param</font> id &ndash; context ID.
+ * <font color=#7F9FBF>@param</font> id - context ID.
* <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
*/</font>
IToken getContext(String id, DoneGetContext done);
@@ -376,9 +392,9 @@ E &bull; Processes &bull; exited &bull; <i>&lt;string: process ID&gt;</i> &bull;
*/</font>
<font color=#7F0055>interface</font> DoneGetContext {
<font color=#3F5FBF>/**
- * Called when contexts data retrieval is done.
- * <font color=#7F9FBF>@param</font> error &ndash; error description if operation failed, null if succeeded.
- * <font color=#7F9FBF>@param</font> context &ndash; context data.
+ * Called when context 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, ProcessContext context);
}
@@ -386,7 +402,7 @@ E &bull; Processes &bull; exited &bull; <i>&lt;string: process ID&gt;</i> &bull;
<font color=#3F5FBF>/**
* Retrieve children of given context.
*
- * <font color=#7F9FBF>@param</font> parent_context_id &ndash; parent context ID. Can be null &ndash;
+ * <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> attached_only - if true return only attached process IDs.
@@ -399,9 +415,9 @@ E &bull; Processes &bull; exited &bull; <i>&lt;string: process ID&gt;</i> &bull;
*/</font>
<font color=#7F0055>interface</font> DoneGetChildren {
<font color=#3F5FBF>/**
- * Called when contexts data retrieval is done.
- * <font color=#7F9FBF>@param</font> error &ndash; error description if operation failed, null if succeeded.
- * <font color=#7F9FBF>@param</font> context_ids &ndash; array of available context IDs.
+ * Called when context list 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);
}
@@ -438,20 +454,20 @@ E &bull; Processes &bull; exited &bull; <i>&lt;string: process ID&gt;</i> &bull;
<font color=#3F5FBF>/**
* Get context ID.
- * Same as getProperties().get(&ldquo;ID&rdquo;)
+ * Same as getProperties().get("ID")
*/</font>
String getID();
<font color=#3F5FBF>/**
* Get parent context ID.
- * Same as getProperties().get(&ldquo;ParentID&rdquo;)
+ * Same as getProperties().get("ParentID")
*/</font>
String getParentID();
<font color=#3F5FBF>/**
* Get process name.
* Client UI can show this name to a user.
- * Same as getProperties().get(&ldquo;Name&rdquo;)
+ * Same as getProperties().get("Name")
*/</font>
String getName();
@@ -470,9 +486,9 @@ E &bull; Processes &bull; exited &bull; <i>&lt;string: process ID&gt;</i> &bull;
<font color=#3F5FBF>/**
* Get all available context properties.
- * <font color=#7F9FBF>@return</font> Map 'property name' -> 'property value'
+ * <font color=#7F9FBF>@return</font> Map 'property name' -&gt; 'property value'
*/</font>
- Map&lt;String, Object&gt; getProperties();
+ Map&lt;String,Object&gt; getProperties();
<font color=#3F5FBF>/**
* Attach debugger to a process.
@@ -498,6 +514,9 @@ E &bull; Processes &bull; exited &bull; <i>&lt;string: process ID&gt;</i> &bull;
IToken terminate(DoneCommand done);
}
+ <font color=#3F5FBF>/**
+ * Call-back interface to be called when command is complete.
+ */</font>
<font color=#7F0055>interface</font> DoneCommand {
<font color=#7F0055>void</font> doneCommand(IToken token, Exception error);
}
@@ -519,7 +538,8 @@ E &bull; Processes &bull; exited &bull; <i>&lt;string: process ID&gt;</i> &bull;
SIG_DESCRIPTION = "Description";
<font color=#3F5FBF>/**
- * Get list of signals that can be send to the context.
+ * Get list of signals that can be send to the process.
+ * <font color=#7F9FBF>@param</font> context_id - process context ID or null.
* <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
* <font color=#7F9FBF>@return</font> pending command handle, can be used to cancel the command.
*/</font>
@@ -539,11 +559,13 @@ E &bull; Processes &bull; exited &bull; <i>&lt;string: process ID&gt;</i> &bull;
* If context is not attached the command will return an error.
* <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
* <font color=#7F9FBF>@return</font> pending command handle, can be used to cancel the command.
+ * TODO: deprecated - cannot support more than 32 signals
*/</font>
IToken getSignalMask(String context_id, DoneGetSignalMask done);
<font color=#3F5FBF>/**
* Call-back interface to be called when "getSignalMask" command is complete.
+ * TODO: deprecated - cannot support more than 32 signals
*/</font>
<font color=#7F0055>interface</font> DoneGetSignalMask {
<font color=#3F5FBF>/**
@@ -557,6 +579,32 @@ E &bull; Processes &bull; exited &bull; <i>&lt;string: process ID&gt;</i> &bull;
}
<font color=#3F5FBF>/**
+ * Get process or thread signal mask.
+ * Signal indices in the mask control how signals should be handled by debug agent.
+ * When new context is created it inherits the mask from its parent.
+ * If context is not attached the command will return an error.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> pending command handle, can be used to cancel the command.
+ * <font color=#7F9FBF>@since</font> 1.4
+ */</font>
+ IToken getSignalMask(String context_id, DoneGetSignalMaskSets done);
+
+ <font color=#3F5FBF>/**
+ * Call-back interface to be called when "getSignalMask" command is complete.
+ * <font color=#7F9FBF>@since</font> 1.4
+ */</font>
+ <font color=#7F0055>interface</font> DoneGetSignalMaskSets {
+ <font color=#3F5FBF>/**
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> dont_stop - set of signals that should suspend execution of the context.
+ * <font color=#7F9FBF>@param</font> dont_pass - set of signals that should not be delivered to the context.
+ * <font color=#7F9FBF>@param</font> pending - set of signals that are generated but not delivered yet.
+ * Note: "pending" is meaningful only if the context is suspended.
+ */</font>
+ <font color=#7F0055>void</font> doneGetSignalMask(IToken token, Exception error, Set&lt;Integer&gt; dont_stop, Set&lt;Integer&gt; dont_pass, Set&lt;Integer&gt; pending);
+ }
+
+ <font color=#3F5FBF>/**
* Set process or thread signal mask.
* Bits in the mask control how signals should be handled by debug agent.
* If context is not attached the command will return an error.
@@ -565,10 +613,24 @@ E &bull; Processes &bull; exited &bull; <i>&lt;string: process ID&gt;</i> &bull;
* <font color=#7F9FBF>@param</font> dont_pass - bit-set of signals that should not be delivered to the context.
* <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
* <font color=#7F9FBF>@return</font> pending command handle, can be used to cancel the command.
+ * TODO: deprecated - cannot support more than 32 signals
*/</font>
IToken setSignalMask(String context_id, <font color=#7F0055>int</font> dont_stop, <font color=#7F0055>int</font> dont_pass, DoneCommand done);
<font color=#3F5FBF>/**
+ * Set process or thread signal mask.
+ * Signal indices in the mask control how signals should be handled by debug agent.
+ * If context is not attached the command will return an error.
+ * <font color=#7F9FBF>@param</font> dont_stop - set of signals that should not suspend execution of the context.
+ * By default, debugger suspends a context before it receives a signal.
+ * <font color=#7F9FBF>@param</font> dont_pass - set of signals that should not be delivered to the context.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> pending command handle, can be used to cancel the command.
+ * <font color=#7F9FBF>@since</font> 1.4
+ */</font>
+ IToken setSignalMask(String context_id, Set&lt;Integer&gt; dont_stop, Set&lt;Integer&gt; dont_pass, DoneCommand done);
+
+ <font color=#3F5FBF>/**
* Send a signal to a process or thread.
* <font color=#7F9FBF>@param</font> context_id - context ID.
* <font color=#7F9FBF>@param</font> signal - signal code.
@@ -598,14 +660,15 @@ E &bull; Processes &bull; exited &bull; <i>&lt;string: process ID&gt;</i> &bull;
* <font color=#7F9FBF>@param</font> command_line - command line arguments for the process.
* Note: the service does NOT add image file name as first argument for the process.
* If a client wants first parameter to be the file name, it should add it itself.
- * <font color=#7F9FBF>@param</font> environment - list of environment variables for the process.
+ * <font color=#7F9FBF>@param</font> environment - map of environment variables for the process,
* if null then default set of environment variables will be used.
* <font color=#7F9FBF>@param</font> attach - if true debugger should be attached to the process.
* <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
* <font color=#7F9FBF>@return</font> pending command handle, can be used to cancel the command.
*/</font>
IToken start(String directory, String file,
- String[] command_line, String[] environment, <font color=#7F0055>boolean</font> attach, DoneStart done);
+ String[] command_line, Map&lt;String,String&gt; environment,
+ <font color=#7F0055>boolean</font> attach, DoneStart done);
<font color=#3F5FBF>/**
* Call-back interface to be called when "start" command is complete.
@@ -635,7 +698,8 @@ E &bull; Processes &bull; exited &bull; <i>&lt;string: process ID&gt;</i> &bull;
<font color=#3F5FBF>/**
* Called when a process exits.
* <font color=#7F9FBF>@param</font> process_id - process context ID
- * <font color=#7F9FBF>@param</font> exit_code - process exit code
+ * <font color=#7F9FBF>@param</font> exit_code - if &gt;= 0 - the process exit code,
+ * if &lt; 0 - process was terminated by a signal, the signal code = -exit_code.
*/</font>
<font color=#7F0055>void</font> exited(String process_id, <font color=#7F0055>int</font> exit_code);
}
diff --git a/docs/TCF Service - Profiler.html b/docs/TCF Service - Profiler.html
index 41db1c00a..0bc1d0915 100644
--- a/docs/TCF Service - Profiler.html
+++ b/docs/TCF Service - Profiler.html
@@ -32,14 +32,156 @@
<h2><a name='Overview'>Overview</a></h2>
+<p><font color=#FF7000>TBD</font></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>
+<p><font color=#FF7000>TBD</font></p>
+
<h2><a name='API'>API</a></h2>
<pre>
+<font color=#3F5FBF>/**
+ * TCF Profiler service interface.
+ *
+ * The service itself does not implement profiling, it manages creation/disposal of
+ * profiler instances and communications between clients and profilers.
+ * The service API is generic and it is supposed to support any kind of profiling and tracing.
+ * A TCF agent can optionally include a profiler. The profiler would register itself with the service.
+ * A client starts profiling by sending profiler configuration data for a debug context.
+ * Multiple different profilers can be active at same debug context at same time.
+ * If a client has started profiling, it is expected to read and process profiling data periodically.
+ * Profiling data format is a contract between the profiler and its clients,
+ * the service does not try to interpret the data.
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
+ */</font>
+<font color=#7F0055>public interface</font> IProfiler <font color=#7F0055>extends</font> IService {
+
+ <font color=#3F5FBF>/**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */</font>
+ <font color=#7F0055>static final</font> String NAME = "Profiler";
+
+
+ /* Profiler configuration parameters ----------------------------------- */</font>
+
+ <font color=#3F5FBF>/**
+ * Profiler configuration parameter:
+ * Number: size of stack traces in profiling samples,
+ * 0 means no profiling,
+ * 1 means no stack tracing.
+ */</font>
+ <font color=#7F0055>static final</font> String PARAM_FRAME_CNT = "FrameCnt";
+
+ <font color=#3F5FBF>/**
+ * Profiler configuration parameter:
+ * Number: size of profiling data buffer, in samples.
+ */</font>
+ <font color=#7F0055>static final</font> String PARAM_MAX_SAMPLES = "MaxSamples";
+
+
+ /* Profile data properties --------------------------------------------- */</font>
+
+ <font color=#3F5FBF>/**
+ * Profile data property:
+ * String: data format.
+ * <font color=#7F9FBF>@since</font> 1.2
+ */</font>
+ <font color=#7F0055>static final</font> String PROP_FORMAT = "Format";
+
+ <font color=#3F5FBF>/**
+ * Profile data property:
+ * Number: address size in bytes.
+ * Default is 4 bytes.
+ */</font>
+ <font color=#7F0055>static final</font> String PROP_ADDR_SIZE = "AddrSize";
+
+ <font color=#3F5FBF>/**
+ * Profile data property:
+ * Sample endianess.
+ * Default is little-endian.
+ */</font>
+ <font color=#7F0055>static final</font> String PROP_BIG_ENDIAN = "BigEndian";
+
+ <font color=#3F5FBF>/**
+ * Profile data property:
+ * Byte array of profile samples.
+ */</font>
+ <font color=#7F0055>static final</font> String PROP_DATA = "Data";
+
+
+ /* Commands ------------------------------------------------------------ */</font>
+
+ <font color=#3F5FBF>/**
+ * Report profiler service capabilities to clients so they
+ * can adjust to different implementations of the service.
+ * <font color=#7F9FBF>@param</font> ctx - a context ID.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
+ * <font color=#7F9FBF>@since</font> 1.3
+ */</font>
+ IToken getCapabilities(String ctx, DoneGetCapabilities done);
+
+ <font color=#3F5FBF>/**
+ * Call back interface for 'getCapabilities' command.
+ * <font color=#7F9FBF>@since</font> 1.3
+ */</font>
+ <font color=#7F0055>interface</font> DoneGetCapabilities {
+ <font color=#3F5FBF>/**
+ * Called when 'getCapabilities' command is done.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> capabilities - profiler service capabilities description.
+ */</font>
+ <font color=#7F0055>void</font> doneGetCapabilities(IToken token, Exception error, Map&lt;String,Object&gt; capabilities);
+ }
+
+ <font color=#3F5FBF>/**
+ * Configure profiling of a debug context 'ctx'.
+ * Profiling is disabled (stopped) if 'params' is empty or null.
+ * <font color=#7F9FBF>@param</font> ctx - debug context to profile.
+ * <font color=#7F9FBF>@param</font> params - description of profiling method, see PARAM_*.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
+ */</font>
+ IToken configure(String ctx, Map&lt;String,Object&gt; params, DoneConfigure done);
+
+ <font color=#7F0055>interface</font> DoneConfigure {
+ <font color=#3F5FBF>/**
+ * Called when "configure" command is done.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ */</font>
+ <font color=#7F0055>void</font> doneConfigure(IToken token, Exception error);
+ }
+
+ <font color=#3F5FBF>/**
+ * Read profiling data buffers.
+ * Successful read clears the buffer.
+ * If a client has started profiling with "configure" command,
+ * it is expected to read and process profiling data periodically.
+ * The buffer has limited size, so profiling samples can be lost if they are not read timely.
+ * <font color=#7F9FBF>@param</font> ctx - debug context that is being profiled.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
+ */</font>
+ IToken read(String ctx, DoneRead done);
+
+ <font color=#7F0055>interface</font> DoneRead {
+ <font color=#3F5FBF>/**
+ * Called when "read" command is done.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ * <font color=#7F9FBF>@param</font> data - array of profile data buffers.
+ * Each buffer is collection of properties, see PROP_*.
+ */</font>
+ <font color=#7F0055>void</font> doneRead(IToken token, Exception error, Map&lt;String,Object&gt; data[]);
+ }
+}
</pre>
</body>
diff --git a/docs/TCF Service - Registers.html b/docs/TCF Service - Registers.html
index 091270db8..fd298042c 100644
--- a/docs/TCF Service - Registers.html
+++ b/docs/TCF Service - Registers.html
@@ -418,9 +418,14 @@ E &bull; Registers &bull; registerChanged &bull; <i>&lt;string: context ID&gt;</
<pre>
<font color=#3F5FBF>/**
* IRegisters service provides access to target CPU register values and properties.
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
*/</font>
<font color=#7F0055>public interface</font> IRegisters <font color=#7F0055>extends</font> IService {
+ <font color=#3F5FBF>/**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */</font>
<font color=#7F0055>static final</font> String NAME = "Registers";
<font color=#3F5FBF>/**
@@ -448,10 +453,11 @@ E &bull; Registers &bull; registerChanged &bull; <i>&lt;string: context ID&gt;</
PROP_MEMORY_ADDRESS = "MemoryAddress", <font color=#3F5FBF>/** Number, the address of a memory mapped register */</font>
PROP_MEMORY_CONTEXT = "MemoryContext", <font color=#3F5FBF>/** String, the context ID of a memory context in which a memory mapped register is located */</font>
PROP_CAN_SEARCH = "CanSearch", <font color=#3F5FBF>/** Array of String, a list of attribute names which can be searched for starting on this context */</font>
- PROP_ROLE = "Role"; <font color=#3F5FBF>/** String, the role the register plays in a program execution */</font>
+ PROP_ROLE = "Role", <font color=#3F5FBF>/** String, the role the register plays in a program execution */</font>
+ PROP_OFFSET = "Offset"; <font color=#3F5FBF>/** Number, when present describes the offset in the data of the parent register where the value of a field can be found. */</font>
<font color=#3F5FBF>/**
- * Role property names.
+ * Values of context property "Role".
*/</font>
<font color=#7F0055>static final</font> String
ROLE_PC = "PC", <font color=#3F5FBF>/** Program counter. Defines instruction to execute next */</font>
@@ -461,17 +467,16 @@ E &bull; Registers &bull; registerChanged &bull; <i>&lt;string: context ID&gt;</
ROLE_CORE = "CORE"; <font color=#3F5FBF>/** Indicates register or register groups which belong to the core state */</font>
<font color=#3F5FBF>/**
- * Filter property names.
+ * Search filter properties.
*/</font>
<font color=#7F0055>static final</font> String
SEARCH_NAME = "Name", <font color=#3F5FBF>/** The name of the property this filter applies too */</font>
SEARCH_EQUAL_VALUE = "EqualValue"; <font color=#3F5FBF>/** The value which is searched for */</font>
-
<font color=#3F5FBF>/**
* Retrieve context info for given context ID.
*
- * <font color=#7F9FBF>@param</font> id &ndash; context ID.
+ * <font color=#7F9FBF>@param</font> id - context ID.
* <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
*/</font>
IToken getContext(String id, DoneGetContext done);
@@ -481,9 +486,10 @@ E &bull; Registers &bull; registerChanged &bull; <i>&lt;string: context ID&gt;</
*/</font>
<font color=#7F0055>interface</font> DoneGetContext {
<font color=#3F5FBF>/**
- * Called when contexts data retrieval is done.
- * <font color=#7F9FBF>@param</font> error &ndash; error description if operation failed, null if succeeded.
- * <font color=#7F9FBF>@param</font> context &ndash; context data.
+ * Called when context data retrieval is done.
+ * <font color=#7F9FBF>@param</font> token - command handle
+ * <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, RegistersContext context);
}
@@ -498,7 +504,7 @@ E &bull; Registers &bull; registerChanged &bull; <i>&lt;string: context ID&gt;</
* with same IDs, however, each service accesses its own subset of context's
* attributes and functionality, which is relevant to that service.
*
- * <font color=#7F9FBF>@param</font> parent_context_id &ndash; parent context ID. Can be null &ndash;
+ * <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 getChildren commands.
* <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
@@ -510,9 +516,10 @@ E &bull; Registers &bull; registerChanged &bull; <i>&lt;string: context ID&gt;</
*/</font>
<font color=#7F0055>interface</font> DoneGetChildren {
<font color=#3F5FBF>/**
- * Called when contexts data retrieval is done.
- * <font color=#7F9FBF>@param</font> error &ndash; error description if operation failed, null if succeeded.
- * <font color=#7F9FBF>@param</font> context_ids &ndash; array of available context IDs.
+ * Called when context list retrieval is done.
+ * <font color=#7F9FBF>@param</font> token - command handle
+ * <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);
}
@@ -534,6 +541,12 @@ E &bull; Registers &bull; registerChanged &bull; <i>&lt;string: context ID&gt;</
String getParentID();
<font color=#3F5FBF>/**
+ * Get process ID, if applicable.
+ * <font color=#7F9FBF>@return</font> process ID.
+ */</font>
+ String getProcessID();
+
+ <font color=#3F5FBF>/**
* Get context (register, register group, bit field) name.
* <font color=#7F9FBF>@return</font> context name.
*/</font>
@@ -550,8 +563,8 @@ E &bull; Registers &bull; registerChanged &bull; <i>&lt;string: context ID&gt;</
* Byte arrays in get()/set() methods should be same size.
* Hardware register can be smaller then this size, for example in case
* when register size is not an even number of bytes. In such case implementation
- * should add/remove padding that consists of necessary number of zero bits.
- * @return context size in bytes.
+ * should add/remove padding that consist of necessary number of zero bits.
+ * <font color=#7F9FBF>@return</font> context size in bytes.
*/</font>
<font color=#7F0055>int</font> getSize();
@@ -599,8 +612,9 @@ E &bull; Registers &bull; registerChanged &bull; <i>&lt;string: context ID&gt;</
<font color=#7F0055>boolean</font> isFloat();
<font color=#3F5FBF>/**
- * Check endianess of the context.
+ * Check endianness of the context.
* Big endian means decreasing numeric significance with increasing bit number.
+ * The endianness is used to encode and decode values of get, getm, set and setm commands.
* <font color=#7F9FBF>@return</font> true if big endian.
*/</font>
<font color=#7F0055>boolean</font> isBigEndian();
@@ -658,6 +672,12 @@ E &bull; Registers &bull; registerChanged &bull; <i>&lt;string: context ID&gt;</
String getRole();
<font color=#3F5FBF>/**
+ * Get the offset in the data of the parent register where the value of a field can be found
+ * <font color=#7F9FBF>@return</font> offset.
+ */</font>
+ <font color=#7F0055>int</font> getOffset();
+
+ <font color=#3F5FBF>/**
* Get complete map of context properties.
* <font color=#7F9FBF>@return</font> map of all available context properties.
*/</font>
@@ -685,7 +705,7 @@ E &bull; Registers &bull; registerChanged &bull; <i>&lt;string: context ID&gt;</
* <font color=#7F9FBF>@param</font> done - call back object.
* <font color=#7F9FBF>@return</font> - pending command handle.
*/</font>
- IToken search(Map&lt;String,Object&gt; filter, DoneSearch done);
+ IToken search(Map&lt;String,Object&gt; filter, DoneSearch done);
}
<font color=#3F5FBF>/**
@@ -784,7 +804,7 @@ E &bull; Registers &bull; registerChanged &bull; <i>&lt;string: context ID&gt;</
* <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
* <font color=#7F9FBF>@param</font> paths - array of paths to each context with properties matching the filter
*/</font>
- <font color=#7F0055>void</font> doneSearch(IToken token, String[][] paths);
+ <font color=#7F0055>void</font> doneSearch(IToken token, Exception error, String[][] paths);
}
<font color=#3F5FBF>/**
@@ -823,7 +843,7 @@ E &bull; Registers &bull; registerChanged &bull; <i>&lt;string: context ID&gt;</
* At least, changes caused by "set" command should be notified.
* <font color=#7F9FBF>@param</font> id - register context ID.
*/</font>
- <font color=#7F0055>void</font> registerChanged(String context_id);
+ <font color=#7F0055>void</font> registerChanged(String id);
}
}
</pre>
diff --git a/docs/TCF Service - Run Control.html b/docs/TCF Service - Run Control.html
index afc419650..84da3dd3c 100644
--- a/docs/TCF Service - Run Control.html
+++ b/docs/TCF Service - Run Control.html
@@ -541,59 +541,203 @@ E &bull; RunControl &bull; contextStateChanged &bull; <i>&lt;string: context IDs
<h2><a name='API'>API</a></h2>
<pre>
+<font color=#3F5FBF>/**
+ * Run Control service provides basic run control operations for execution contexts on a target.
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
+ */</font>
<font color=#7F0055>public interface</font> IRunControl <font color=#7F0055>extends</font> IService {
<font color=#3F5FBF>/**
- * Context property names.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/</font>
+ <font color=#7F0055>static final</font> String NAME = "RunControl";
+
+ /* Context property names ---------------------------------------------- */</font>
+
<font color=#7F0055>static final</font> String
+ <font color=#3F5FBF>/** Run control context ID */</font>
PROP_ID = "ID",
+
+ <font color=#3F5FBF>/** Context parent (owner) ID, for a thread it is same as process ID */</font>
PROP_PARENT_ID = "ParentID",
+
+ <font color=#3F5FBF>/** Context process (memory space) ID */</font>
PROP_PROCESS_ID = "ProcessID",
+
+ <font color=#3F5FBF>/** ID of a context that created this context */</font>
PROP_CREATOR_ID = "CreatorID",
+
+ <font color=#3F5FBF>/** Human readable context name */</font>
PROP_NAME = "Name",
+
+ <font color=#3F5FBF>/** true if the context is a container. Container can propagate run control commands to his children */</font>
PROP_IS_CONTAINER = "IsContainer",
+
+ <font color=#3F5FBF>/** true if context has execution state - can be suspended/resumed */</font>
PROP_HAS_STATE = "HasState",
+
+ <font color=#3F5FBF>/** Bit-set of RM_ values that are supported by the context */</font>
PROP_CAN_RESUME = "CanResume",
+
+ <font color=#3F5FBF>/** Bit-set of RM_ values that can be used with count &gt; 1 */</font>
PROP_CAN_COUNT = "CanCount",
+
+ <font color=#3F5FBF>/** true if suspend command is supported by the context */</font>
PROP_CAN_SUSPEND = "CanSuspend",
+
+ <font color=#3F5FBF>/** true if terminate command is supported by the context */</font>
PROP_CAN_TERMINATE = "CanTerminate",
+
+ <font color=#3F5FBF>/** true if detach command is supported by the context */</font>
PROP_CAN_DETACH = "CanDetach",
+
+ <font color=#3F5FBF>/** Context ID of a run control group that contains the context.
+ * Members of same group are always suspended and resumed together:
+ * resuming/suspending a context resumes/suspends all members of the group */</font>
PROP_RC_GROUP = "RCGroup",
+
+ <font color=#3F5FBF>/** Context ID of a breakpoints group that contains the context.
+ * Members of same group share same breakpoint instances:
+ * a breakpoint is planted once for the group, no need to plant
+ * the breakpoint for each member of the group */</font>
PROP_BP_GROUP = "BPGroup",
- PROP_SYMBOLS_GROUP = "SymbolsGroup",
+
+ <font color=#3F5FBF>/** Context ID of a symbols group that contains the context.
+ * Members of a symbols group share same symbol reader configuration settings,
+ * like user defined memory map entries and source lookup info */</font>
+ PROP_SYMBOLS_GROUP = "SymbolsGroup";
+
+ <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.3 */</font>
+ <font color=#7F0055>static final</font> String
+ <font color=#3F5FBF>/** Array of String, the access types allowed for this context
+ * when accessing context registers.
+ */</font>
PROP_REG_ACCESS_TYPES = "RegAccessTypes";
<font color=#3F5FBF>/**
* Values of "RegAccessTypes".
+ * <font color=#7F9FBF>@since</font> 1.3
+ */</font>
+ <font color=#7F0055>static final</font> String
+ REG_ACCESS_RD_RUNNING = "rd-running", <font color=#3F5FBF>/** Context supports reading registers while running */</font>
+ REG_ACCESS_WR_RUNNUNG = "wr-running"; <font color=#3F5FBF>/** Context supports writing registers while running */</font>
+
+ <font color=#3F5FBF>/**
+ * Values of "RegAccessTypes".
+ * <font color=#7F9FBF>@since</font> 1.4
*/</font>
<font color=#7F0055>static final</font> String
- REG_ACCESS_RD_RUNNING = "rd-running",
- REG_ACCESS_WR_RUNNUNG = "wr-running",
- REG_ACCESS_RD_STOP = "rd-stop",
- REG_ACCESS_WR_STOP = "wr-stop";
+ REG_ACCESS_RD_STOP = "rd-stop", <font color=#3F5FBF>/** Debugger should stop the context to read registers */</font>
+ REG_ACCESS_WR_STOP = "wr-stop"; <font color=#3F5FBF>/** Debugger should stop the context to write registers */</font>
<font color=#3F5FBF>/**
* Context resume modes.
*/</font>
<font color=#7F0055>static final int</font>
+
RM_RESUME = 0,
+
+ <font color=#3F5FBF>/**
+ * Step over a single instruction.
+ * If the instruction is a function call then don't stop until the function returns.
+ */</font>
RM_STEP_OVER = 1,
+
+ <font color=#3F5FBF>/**
+ * Step a single instruction.
+ * If the instruction is a function call then stop at first instruction of the function.
+ */</font>
RM_STEP_INTO = 2,
+
+ <font color=#3F5FBF>/**
+ * Step over a single source code line.
+ * If the line contains a function call then don't stop until the function returns.
+ */</font>
RM_STEP_OVER_LINE = 3,
+
+ <font color=#3F5FBF>/**
+ * Step a single source code line.
+ * If the line contains a function call then stop at first line of the function.
+ */</font>
RM_STEP_INTO_LINE = 4,
+
+ <font color=#3F5FBF>/**
+ * Run until control returns from current function.
+ */</font>
RM_STEP_OUT = 5,
+
+ <font color=#3F5FBF>/**
+ * Start running backwards.
+ * Execution will continue until suspended by command or breakpoint.
+ */</font>
RM_REVERSE_RESUME = 6,
+
+ <font color=#3F5FBF>/**
+ * Reverse of RM_STEP_OVER - run backwards over a single instruction.
+ * If the instruction is a function call then don't stop until get out of the function.
+ */</font>
RM_REVERSE_STEP_OVER = 7,
+
+ <font color=#3F5FBF>/**
+ * Reverse of RM_STEP_INTO.
+ * This effectively "un-executes" the previous instruction
+ */</font>
RM_REVERSE_STEP_INTO = 8,
+
+ <font color=#3F5FBF>/**
+ * Reverse of RM_STEP_OVER_LINE.
+ * Resume backward execution of given context until control reaches an instruction that belongs
+ * to a different source line.
+ * If the line contains a function call then don't stop until get out of the function.
+ * Error is returned if line number information not available.
+ */</font>
RM_REVERSE_STEP_OVER_LINE = 9,
+
+ <font color=#3F5FBF>/**
+ * Reverse of RM_STEP_INTO_LINE,
+ * Resume backward execution of given context until control reaches an instruction that belongs
+ * to a different line of source code.
+ * If a function is called, stop at the beginning of the last line of the function code.
+ * Error is returned if line number information not available.
+ */</font>
RM_REVERSE_STEP_INTO_LINE = 10,
+
+ <font color=#3F5FBF>/**
+ * Reverse of RM_STEP_OUT.
+ * Resume backward execution of the given context until control reaches the point where the current function was called.
+ */</font>
RM_REVERSE_STEP_OUT = 11,
+
+ <font color=#3F5FBF>/**
+ * Step over instructions until PC is outside the specified range.
+ * Any function call within the range is considered to be in range.
+ */</font>
RM_STEP_OVER_RANGE = 12,
+
+ <font color=#3F5FBF>/**
+ * Step instruction until PC is outside the specified range for any reason.
+ */</font>
RM_STEP_INTO_RANGE = 13,
+
+ <font color=#3F5FBF>/**
+ * Reverse of RM_STEP_OVER_RANGE
+ */</font>
RM_REVERSE_STEP_OVER_RANGE = 14,
+
+ <font color=#3F5FBF>/**
+ * Reverse of RM_STEP_INTO_RANGE
+ */</font>
RM_REVERSE_STEP_INTO_RANGE = 15,
+
+ <font color=#3F5FBF>/**
+ * Run until the context becomes active - scheduled to run on a target CPU
+ */</font>
RM_UNTIL_ACTIVE = 16,
+
+ <font color=#3F5FBF>/**
+ * Run reverse until the context becomes active
+ */</font>
RM_REVERSE_UNTIL_ACTIVE = 17;
<font color=#3F5FBF>/**
@@ -602,44 +746,133 @@ E &bull; RunControl &bull; contextStateChanged &bull; <i>&lt;string: context IDs
* a generic client might be able to handle it better.
*/</font>
<font color=#7F0055>static final</font> String
+ <font color=#3F5FBF>/** Context suspended by suspend command */</font>
REASON_USER_REQUEST = "Suspended",
+
+ <font color=#3F5FBF>/** Context suspended by step command */</font>
REASON_STEP = "Step",
+
+ <font color=#3F5FBF>/** Context suspended by breakpoint */</font>
REASON_BREAKPOINT = "Breakpoint",
+
+ <font color=#3F5FBF>/** Context suspended by exception */</font>
REASON_EXCEPTION = "Exception",
+
+ <font color=#3F5FBF>/** Context suspended as part of container */</font>
REASON_CONTAINER = "Container",
+
+ <font color=#3F5FBF>/** Context suspended by watchpoint (data breakpoint) */</font>
REASON_WATCHPOINT = "Watchpoint",
+
+ <font color=#3F5FBF>/** Context suspended because it received a signal */</font>
REASON_SIGNAL = "Signal",
+
+ <font color=#3F5FBF>/** Context suspended because a shared library is loaded or unloaded */</font>
REASON_SHAREDLIB = "Shared Library",
+
+ <font color=#3F5FBF>/** Context suspended because of an error in execution environment */</font>
REASON_ERROR = "Error";
+
+ /* Optional parameters of context state -------------------------------- */</font>
+
<font color=#3F5FBF>/**
- * Optional parameters of context state.
+ * Context state parameter:
+ * Integer - signal that caused the context to become suspended.
*/</font>
- <font color=#7F0055>static final</font> String
- STATE_SIGNAL = "Signal",
- STATE_SIGNAL_NAME = "SignalName",
- STATE_SIGNAL_DESCRIPTION = "SignalDescription",
- STATE_BREAKPOINT_IDS = "BPs",
- STATE_PC_ERROR = "PCError",
- STATE_STEP_ERROR = "StepError",
- STATE_FUNC_CALL = "FuncCall",
- STATE_REVERSING = "Reversing",
- STATE_CONTEXT = "Context",
- STATE_CPU = "CPU",
- STATE_NAME = "StateName";
+ <font color=#7F0055>static final</font> String STATE_SIGNAL = "Signal";
<font color=#3F5FBF>/**
- * Optional parameters of resume command.
+ * Context state parameter:
+ * String - name of the signal that caused the context to become suspended.
*/</font>
- <font color=#7F0055>static final</font> String
- RP_RANGE_START = "RangeStart",
- RP_RANGE_END = "RangeEnd",
- RP_STEP_INTO_HIDDEN = "StepIntoHidden";
+ <font color=#7F0055>static final</font> String STATE_SIGNAL_NAME = "SignalName";
+
+ <font color=#3F5FBF>/**
+ * Context state parameter:
+ * String - description of the signal that caused the context to become suspended.
+ */</font>
+ <font color=#7F0055>static final</font> String STATE_SIGNAL_DESCRIPTION = "SignalDescription";
+
+ <font color=#3F5FBF>/**
+ * Context state parameter:
+ * Array of string - IDs of breakpoints that were triggered by the context.
+ */</font>
+ <font color=#7F0055>static final</font> String STATE_BREAKPOINT_IDS = "BPs";
+
+ <font color=#3F5FBF>/**
+ * Context state parameter:
+ * Object - error report that describes a reason why program counter of the context is not available.
+ */</font>
+ <font color=#7F0055>static final</font> String STATE_PC_ERROR = "PCError";
+
+ <font color=#3F5FBF>/**
+ * Context state parameter:
+ * Object - error report if last stepping operation failed to reach its destination.
+ * <font color=#7F9FBF>@since</font> 1.2
+ */</font>
+ <font color=#7F0055>static final</font> String STATE_STEP_ERROR = "StepError";
+
+ <font color=#3F5FBF>/**
+ * Context state parameter:
+ * Boolean - true if the context is stopped by a function call injection.
+ * <font color=#7F9FBF>@since</font> 1.2
+ */</font>
+ <font color=#7F0055>static final</font> String STATE_FUNC_CALL = "FuncCall";
+
+ <font color=#3F5FBF>/**
+ * Context state parameter:
+ * Boolean - true if the context is running in reverse.
+ */</font>
+ <font color=#7F0055>static final</font> String STATE_REVERSING = "Reversing";
+
+ <font color=#3F5FBF>/**
+ * Context state parameter:
+ * String - name of a context that owns this context.
+ */</font>
+ <font color=#7F0055>static final</font> String STATE_CONTEXT = "Context";
+
+ <font color=#3F5FBF>/**
+ * Context state parameter:
+ * String - name of CPU that is executing the context.
+ */</font>
+ <font color=#7F0055>static final</font> String STATE_CPU = "CPU";
<font color=#3F5FBF>/**
- * Retrieve context info for given context ID.
+ * Context state parameter:
+ * String - name of current state if other than "Running", for example: "Sleeping", "Reset", "No Clock".
+ */</font>
+ <font color=#7F0055>static final</font> String STATE_NAME = "StateName";
+
+
+ /* Optional parameters of resume command ------------------------------- */</font>
+
+ <font color=#3F5FBF>/**
+ * Resume command parameter:
+ * Integer - starting address of step range, inclusive.
+ */</font>
+ <font color=#7F0055>static final</font> String RP_RANGE_START = "RangeStart";
+
+ <font color=#3F5FBF>/**
+ * Resume command parameter:
+ * Integer - ending address of step range, exclusive.
+ */</font>
+ <font color=#7F0055>static final</font> String RP_RANGE_END = "RangeEnd";
+
+ <font color=#3F5FBF>/**
+ * Resume command parameter:
+ * Boolean - allow to stop in a hidden code during stepping.
+ * <font color=#7F9FBF>@since</font> 1.4
+ */</font>
+ <font color=#7F0055>static final</font> String RP_STEP_INTO_HIDDEN = "StepIntoHidden";
+
+
+ /* Commands ------------------------------------------------------------ */</font>
+
+ <font color=#3F5FBF>/**
+ * Retrieve context properties for given context ID.
*
- * <font color=#7F9FBF>@param</font> id &ndash; 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);
@@ -649,9 +882,9 @@ E &bull; RunControl &bull; contextStateChanged &bull; <i>&lt;string: context IDs
*/</font>
<font color=#7F0055>interface</font> DoneGetContext {
<font color=#3F5FBF>/**
- * Called when contexts data retrieval is done.
- * <font color=#7F9FBF>@param</font> error &ndash; error description if operation failed, null if succeeded.
- * <font color=#7F9FBF>@param</font> context &ndash; context data.
+ * Called when context 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, RunControlContext context);
}
@@ -659,7 +892,7 @@ E &bull; RunControl &bull; contextStateChanged &bull; <i>&lt;string: context IDs
<font color=#3F5FBF>/**
* Retrieve children of given context.
*
- * <font color=#7F9FBF>@param</font> parent_context_id &ndash; parent context ID. Can be null &ndash;
+ * <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.
@@ -667,15 +900,15 @@ E &bull; RunControl &bull; contextStateChanged &bull; <i>&lt;string: context IDs
IToken getChildren(String parent_context_id, DoneGetChildren done);
<font color=#3F5FBF>/**
- * Client callback interface for getContexts().
+ * 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 &ndash; error description if operation failed, null if succeeded.
- * <font color=#7F9FBF>@param</font> contexts &ndash; array of available context IDs.
+ * Called when context list 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, RunControlError error, Context[] contexts);
+ <font color=#7F0055>void</font> doneGetChildren(IToken token, Exception error, String[] context_ids);
}
<font color=#3F5FBF>/**
@@ -686,6 +919,7 @@ E &bull; RunControl &bull; contextStateChanged &bull; <i>&lt;string: context IDs
* 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 color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
*/</font>
<font color=#7F0055>interface</font> RunControlContext {
@@ -776,8 +1010,8 @@ E &bull; RunControl &bull; contextStateChanged &bull; <i>&lt;string: context IDs
* Utility method to read context property PROP_CAN_TERMINATE.
* Value 'true' means terminate command is supported by the context,
* however the method does not check that the command can be executed successfully in
- * the current state of the context. For example, the command still can fail if context is
- * already exited.
+ * the current state of the context. For example, the command still can fail if the context
+ * already has exited.
* <font color=#7F9FBF>@return</font> value of PROP_CAN_TERMINATE.
*/</font>
<font color=#7F0055>boolean</font> canTerminate();
@@ -823,13 +1057,14 @@ E &bull; RunControl &bull; contextStateChanged &bull; <i>&lt;string: context IDs
<font color=#3F5FBF>/**
* Get the register access types allowed for this context.
* <font color=#7F9FBF>@return</font> collection of access type names.
+ * <font color=#7F9FBF>@since</font> 1.3
*/</font>
Collection&lt;String&gt; getRegAccessTypes();
<font color=#3F5FBF>/**
* Send a command to retrieve current state of a context.
* <font color=#7F9FBF>@param</font> done - command result call back object.
- * <font color=#7F9FBF>@return</font> pending command handle, PROP_CAN_DETACH be used to cancel the command.
+ * <font color=#7F9FBF>@return</font> pending command handle, can be used to cancel the command.
*/</font>
IToken getState(DoneGetState done);
@@ -852,6 +1087,17 @@ E &bull; RunControl &bull; contextStateChanged &bull; <i>&lt;string: context IDs
IToken resume(<font color=#7F0055>int</font> mode, <font color=#7F0055>int</font> count, DoneCommand done);
<font color=#3F5FBF>/**
+ * Send a command to resume a context.
+ * Also resumes children if context is a container.
+ * <font color=#7F9FBF>@param</font> mode - defines how to resume the context, see RM_*.
+ * <font color=#7F9FBF>@param</font> count - if mode implies stepping, defines how many steps to perform.
+ * <font color=#7F9FBF>@param</font> params - resume parameters, for example, step range definition, see RP_*.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle, can be used to cancel the command.
+ */</font>
+ IToken resume(<font color=#7F0055>int</font> mode, <font color=#7F0055>int</font> count, Map&lt;String,Object&gt; params, DoneCommand done);
+
+ <font color=#3F5FBF>/**
* Send a command to terminate a context.
* <font color=#7F9FBF>@param</font> done - command result call back object.
* <font color=#7F9FBF>@return</font> pending command handle, can be used to cancel the command.
@@ -867,6 +1113,15 @@ E &bull; RunControl &bull; contextStateChanged &bull; <i>&lt;string: context IDs
}
<font color=#7F0055>interface</font> DoneGetState {
+ <font color=#3F5FBF>/**
+ * Called when getState command execution is complete.
+ * <font color=#7F9FBF>@param</font> token - pending command handle.
+ * <font color=#7F9FBF>@param</font> error - command execution error or null.
+ * <font color=#7F9FBF>@param</font> suspended - true if the context is suspended
+ * <font color=#7F9FBF>@param</font> pc - program counter of the context (if suspended).
+ * <font color=#7F9FBF>@param</font> reason - suspend reason (if suspended), see REASON_*.
+ * <font color=#7F9FBF>@param</font> params - additional target specific data about context state, see STATE_*.
+ */</font>
<font color=#7F0055>void</font> doneGetState(IToken token, Exception error, <font color=#7F0055>boolean</font> suspended, String pc,
String reason, Map&lt;String,Object&gt; params);
}
@@ -898,7 +1153,7 @@ E &bull; RunControl &bull; contextStateChanged &bull; <i>&lt;string: context IDs
<font color=#7F0055>interface</font> RunControlListener {
<font color=#3F5FBF>/**
- * Called when a new contexts are created.
+ * Called when new contexts are created.
* <font color=#7F9FBF>@param</font> contexts - array of new context properties.
*/</font>
<font color=#7F0055>void</font> contextAdded(RunControlContext contexts[]);
@@ -939,8 +1194,8 @@ E &bull; RunControl &bull; contextStateChanged &bull; <i>&lt;string: context IDs
* any one of container children, for example, it can be thread that hit "suspend all" breakpoint.
* Client expected to move focus (selection) to this context.
* <font color=#7F9FBF>@param</font> pc - program counter of the context.
- * <font color=#7F9FBF>@param</font> reason - human readable description of suspend reason.
- * <font color=#7F9FBF>@param</font> params - additional target specific data about suspended context.
+ * <font color=#7F9FBF>@param</font> reason - suspend reason, see REASON_*.
+ * <font color=#7F9FBF>@param</font> params - additional target specific data about context state, see STATE_*.
* <font color=#7F9FBF>@param</font> suspended_ids - full list of all contexts that were suspended.
*/</font>
<font color=#7F0055>void</font> containerSuspended(String context, String pc,
@@ -960,6 +1215,12 @@ E &bull; RunControl &bull; contextStateChanged &bull; <i>&lt;string: context IDs
* <font color=#7F9FBF>@param</font> msg - human readable description of the exception.
*/</font>
<font color=#7F0055>void</font> contextException(String context, String msg);
+ }
+
+ <font color=#3F5FBF>/**
+ * Service events listener interface - extended.
+ */</font>
+ <font color=#7F0055>interface</font> RunControlListenerV1 <font color=#7F0055>extends</font> RunControlListener {
<font color=#3F5FBF>/**
* Called when context state changes and the context is not and was not in suspended state.
@@ -967,7 +1228,7 @@ E &bull; RunControl &bull; contextStateChanged &bull; <i>&lt;string: context IDs
* contextSuspended, contextResumed, containerSuspended, containerResumed.
* <font color=#7F9FBF>@param</font> context - ID of a context that changed state.
*/</font>
- <font color=#7F0055>void</font> contextStateChanged(String context)
+ <font color=#7F0055>void</font> contextStateChanged(String context);
}
}
</pre>
diff --git a/docs/TCF Service - Stack Trace.html b/docs/TCF Service - Stack Trace.html
index a26df93c3..9899d6a79 100755
--- a/docs/TCF Service - Stack Trace.html
+++ b/docs/TCF Service - Stack Trace.html
@@ -201,28 +201,114 @@ Client can use Run Control service to suspend a thread.</p>
<h2><a name='API'>API</a></h2>
<pre>
+<font color=#3F5FBF>/**
+ * Stack Trace service implements thread stack back tracing.
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
+ */</font>
<font color=#7F0055>public interface</font> IStackTrace <font color=#7F0055>extends</font> IService {
+ <font color=#3F5FBF>/**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */</font>
<font color=#7F0055>static final</font> String NAME = "StackTrace";
<font color=#3F5FBF>/**
- * Context property names.
+ * Stack frame context property names.
+ */</font>
+
+ <font color=#7F0055>static final</font> String PROP_ID = "ID";
+
+ <font color=#3F5FBF>/**
+ * Stack frame property:
+ * String, stack frame parent ID.
+ */</font>
+ <font color=#7F0055>static final</font> String PROP_PARENT_ID = "ParentID";
+
+ <font color=#3F5FBF>/**
+ * Stack frame property:
+ * String, stack frame process ID.
+ */</font>
+ <font color=#7F0055>static final</font> String PROP_PROCESS_ID = "ProcessID";
+
+ <font color=#3F5FBF>/**
+ * Stack frame property:
+ * String, human readable name.
+ */</font>
+ <font color=#7F0055>static final</font> String PROP_NAME = "Name";
+
+ <font color=#3F5FBF>/**
+ * Stack frame property:
+ * Boolean, true if the frame is top frame on a stack.
+ */</font>
+ <font color=#7F0055>static final</font> String PROP_TOP_FRAME = "TopFrame";
+
+ <font color=#3F5FBF>/**
+ * Stack frame property:
+ * Integer, stack frame index, starting from stack top (current frame).
+ * <font color=#7F9FBF>@since</font> 1.2
+ */</font>
+ <font color=#7F0055>static final</font> String PROP_INDEX = "Index";
+
+ <font color=#3F5FBF>/**
+ * Stack frame property:
+ * Boolean, true if the frame data was computed using symbols info,
+ * false or not set if the data was collected using stack crawl logic.
+ * <font color=#7F9FBF>@since</font> 1.2
+ */</font>
+ <font color=#7F0055>static final</font> String PROP_WALK = "Walk";
+
+ <font color=#3F5FBF>/**
+ * Stack frame property:
+ * Number, stack frame memory address.
+ */</font>
+ <font color=#7F0055>static final</font> String PROP_FRAME_ADDRESS = "FP";
+
+ <font color=#3F5FBF>/**
+ * Stack frame property:
+ * Number, return address.
+ */</font>
+ <font color=#7F0055>static final</font> String PROP_RETURN_ADDRESS = "RP";
+
+ <font color=#3F5FBF>/**
+ * Stack frame property:
+ * Number, instruction pointer.
+ */</font>
+ <font color=#7F0055>static final</font> String PROP_INSTRUCTION_ADDRESS = "IP";
+
+ <font color=#3F5FBF>/**
+ * Stack frame property:
+ * Integer, number of function arguments.
*/</font>
- <font color=#7F0055>static final</font> String
- PROP_ID = "ID", <font color=#3F5FBF>/** String, stack frame ID */</font>
- PROP_PARENT_ID = "ParentID", <font color=#3F5FBF>/** String, stack frame parent ID */</font>
- PROP_PROCESS_ID = "ProcessID", <font color=#3F5FBF>/** String, stack frame process ID */</font>
- PROP_NAME = "Name", <font color=#3F5FBF>/** String, human readable name */</font>
- PROP_TOP_FRAME = "TopFrame", <font color=#3F5FBF>/** Boolean, true if the frame is top frame on a stack */</font>
- PROP_INDEX = "Index", <font color=#3F5FBF>/** Integer, stack frame index, starting from stack top (current frame) */</font>
- PROP_WALK = "Walk", <font color=#3F5FBF>/** Boolean, true if the frame data was computed using symbols info */</font>
- PROP_FRAME_ADDRESS = "FP", <font color=#3F5FBF>/** Number, stack frame memory address */</font>
- PROP_RETURN_ADDRESS = "RP", <font color=#3F5FBF>/** Number, return address */</font>
- PROP_INSTRUCTION_ADDRESS = "IP", <font color=#3F5FBF>/** Number, instruction pointer */</font>
- PROP_ARGUMENTS_COUNT = "ArgsCnt", <font color=#3F5FBF>/** Integer, number of function arguments */</font>
- PROP_ARGUMENTS_ADDRESS = "ArgsAddr", <font color=#3F5FBF>/** Number, memory address of function arguments */</font>
- PROP_CODE_AREA = "CodeArea", <font color=#3F5FBF>/** ILineNumbers.CodeArea, source code location of the frame */</font>
- PROP_FUNC_ID = "FuncID"; <font color=#3F5FBF>/** String, function symbol ID */</font>
+ <font color=#7F0055>static final</font> String PROP_ARGUMENTS_COUNT = "ArgsCnt";
+
+ <font color=#3F5FBF>/**
+ * Stack frame property:
+ * Number, memory address of function arguments.
+ */</font>
+ <font color=#7F0055>static final</font> String PROP_ARGUMENTS_ADDRESS = "ArgsAddr";
+
+ <font color=#3F5FBF>/**
+ * Stack frame property:
+ * ILineNumbers.CodeArea - source code location of the frame.
+ * <font color=#7F9FBF>@since</font> 1.3
+ */</font>
+ <font color=#7F0055>static final</font> String PROP_CODE_AREA = "CodeArea";
+
+ <font color=#3F5FBF>/**
+ * Stack frame property:
+ * String - function symbol ID.
+ * <font color=#7F9FBF>@since</font> 1.3
+ */</font>
+ <font color=#7F0055>static final</font> String PROP_FUNC_ID = "FuncID";
+
+ <font color=#3F5FBF>/**
+ * Stack frame property:
+ * Integer, stack frame level, starting from stack bottom
+ * @deprecated, use "Index" property.
+ * Note: "Index" is counted from the top of the stack, while "Level" is counted from the bottom.
+ */</font>
+ <font color=#7F0055>static final</font> String PROP_LEVEL = "Level";
<font color=#3F5FBF>/**
* Retrieve context info for given context IDs.
@@ -230,7 +316,7 @@ Client can use Run Control service to suspend a thread.</p>
* The command will fail if parent thread is not suspended.
* Client can use Run Control service to suspend a thread.
*
- * <font color=#7F9FBF>@param</font> id &ndash; array of context IDs.
+ * <font color=#7F9FBF>@param</font> id - array of context IDs.
* <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
*/</font>
IToken getContext(String[] id, DoneGetContext done);
@@ -241,8 +327,8 @@ Client can use Run Control service to suspend a thread.</p>
<font color=#7F0055>interface</font> DoneGetContext {
<font color=#3F5FBF>/**
* Called when context data retrieval is done.
- * <font color=#7F9FBF>@param</font> error &ndash; error description if operation failed, null if succeeded.
- * <font color=#7F9FBF>@param</font> context &ndash; array of context data or null if error.
+ * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
+ * <font color=#7F9FBF>@param</font> context - array of context data or null if error.
*/</font>
<font color=#7F0055>void</font> doneGetContext(IToken token, Exception error, StackTraceContext[] context);
}
@@ -259,7 +345,7 @@ Client can use Run Control service to suspend a thread.</p>
* The command will fail if parent thread is not suspended.
* Client can use Run Control service to suspend a thread.
*
- * <font color=#7F9FBF>@param</font> parent_context_id &ndash; parent context ID.
+ * <font color=#7F9FBF>@param</font> parent_context_id - parent context ID.
* <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
*/</font>
IToken getChildren(String parent_context_id, DoneGetChildren done);
@@ -280,9 +366,9 @@ Client can use Run Control service to suspend a thread.</p>
* <font color=#7F9FBF>@param</font> range_start - start of the range (inclusive).
* <font color=#7F9FBF>@param</font> range_end - end of the range (inclusive).
* <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
- * <font color=#7F9FBF>@since 1.2</font>
+ * <font color=#7F9FBF>@since</font> 1.2
*/</font>
- IToken getChildrenRange(String parent_context_id, int range_start, int range_end, DoneGetChildren done);
+ IToken getChildrenRange(String parent_context_id, <font color=#7F0055>int</font> range_start, <font color=#7F0055>int</font> range_end, DoneGetChildren done);
<font color=#3F5FBF>/**
* Client call back interface for getChildren() and getChildrenRange().
@@ -290,14 +376,15 @@ Client can use Run Control service to suspend a thread.</p>
<font color=#7F0055>interface</font> DoneGetChildren {
<font color=#3F5FBF>/**
* Called when context ID list retrieval is done.
- * <font color=#7F9FBF>@param</font> error &ndash; error description if operation failed, null if succeeded.
- * <font color=#7F9FBF>@param</font> context_ids &ndash; array of available context IDs.
+ * <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>/**
* StackTraceContext represents stack trace objects - stacks and stack frames.
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
*/</font>
<font color=#7F0055>interface</font> StackTraceContext {
@@ -356,7 +443,7 @@ Client can use Run Control service to suspend a thread.</p>
* Get code area that describes source code location of the frame.
* If null, client should use LineNumbers service to find frame source location.
* <font color=#7F9FBF>@return</font> code area or null.
- * <font color=#7F9FBF>@since 1.3</font>
+ * <font color=#7F9FBF>@since</font> 1.3
*/</font>
ILineNumbers.CodeArea getCodeArea();
@@ -364,7 +451,7 @@ Client can use Run Control service to suspend a thread.</p>
* Get function symbol ID.
* If null, client should use Symbols service to find function symbol ID.
* <font color=#7F9FBF>@return</font> function symbol ID or null.
- * <font color=#7F9FBF>@since 1.3</font>
+ * <font color=#7F9FBF>@since</font> 1.3
*/</font>
String getFuncID();
diff --git a/docs/TCF Service - Streams.html b/docs/TCF Service - Streams.html
index 76734e1fd..ba68da3bf 100644
--- a/docs/TCF Service - Streams.html
+++ b/docs/TCF Service - Streams.html
@@ -244,10 +244,22 @@ Sent when a stream is disposed.
<h2><a name='API'>API</a></h2>
<pre>
-<font color=#7F0055>public interface</font> IStreams extends IService {
+<font color=#3F5FBF>/**
+ * Streams service is a generic interface to support streaming of data between host and remote agents.
+ *
+ * The service supports:
+ * 1. Asynchronous overlapped data streaming: multiple 'read' or 'write' command can be issued at same time, both peers
+ * can continue data processing concurrently with data transmission.
+ * 2. Multicast: multiple clients can receive data from same stream.
+ * 3. Subscription model: clients are required to expressed interest in particular streams by subscribing for the service.
+ * 4. Flow control: peers can throttle data flow of individual streams by delaying 'read' and 'write' commands.
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
+ */</font>
+<font color=#7F0055>public interface</font> IStreams <font color=#7F0055>extends</font> IService {
<font color=#3F5FBF>/**
- * Service name.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/</font>
<font color=#7F0055>static final</font> String NAME = "Streams";
@@ -343,7 +355,7 @@ Sent when a stream is disposed.
* <font color=#7F9FBF>@param</font> data - bytes read from the stream.
* <font color=#7F9FBF>@param</font> eos - true if end of stream was reached.
*/</font>
- <font color=#7F0055>void</font> doneRead(IToken token, Exception error, <font color=#7F0055>int</font> lost_size, <font color=#7F0055>byte</font>[] data, boolean eos);
+ <font color=#7F0055>void</font> doneRead(IToken token, Exception error, <font color=#7F0055>int</font> lost_size, <font color=#7F0055>byte</font>[] data, <font color=#7F0055>boolean</font> eos);
}
<font color=#3F5FBF>/**
@@ -394,6 +406,30 @@ Sent when a stream is disposed.
}
<font color=#3F5FBF>/**
+ * Connect client to a stream.
+ * Some data might be dropped from the stream by the time "connect" command is executed.
+ * Client should be able to re-sync with stream data if it wants to read from such stream.
+ * If a client wants to read a stream from the beginning it should use "subscribe" command
+ * instead of "connect".
+ * <font color=#7F9FBF>@param</font> stream_id - ID of the stream.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
+ */</font>
+ IToken connect(String stream_id, DoneConnect done);
+
+ <font color=#3F5FBF>/**
+ * Call back interface for 'connect' command.
+ */</font>
+ <font color=#7F0055>interface</font> DoneConnect {
+ <font color=#3F5FBF>/**
+ * Called when 'connect' command is done.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error object or null.
+ */</font>
+ <font color=#7F0055>void</font> doneConnect(IToken token, Exception error);
+ }
+
+ <font color=#3F5FBF>/**
* Disconnect client from a stream.
* <font color=#7F9FBF>@param</font> stream_id - ID of the stream.
* <font color=#7F9FBF>@param</font> done - command result call back object.
diff --git a/docs/TCF Service - Symbols.html b/docs/TCF Service - Symbols.html
index a1d8a3aa1..cb39f132a 100644
--- a/docs/TCF Service - Symbols.html
+++ b/docs/TCF Service - Symbols.html
@@ -32,14 +32,611 @@
<h2><a name='Overview'>Overview</a></h2>
+<p><font color=#FF7000>TBD</font></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>
+<p><font color=#FF7000>TBD</font></p>
+
<h2><a name='API'>API</a></h2>
<pre>
+<font color=#3F5FBF>/**
+ * TCF symbols service interface.
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
+ */</font>
+<font color=#7F0055>public interface</font> ISymbols <font color=#7F0055>extends</font> IService {
+
+ <font color=#3F5FBF>/**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */</font>
+ <font color=#7F0055>static final</font> String NAME = "Symbols";
+
+ enum SymbolClass {
+ unknown, // unknown symbol class
+ value, // constant value
+ reference, // variable data object
+ function, // function body
+ type, // a type
+ comp_unit, // compilation unit
+ block, // lexical block
+ namespace, // C++ namespace
+ <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.3 */</font>
+ variant_part, // a variant part of a structure
+ <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.3 */</font>
+ variant // a member of a variant part of a structure
+ }
+
+ enum TypeClass {
+ unknown, // unknown type class
+ cardinal, // unsigned integer
+ integer, // signed integer
+ real, // float, double
+ pointer, // pointer to anything.
+ array, // array of anything.
+ composite, // struct, union, or class.
+ enumeration, // enumeration type.
+ function, // function type.
+ member_pointer, // pointer to member type
+ <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.3 */</font>
+ complex // complex float
+ }
+
+ <font color=#7F0055>static final int</font>
+ SYM_FLAG_PARAMETER = 0x00000001,
+ SYM_FLAG_TYPEDEF = 0x00000002,
+ SYM_FLAG_CONST_TYPE = 0x00000004,
+ SYM_FLAG_PACKET_TYPE = 0x00000008,
+ SYM_FLAG_SUBRANGE_TYPE = 0x00000010,
+ SYM_FLAG_VOLATILE_TYPE = 0x00000020,
+ SYM_FLAG_RESTRICT_TYPE = 0x00000040,
+ SYM_FLAG_UNION_TYPE = 0x00000080,
+ SYM_FLAG_CLASS_TYPE = 0x00000100,
+ SYM_FLAG_INTERFACE_TYPE = 0x00000200,
+ SYM_FLAG_SHARED_TYPE = 0x00000400,
+ SYM_FLAG_REFERENCE = 0x00000800,
+ SYM_FLAG_BIG_ENDIAN = 0x00001000,
+ SYM_FLAG_LITTLE_ENDIAN = 0x00002000,
+ SYM_FLAG_OPTIONAL = 0x00004000,
+ SYM_FLAG_EXTERNAL = 0x00008000,
+ SYM_FLAG_VARARG = 0x00010000,
+ SYM_FLAG_ARTIFICIAL = 0x00020000,
+ SYM_FLAG_TYPE_PARAMETER = 0x00040000,
+ SYM_FLAG_PRIVATE = 0x00080000,
+ SYM_FLAG_PROTECTED = 0x00100000,
+ SYM_FLAG_PUBLIC = 0x00200000,
+ SYM_FLAG_ENUM_TYPE = 0x00400000,
+ SYM_FLAG_STRUCT_TYPE = 0x00800000,
+ SYM_FLAG_STRING_TYPE = 0x01000000,
+ SYM_FLAG_INHERITANCE = 0x02000000;
+ <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.3 */</font>
+ <font color=#7F0055>static final int</font>
+ SYM_FLAG_BOOL_TYPE = 0x04000000,
+ SYM_FLAG_INDIRECT = 0x08000000,
+ SYM_FLAG_RVALUE = 0x10000000;
+
+ <font color=#3F5FBF>/**
+ * Symbol context interface.
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
+ */</font>
+ <font color=#7F0055>interface</font> Symbol {
+ <font color=#3F5FBF>/**
+ * Get symbol ID.
+ * <font color=#7F9FBF>@return</font> symbol ID.
+ */</font>
+ String getID();
+
+ <font color=#3F5FBF>/**
+ * Get symbol owner ID.
+ * The owner can be a thread or memory space (process).
+ * Certain changes in owner state can invalidate cached symbol properties,
+ * see getUpdatePolicy() and UPDATE_*.
+ */</font>
+ String getOwnerID();
+
+ <font color=#3F5FBF>/**
+ * Get symbol properties update policy ID.
+ * Symbol properties can change during program execution.
+ * If a client wants to cache symbols, it should invalidate cached data
+ * according to update policies of cached symbols.
+ * <font color=#7F9FBF>@return</font> symbol update policy ID, see UPDATE_*
+ */</font>
+ <font color=#7F0055>int</font> getUpdatePolicy();
+
+ <font color=#3F5FBF>/**
+ * Get symbol name.
+ * <font color=#7F9FBF>@return</font> symbol name or null.
+ */</font>
+ String getName();
+
+ <font color=#3F5FBF>/**
+ * Get symbol class.
+ * <font color=#7F9FBF>@return</font> symbol class.
+ */</font>
+ SymbolClass getSymbolClass();
+
+ <font color=#3F5FBF>/**
+ * Get symbol type class.
+ * <font color=#7F9FBF>@return</font> type class.
+ */</font>
+ TypeClass getTypeClass();
+
+ <font color=#3F5FBF>/**
+ * Get type ID.
+ * If the symbol is a type and not a 'typedef', return same as getID().
+ * <font color=#7F9FBF>@return</font> type ID.
+ */</font>
+ String getTypeID();
+
+ <font color=#3F5FBF>/**
+ * Get base type ID.
+ * If this symbol is a
+ * pointer type - return pointed type;
+ * array type - return element type;
+ * function type - return function result type;
+ * otherwise return null.
+ * <font color=#7F9FBF>@return</font> type ID.
+ */</font>
+ String getBaseTypeID();
+
+ <font color=#3F5FBF>/**
+ * Get index type ID.
+ * If this symbol is a
+ * array type - return array index type;
+ * otherwise return null.
+ * <font color=#7F9FBF>@return</font> type ID.
+ */</font>
+ String getIndexTypeID();
+
+ <font color=#3F5FBF>/**
+ * Get container type ID.
+ * If this symbol is a
+ * field or member - return containing class type;
+ * member pointer - return containing class type;
+ * otherwise return null.
+ * <font color=#7F9FBF>@return</font> type ID.
+ */</font>
+ String getContainerID();
+
+ <font color=#3F5FBF>/**
+ * Return value size of the symbol (or type).
+ * <font color=#7F9FBF>@return</font> size in bytes.
+ */</font>
+ <font color=#7F0055>int</font> getSize();
+
+ <font color=#3F5FBF>/**
+ * If symbol is an array type - return number of elements.
+ * <font color=#7F9FBF>@return</font> number of elements.
+ */</font>
+ <font color=#7F0055>int</font> getLength();
+
+ <font color=#3F5FBF>/**
+ * If symbol is an array type - return array index lower bound.
+ * <font color=#7F9FBF>@return</font> lower bound.
+ */</font>
+ Number getLowerBound();
+
+ <font color=#3F5FBF>/**
+ * If symbol is an array type - return array index upper bound.
+ * <font color=#7F9FBF>@return</font> upper bound.
+ */</font>
+ Number getUpperBound();
+
+ <font color=#3F5FBF>/**
+ * If symbol is an array type - return array stride in bits.
+ * <font color=#7F9FBF>@return</font> stride in bits.
+ * <font color=#7F9FBF>@since</font> 1.3
+ */</font>
+ Number getBitStride();
+
+ <font color=#3F5FBF>/**
+ * Return offset from 'this' for member of class, struct or union.
+ * <font color=#7F9FBF>@return</font> offset in bytes.
+ */</font>
+ <font color=#7F0055>int</font> getOffset();
+
+ <font color=#3F5FBF>/**
+ * Return address of the symbol.
+ * <font color=#7F9FBF>@return</font> address or null.
+ */</font>
+ Number getAddress();
+
+ <font color=#3F5FBF>/**
+ * If symbol is a constant object, return its value.
+ * <font color=#7F9FBF>@return</font> symbol value as array of bytes.
+ */</font>
+ <font color=#7F0055>byte</font>[] getValue();
+
+ <font color=#3F5FBF>/**
+ * Get symbol values endianness.
+ * Only valid when getValue() != null.
+ * Note: this is endianness of byte array returned by getValue() method,
+ * and it can be different from endianness of the symbol itself,
+ * which is reported by SYM_FLAG_BIG_ENDIAN/SYM_FLAG_LITTLE_ENDIAN.
+ * <font color=#7F9FBF>@return</font> true if symbol value is big-endian.
+ */</font>
+ <font color=#7F0055>boolean</font> isBigEndian();
+
+ <font color=#3F5FBF>/**
+ * Return register ID if the symbol represents a register variable.
+ * <font color=#7F9FBF>@return</font> register ID or null.
+ */</font>
+ String getRegisterID();
+
+ <font color=#3F5FBF>/**
+ * Return symbol flags, see SYM_FLAG_*.
+ * <font color=#7F9FBF>@return</font> bit set of symbol flags.
+ */</font>
+ <font color=#7F0055>int</font> getFlags();
+
+ <font color=#3F5FBF>/**
+ * Get value of the given flag.
+ * <font color=#7F9FBF>@param</font> flag - one of SYM_FLAG_*.
+ * <font color=#7F9FBF>@return</font> the flag value.
+ */</font>
+ <font color=#7F0055>boolean</font> getFlag(<font color=#7F0055>int</font> flag);
+
+ <font color=#3F5FBF>/**
+ * Get complete map of context properties.
+ * <font color=#7F9FBF>@return</font> map of context properties.
+ */</font>
+ Map&lt;String,Object&gt; getProperties();
+ }
+
+ <font color=#3F5FBF>/**
+ * Symbol context property names.
+ */</font>
+ <font color=#7F0055>static final</font> String
+ PROP_ID = "ID",
+ PROP_OWNER_ID = "OwnerID",
+ PROP_UPDATE_POLICY = "UpdatePolicy",
+ PROP_NAME = "Name",
+ PROP_SYMBOL_CLASS = "Class",
+ PROP_TYPE_CLASS = "TypeClass",
+ PROP_TYPE_ID = "TypeID",
+ PROP_BASE_TYPE_ID = "BaseTypeID",
+ PROP_INDEX_TYPE_ID = "IndexTypeID",
+ PROP_CONTAINER_ID = "ContainerID",
+ PROP_SIZE = "Size",
+ PROP_LENGTH = "Length",
+ PROP_LOWER_BOUND = "LowerBound",
+ PROP_UPPER_BOUND = "UpperBound",
+ PROP_OFFSET = "Offset",
+ PROP_ADDRESS = "Address",
+ PROP_VALUE = "Value",
+ PROP_BIG_ENDIAN = "BigEndian",
+ PROP_REGISTER = "Register",
+ PROP_FLAGS = "Flags";
+ <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.3 */</font>
+ <font color=#7F0055>static final</font> String
+ PROP_BIT_STRIDE = "BitStride",
+ PROP_BINARY_SCALE = "BinaryScale",
+ PROP_DECIMAL_SCALE = "DecimalScale";
+
+ <font color=#3F5FBF>/**
+ * Symbol context properties update policies.
+ */</font>
+ <font color=#7F0055>static final int</font>
+ <font color=#3F5FBF>/**
+ * Update policy "Memory Map": symbol properties become invalid when
+ * memory map changes - when modules are loaded or unloaded.
+ * Symbol OwnerID indicates memory space (process) that is invalidation events source.
+ * Most static variables and types have this update policy.
+ */</font>
+ UPDATE_ON_MEMORY_MAP_CHANGES = 0,
+
+ <font color=#3F5FBF>/**
+ * Update policy "Execution State": symbol properties become invalid when
+ * execution state changes - a thread is suspended, resumed or exited.
+ * Symbol OwnerID indicates executable context (thread) that is invalidation events source.
+ * Most stack (auto) variables have this update policy.
+ */</font>
+ UPDATE_ON_EXE_STATE_CHANGES = 1;
+
+ <font color=#3F5FBF>/**
+ * Retrieve symbol context info for given symbol ID.
+ * @see Symbol
+ *
+ * <font color=#7F9FBF>@param</font> id - symbol context ID.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
+ */</font>
+ IToken getContext(String id, DoneGetContext done);
+
+ <font color=#3F5FBF>/**
+ * Client call back interface for getContext().
+ */</font>
+ <font color=#7F0055>interface</font> DoneGetContext {
+ <font color=#3F5FBF>/**
+ * Called when context data retrieval is done.
+ * <font color=#7F9FBF>@param</font> token - command handle
+ * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
+ * <font color=#7F9FBF>@param</font> context - context properties.
+ */</font>
+ <font color=#7F0055>void</font> doneGetContext(IToken token, Exception error, Symbol context);
+ }
+
+ <font color=#3F5FBF>/**
+ * Retrieve children IDs for given parent ID.
+ * Meaning of the operation depends on parent kind:
+ * 1. struct, union, or class type - get fields;
+ * 2. enumeration type - get enumerators;
+ *
+ * <font color=#7F9FBF>@param</font> parent_context_id - parent symbol context ID.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
+ */</font>
+ IToken getChildren(String parent_context_id, DoneGetChildren done);
+
+ <font color=#3F5FBF>/**
+ * Client call back interface for getChildren().
+ */</font>
+ <font color=#7F0055>interface</font> DoneGetChildren {
+ <font color=#3F5FBF>/**
+ * Called when context list retrieval is done.
+ * <font color=#7F9FBF>@param</font> token - command handle
+ * <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>/**
+ * Search symbol with given name in given context.
+ * Return first symbol that matches.
+ * The context can be memory space, process, thread or stack frame.
+ *
+ * <font color=#7F9FBF>@param</font> context_id - a search scope.
+ * <font color=#7F9FBF>@param</font> ip - instruction pointer - ignored if context_id is a stack frame ID
+ * <font color=#7F9FBF>@param</font> name - symbol name.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
+ */</font>
+ IToken find(String context_id, Number ip, String name, DoneFind done);
+
+ <font color=#3F5FBF>/**
+ * Search symbol with given name in given context.
+ * Return all symbol that matches, starting with current scope and going up to compilation unit global scope.
+ * The context can be memory space, process, thread or stack frame.
+ *
+ * <font color=#7F9FBF>@param</font> context_id - a search scope.
+ * <font color=#7F9FBF>@param</font> ip - instruction pointer - ignored if context_id is a stack frame ID
+ * <font color=#7F9FBF>@param</font> name - symbol name.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
+ */</font>
+ IToken findByName(String context_id, Number ip, String name, DoneFindAll done);
+
+ <font color=#3F5FBF>/**
+ * Search symbol with given address in given context.
+ * Return first matching symbol.
+ * The context can be memory space, process, thread or stack frame.
+ *
+ * <font color=#7F9FBF>@param</font> context_id - a search scope.
+ * <font color=#7F9FBF>@param</font> addr - symbol address.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
+ */</font>
+ IToken findByAddr(String context_id, Number addr, DoneFind done);
+
+ <font color=#3F5FBF>/**
+ * Search symbol with given address in given context.
+ * Return all matching symbols.
+ * The context can be memory space, process, thread or stack frame.
+ *
+ * <font color=#7F9FBF>@param</font> context_id - a search scope.
+ * <font color=#7F9FBF>@param</font> addr - symbol address.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
+ * <font color=#7F9FBF>@since</font> 1.3
+ */</font>
+ IToken findByAddr(String context_id, Number addr, DoneFindAll done);
+
+ <font color=#3F5FBF>/**
+ * Search symbol with given address in given context.
+ * The context can be memory space, process, thread or stack frame.
+ *
+ * <font color=#7F9FBF>@param</font> context_id - a search scope.
+ * <font color=#7F9FBF>@param</font> ip - instruction pointer - ignored if context_id is a stack frame ID
+ * <font color=#7F9FBF>@param</font> scope_id - a symbols ID of visibility scope.
+ * <font color=#7F9FBF>@param</font> name - symbol name.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
+ */</font>
+ IToken findInScope(String context_id, Number ip, String scope_id, String name, DoneFindAll done);
+
+ <font color=#3F5FBF>/**
+ * Client call back interface for find() and findByAddr().
+ */</font>
+ <font color=#7F0055>interface</font> DoneFind {
+ <font color=#3F5FBF>/**
+ * Called when symbol search is done.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
+ * <font color=#7F9FBF>@param</font> symbol_id - symbol ID.
+ */</font>
+ <font color=#7F0055>void</font> doneFind(IToken token, Exception error, String symbol_id);
+ }
+
+ <font color=#3F5FBF>/**
+ * Client call back interface for findByName(), findInScope() and findByAddr().
+ */</font>
+ <font color=#7F0055>interface</font> DoneFindAll {
+ <font color=#3F5FBF>/**
+ * Called when symbol search is done.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
+ * <font color=#7F9FBF>@param</font> symbol_id - symbol ID.
+ */</font>
+ <font color=#7F0055>void</font> doneFind(IToken token, Exception error, String[] symbol_ids);
+ }
+
+ <font color=#3F5FBF>/**
+ * List all symbols in given context.
+ * The context can be a stack frame.
+ *
+ * <font color=#7F9FBF>@param</font> context_id - a scope.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
+ */</font>
+ IToken list(String context_id, DoneList done);
+
+ <font color=#3F5FBF>/**
+ * Client call back interface for list().
+ */</font>
+ <font color=#7F0055>interface</font> DoneList {
+ <font color=#3F5FBF>/**
+ * Called when symbol list retrieval is done.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
+ * <font color=#7F9FBF>@param</font> symbol_ids - array of symbol IDs.
+ */</font>
+ <font color=#7F0055>void</font> doneList(IToken token, Exception error, String[] symbol_ids);
+ }
+
+ <font color=#3F5FBF>/***********************************************************************************************/
+
+ <font color=#3F5FBF>/**
+ * Command codes that used to calculate frame pointer and register values during stack tracing.
+ */</font>
+ <font color=#7F0055>static final int</font>
+ <font color=#3F5FBF>/** Load a number to the evaluation stack. Command argument is the number. */</font>
+ CMD_NUMBER = 1,
+
+ <font color=#3F5FBF>/** Load a register value to the evaluation stack. Command argument is the register ID. */</font>
+ CMD_RD_REG = 2,
+
+ <font color=#3F5FBF>/** Load frame address to the evaluation stack. */</font>
+ CMD_FP = 3,
+
+ <font color=#3F5FBF>/** Read memory at address on the top of the evaluation stack. Command arguments are
+ * the value size (Number) and endianness (Boolean, false - little-endian, true - big-endian). */</font>
+ CMD_RD_MEM = 4,
+
+ <font color=#3F5FBF>/** Integer arithmetic and bit-wise <font color=#7F0055>boolean</font> operations */</font>
+ CMD_ADD = 5,
+ CMD_SUB = 6,
+ CMD_MUL = 7,
+ CMD_DIV = 8,
+ CMD_AND = 9,
+ CMD_OR = 10,
+ CMD_XOR = 11,
+ CMD_NEG = 12,
+ CMD_GE = 13,
+ CMD_GT = 14,
+ CMD_LE = 15,
+ CMD_LT = 16,
+ CMD_SHL = 17,
+ CMD_SHR = 18,
+
+ <font color=#3F5FBF>/** Load expression argument to evaluation stack. */</font>
+ CMD_ARG = 19,
+
+ <font color=#3F5FBF>/** Evaluate DWARF location expression. Command arguments are byte array of
+ * DWARF expression instructions and an object that contains evaluation parameters. */</font>
+ CMD_LOCATION = 20,
+
+ CMD_FCALL = 21,
+ CMD_WR_REG = 22,
+ CMD_WR_MEM = 23,
+ CMD_PIECE = 24;
+
+ <font color=#3F5FBF>/**
+ * @deprecated
+ */</font>
+ <font color=#7F0055>static final int</font>
+ CMD_REGISTER = 2,
+ CMD_DEREF = 4;
+
+ <font color=#3F5FBF>/**
+ * Symbol location properties.
+ */</font>
+ <font color=#7F0055>static final</font> String
+ <font color=#3F5FBF>/** Number, start address of code range where the location info is valid, or null if it is valid everywhere */</font>
+ LOC_CODE_ADDR = "CodeAddr",
+ <font color=#3F5FBF>/** Number, size in bytes of code range where the location info is valid, or null if it is valid everywhere */</font>
+ LOC_CODE_SIZE = "CodeSize",
+ <font color=#3F5FBF>/** Number, number of argument required to execute location instructions */</font>
+ LOC_ARG_CNT = "ArgCnt",
+ <font color=#3F5FBF>/** List, instructions to compute object value location, e.g. address, or offset, or register ID, etc. */</font>
+ LOC_VALUE_CMDS = "ValueCmds",
+ <font color=#3F5FBF>/** List, instructions to compute dynamic array length location */</font>
+ LOC_LENGTH_CMDS = "LengthCmds";
+
+ <font color=#3F5FBF>/**
+ * Retrieve symbol location information.
+ * <font color=#7F9FBF>@param</font> symbol_id - symbol ID.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
+ */</font>
+ IToken getLocationInfo(String symbol_id, DoneGetLocationInfo done);
+
+ <font color=#3F5FBF>/**
+ * Client call back interface for getLocationInfo().
+ */</font>
+ <font color=#7F0055>interface</font> DoneGetLocationInfo {
+ <font color=#3F5FBF>/**
+ * Called when location information retrieval is done.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
+ * <font color=#7F9FBF>@param</font> props - symbol location properties, see LOC_*.
+ */</font>
+ <font color=#7F0055>void</font> doneGetLocationInfo(IToken token, Exception error, Map&lt;String,Object&gt; props);
+ }
+
+ <font color=#3F5FBF>/**
+ * Retrieve stack tracing commands for given instruction address in a context memory.
+ * <font color=#7F9FBF>@param</font> context_id - executable context ID.
+ * <font color=#7F9FBF>@param</font> address - instruction address.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
+ */</font>
+ IToken findFrameInfo(String context_id, Number address, DoneFindFrameInfo done);
+
+ <font color=#3F5FBF>/**
+ * Client call back interface for findFrameInfo().
+ */</font>
+ <font color=#7F0055>interface</font> DoneFindFrameInfo {
+ <font color=#3F5FBF>/**
+ * Called when stack tracing information retrieval is done.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
+ * <font color=#7F9FBF>@param</font> address - start of instruction address range
+ * <font color=#7F9FBF>@param</font> size - size of instruction address range
+ * <font color=#7F9FBF>@param</font> fp_cmds - commands to calculate stack frame pointer
+ * <font color=#7F9FBF>@param</font> reg_cmds - map register IDs -&gt; commands to calculate register values
+ */</font>
+ <font color=#7F0055>void</font> doneFindFrameInfo(IToken token, Exception error,
+ Number address, Number size,
+ Object[] fp_cmds, Map&lt;String,Object[]&gt; reg_cmds);
+ }
+
+ <font color=#3F5FBF>/**
+ * Get symbol file info for a module that contains given address in a memory space.
+ * <font color=#7F9FBF>@param</font> context_id - a memory space (process) ID.
+ * <font color=#7F9FBF>@param</font> address - an address in the memory space.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> - pending command handle.
+ */</font>
+ IToken getSymFileInfo(String context_id, Number address, DoneGetSymFileInfo done);
+
+ <font color=#3F5FBF>/**
+ * Client call back interface for getSymFileInfo().
+ */</font>
+ <font color=#7F0055>interface</font> DoneGetSymFileInfo {
+ <font color=#3F5FBF>/**
+ * Called when symbol file information retrieval is done.
+ * <font color=#7F9FBF>@param</font> token - command handle.
+ * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded.
+ * <font color=#7F9FBF>@param</font> props - symbol file properties.
+ */</font>
+ <font color=#7F0055>void</font> doneGetSymFileInfo(IToken token, Exception error, Map&lt;String,Object&gt; props);
+ }
+}
</pre>
</body>
diff --git a/docs/TCF Service - System Monitor.html b/docs/TCF Service - System Monitor.html
index 633326640..6eeba35bb 100644
--- a/docs/TCF Service - System Monitor.html
+++ b/docs/TCF Service - System Monitor.html
@@ -321,14 +321,26 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;a
<h2><a name='API'>API</a></h2>
<pre>
+<font color=#3F5FBF>/**
+ * This is optional service that can be implemented by a peer.
+ * If implemented, 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'.
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
+ */</font>
<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>/**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */</font>
+ static final String NAME = "SysMonitor";
<font color=#3F5FBF>/**
* Retrieve context info for given context ID.
*
- * <font color=#7F9FBF>@param</font> id &ndash; 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);
@@ -338,9 +350,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;a
*/</font>
<font color=#7F0055>interface</font> DoneGetContext {
<font color=#3F5FBF>/**
- * Called when contexts data retrieval is done.
- * <font color=#7F9FBF>@param</font> error &ndash; error description if operation failed, null if succeeded.
- * <font color=#7F9FBF>@param</font> context &ndash; context data.
+ * Called when context 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);
}
@@ -348,7 +360,7 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;a
<font color=#3F5FBF>/**
* Retrieve children of given context.
*
- * <font color=#7F9FBF>@param</font> parent_context_id &ndash; parent context ID. Can be null &ndash;
+ * <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.
@@ -360,9 +372,9 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;a
*/</font>
<font color=#7F0055>interface</font> DoneGetChildren {
<font color=#3F5FBF>/**
- * Called when contexts data retrieval is done.
- * <font color=#7F9FBF>@param</font> error &ndash; error description if operation failed, null if succeeded.
- * <font color=#7F9FBF>@param</font> context_ids &ndash; array of available context IDs.
+ * Called when context list 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);
}
@@ -404,7 +416,7 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;a
<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>
+ * is paging. */</font>
PROP_STATE = "State",
<font color=#3F5FBF>/** System ID of the parent process */</font>
@@ -530,6 +542,29 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;a
<font color=#3F5FBF>/** Scheduling policy */</font>
PROP_POLICY = "Policy";
+ <font color=#3F5FBF>/**
+ * Context property extension.
+ * <font color=#7F9FBF>@since</font> 1.4
+ */</font>
+ <font color=#7F0055>static final</font> String
+ <font color=#3F5FBF>/** Full path to executable file of the process */</font>
+ PROP_EXE = "Exe",
+
+ <font color=#3F5FBF>/** Executable type (integer). Value is one of:
+ * 0 = user process
+ * 1 = kernel thread
+ * 2 = access denied
+ * See also EXETYPE_* constants */</font>
+ PROP_EXETYPE = "ExeType";
+
+ <font color=#3F5FBF>/**
+ * ExeType property values.
+ * <font color=#7F9FBF>@since</font> 1.4
+ */</font>
+ <font color=#7F0055>static final int</font>
+ EXETYPE_USER = 0,
+ EXETYPE_KERNEL = 1,
+ EXETYPE_ACCESS_DENIED = 2;
<font color=#3F5FBF>/**
* A context corresponds to an execution thread, process, address space, etc.
@@ -544,115 +579,115 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;a
<font color=#3F5FBF>/**
* Get context ID.
- * Same as getProperties().get(&ldquo;ID&rdquo;)
+ * Same as getProperties().get("ID")
*/</font>
String getID();
<font color=#3F5FBF>/**
* Get parent context ID.
- * Same as getProperties().get(&ldquo;ParentID&rdquo;)
+ * Same as getProperties().get("ParentID")
*/</font>
String getParentID();
<font color=#3F5FBF>/**
* Get process group ID.
- * Same as getProperties().get(&ldquo;PGRP&rdquo;)
+ * Same as getProperties().get("PGRP")
*/</font>
<font color=#7F0055>long</font> getPGRP();
<font color=#3F5FBF>/**
* Get process ID.
- * Same as getProperties().get(&ldquo;PID&rdquo;)
+ * Same as getProperties().get("PID")
*/</font>
<font color=#7F0055>long</font> getPID();
<font color=#3F5FBF>/**
* Get process parent ID.
- * Same as getProperties().get(&ldquo;PPID&rdquo;)
+ * Same as getProperties().get("PPID")
*/</font>
<font color=#7F0055>long</font> getPPID();
<font color=#3F5FBF>/**
* Get process TTY group ID.
- * Same as getProperties().get(&ldquo;TGID&rdquo;)
+ * Same as getProperties().get("TGID")
*/</font>
<font color=#7F0055>long</font> getTGID();
<font color=#3F5FBF>/**
* Get tracer process ID.
- * Same as getProperties().get(&ldquo;TracerPID&rdquo;)
+ * Same as getProperties().get("TracerPID")
*/</font>
<font color=#7F0055>long</font> getTracerPID();
<font color=#3F5FBF>/**
* Get process owner user ID.
- * Same as getProperties().get(&ldquo;UID&rdquo;)
+ * Same as getProperties().get("UID")
*/</font>
<font color=#7F0055>long</font> getUID();
<font color=#3F5FBF>/**
* Get process owner user name.
- * Same as getProperties().get(&ldquo;UserName&rdquo;)
+ * Same as getProperties().get("UserName")
*/</font>
String getUserName();
<font color=#3F5FBF>/**
* Get process owner user group ID.
- * Same as getProperties().get(&ldquo;UGID&rdquo;)
+ * 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(&ldquo;GroupName&rdquo;)
+ * Same as getProperties().get("GroupName")
*/</font>
String getGroupName();
<font color=#3F5FBF>/**
* Get process state.
- * Same as getProperties().get(&ldquo;State&rdquo;)
+ * Same as getProperties().get("State")
*/</font>
String getState();
<font color=#3F5FBF>/**
* Get process virtual memory size in bytes.
- * Same as getProperties().get(&ldquo;VSize&rdquo;)
+ * 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(&ldquo;PSize&rdquo;)
+ * 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(&ldquo;RSS&rdquo;)
+ * Same as getProperties().get("RSS")
*/</font>
<font color=#7F0055>long</font> getRSS();
<font color=#3F5FBF>/**
* Get context executable file.
- * Same as getProperties().get(&ldquo;File&rdquo;)
+ * Same as getProperties().get("File")
*/</font>
String getFile();
<font color=#3F5FBF>/**
* Get context current file system root.
- * Same as getProperties().get(&ldquo;Root&rdquo;)
+ * Same as getProperties().get("Root")
*/</font>
String getRoot();
<font color=#3F5FBF>/**
* Get context current working directory.
- * Same as getProperties().get(&ldquo;CWD&rdquo;)
+ * Same as getProperties().get("CWD")
*/</font>
String getCurrentWorkingDirectory();
<font color=#3F5FBF>/**
* Get all available context properties.
- * @return Map 'property name' -> 'property value'
+ * <font color=#7F9FBF>@return</font> Map 'property name' -&gt; 'property value'
*/</font>
Map&lt;String,Object&gt; getProperties();
}
diff --git a/docs/TCF Service - Terminals.html b/docs/TCF Service - Terminals.html
index 3fd8094d9..e2c947a29 100644
--- a/docs/TCF Service - Terminals.html
+++ b/docs/TCF Service - Terminals.html
@@ -175,254 +175,228 @@ Sent when a terminal is exited. "terminal ID" is the ID of the terminal. "exit c
Sent when a terminal's window size is changed. "terminal ID" is the ID
of the terminal. "newWidth" is the new width of the terminal,
"newHight" is the new height of the terminal.<br>
-<h2><a name="API">API</a></h2>
-<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(127, 0, 85);" lang="EN-US">public interface</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US"> ITerminals <span style="color: rgb(127, 0, 85);">extends</span> IService {<br>
-<br>
-<span style="">&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(127, 0, 85);">static
-final</span> String NAME = "Terminals";<o:p></o:p></span></p>
-
-
-<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* Retrieve context info for given
-context ID.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* A context corresponds to an
-terminal.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* Context IDs are valid across TCF
-services, so it is allowed to issue<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* 'ITerminals.getContext' command
-with a context that was obtained,<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* for example, from Memory service.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* However, 'ITerminals.getContext'
-is supposed to return only terminal specific data,<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* If the ID is not a terminal ID, 'ITerminals.getContext'
-may not return any<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* useful information<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="color: rgb(127, 159, 191);">@param</span><span style="color: rgb(63, 95, 191);"> id &#8211; context ID.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="color: rgb(127, 159, 191);">@param</span><span style="color: rgb(63, 95, 191);"> done - call back interface called when operation is
-completed.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><br>
-<span style="">&nbsp;&nbsp;&nbsp; </span>IToken getContext(String id,
-DoneGetContext done);<br>
-<br>
-<span style="">&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* Client call back interface for
-getContext().<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><br>
-<span style="">&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(127, 0, 85);">interface</span>
-DoneGetContext {<br>
-<span style="">&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(63, 95, 191);">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* Called when contexts data
-retrieval is done.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="color: rgb(127, 159, 191);">@param</span><span style="color: rgb(63, 95, 191);"> error &#8211; error description if
-operation failed, null if succeeded.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="color: rgb(127, 159, 191);">@param</span><span style="color: rgb(63, 95, 191);"> context &#8211; context data.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(127, 0, 85);">void</span>
-doneGetContext(IToken token, Exception error, TerminalContext context);<br>
-<span style="">&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
-
-
-<p class="MsoNormal" style="text-align: left; text-indent: 21pt;" align="left"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(63, 95, 191);" lang="EN-US">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* Context property names.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US"><br>
-<span style="">&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(127, 0, 85);">static final</span> String<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**
-The TCF context ID */</span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>PROP_ID = "ID",<br>
-<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**
-The process ID of the login process of the terminal */</span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>PROP_PROCESS_ID = "ProcessID",<br>
-<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**
-The PTY type */</span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>PROP_PTY_TYPE = "PtyType",<br>
-<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**
-terminal encoding */</span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>PROP_ENCODING = "Encoding",<br>
-<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**
-window width size */</span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>PROP_WIDTH = "Width",<o:p></o:p></span></p>
-
-<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(63, 95, 191);" lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/** window
-height size */</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US"><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>PROP_WIDTH = "Height",<br>
-<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**
-Process standard input stream ID */</span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>PROP_STDIN_ID = "StdInID",<br>
-<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**
-Process standard output stream ID */</span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>PROP_STDOUT_ID =
-"StdOutID",<br>
-<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**
-Process standard error stream ID */</span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>PROP_STDERR_ID =
-"StdErrID";<o:p></o:p></span></p>
-
-<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(127, 0, 85);" lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp; </span>interface</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US"> TerminalContext {<br>
-<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* Get context ID.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp;</span>* Same as getProperties().get(&#8220;ID&#8221;)<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>String getID();<br>
-<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* Get terminal type.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* Same as getProperties().get(&#8220;</span><span style="color: rgb(51, 51, 153);">PtyType</span><span style="color: rgb(63, 95, 191);">&#8221;)<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>String getPtyType();<br>
-<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* Get encoding.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;</span>* Same as getProperties().get(&#8220;</span><span style="color: rgb(51, 51, 153);">Encoding</span><span style="color: rgb(63, 95, 191);">&#8221;)<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>String getEncoding();<o:p></o:p></span></p>
-
-<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* Get width.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* Same as getProperties().get(&#8220;</span><span style="color: rgb(51, 51, 153);">Width</span><span style="color: rgb(63, 95, 191);">&#8221;)<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>int getWidth();<o:p></o:p></span></p>
-
-<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* Get height.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp;</span>* Same as getProperties().get(&#8220;</span><span style="color: rgb(51, 51, 153);">Height</span><span style="color: rgb(63, 95, 191);">&#8221;)<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>int getHeight();<o:p></o:p><br>
-<span style=""></span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* Get all available context
-properties.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="color: rgb(127, 159, 191);">@return</span><span style="color: rgb(63, 95, 191);"> Map 'property name' -&gt;
-'property value'<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Map&lt;String, Object&gt;
-getProperties();<br>
-<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* Exit the terminal.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="color: rgb(127, 159, 191);">@param</span><span style="color: rgb(63, 95, 191);"> done - call back interface
-called when operation is completed.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="color: rgb(127, 159, 191);">@return</span><span style="color: rgb(63, 95, 191);"> pending command handle, can
-be used to cancel the command.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>IToken exit(DoneCommand done);<o:p></o:p></span></p>
-
-<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp; </span>}<br>
-<br>
-<span style="">&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(127, 0, 85);">interface</span>
-DoneCommand {<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(127, 0, 85);">void</span>
-doneCommand(IToken token, Exception error);<br>
-<span style="">&nbsp;&nbsp;&nbsp; </span>}</span></p>
-
-<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(63, 95, 191);" lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp; </span>/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* Launch a new terminal to remote machine.<o:p></o:p><br>
-<span style="">&nbsp;&nbsp; &nbsp; </span>* </span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(127, 159, 191);" lang="EN-US">@param</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(63, 95, 191);" lang="EN-US"> type - requested
-terminal type for the new terminal.</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US"><o:p></o:p></span><br>
-<span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(63, 95, 191);" lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(127, 159, 191);" lang="EN-US">@param</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(63, 95, 191);" lang="EN-US"> encoding -
-requested encoding for the new terminal.</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US"><o:p></o:p></span><br>
-<span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(63, 95, 191);" lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(127, 159, 191);" lang="EN-US">@param</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(63, 95, 191);" lang="EN-US"> environment -
-Array of environment variable strings.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* if null then default set of
-environment variables will be used.</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US"><o:p></o:p></span><br>
-<span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(63, 95, 191);" lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(127, 159, 191);" lang="EN-US">@param</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(63, 95, 191);" lang="EN-US"> done - call back
-interface called when operation is completed.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(127, 159, 191);" lang="EN-US">@return</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(63, 95, 191);" lang="EN-US"> pending command handle, can be used to
-cancel the command.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US"><br>
-<span style="">&nbsp;&nbsp;&nbsp; </span>IToken launch(String type, String
-encoding, String[] environment, DoneLaunch done);<o:p></o:p></span></p>
-
-<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* Call-back interface to be called
-when "start" command is complete.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><br>
-<span style="">&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(127, 0, 85);">interface</span>
-DoneLaunch {<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(127, 0, 85);">void</span>
-doneLaunch(IToken token, Exception error, TerminalContext terminal);<br>
-<span style="">&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
-
-
-<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* Set the terminal widows size<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="color: rgb(127, 159, 191);">@param</span><span style="color: rgb(63, 95, 191);"> context_id - context ID.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="color: rgb(127, 159, 191);">@param</span><span style="color: rgb(63, 95, 191);"> signal - signal code.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="color: rgb(127, 159, 191);">@param</span><span style="color: rgb(63, 95, 191);"> done - call back interface called when operation is
-completed.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="color: rgb(127, 159, 191);">@return</span><span style="color: rgb(63, 95, 191);"> pending command handle, can be used to cancel the
-command.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><br>
-<span style="">&nbsp;&nbsp;&nbsp; </span>IToken setWinSize(String context_id,
-int newWidth, int newHeight, DoneCommand done);<o:p></o:p></span></p>
-
-<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* Exit a terminal.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="color: rgb(127, 159, 191);">@param</span><span style="color: rgb(63, 95, 191);"> context_id - context ID.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="color: rgb(127, 159, 191);">@param</span><span style="color: rgb(63, 95, 191);"> done - call back interface called when operation is completed.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="color: rgb(127, 159, 191);">@return</span><span style="color: rgb(63, 95, 191);"> pending command handle, can be used to cancel the command.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><br>
-<span style="">&nbsp;&nbsp;&nbsp; </span>IToken exit(String context_id, DoneCommand done);<o:p></o:p></span></p>
-
-
-<p class="MsoNormal" style="text-align: left; text-indent: 19.5pt;" align="left"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(63, 95, 191);" lang="EN-US">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* Add terminals service event
-listener.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(127, 159, 191);" lang="EN-US">@param</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(63, 95, 191);" lang="EN-US"> listener - event listener implementation.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US"><br>
-<span style="">&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(127, 0, 85);">void</span>
-addListener(TerminalsListener listener);<br>
-<br>
-<span style="">&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* Remove terminals service event
-listener.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="color: rgb(127, 159, 191);">@param</span><span style="color: rgb(63, 95, 191);"> listener - event listener implementation.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><br>
-<span style="">&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(127, 0, 85);">void</span>
-removeListener(TerminalsListener listener);<br>
-<br>
-<span style="">&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* Process event listener is notified
-when a terminal exits.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>* Event are reported only for
-terminals that were started by 'launch' command.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><br>
-<span style="">&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(127, 0, 85);">interface</span>
-TerminalsListener {<br>
-<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(63, 95, 191);">/**<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* Called when a terminal exits.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="color: rgb(127, 159, 191);">@param</span><span style="color: rgb(63, 95, 191);"> terminal_id - terminal
-context ID<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="color: rgb(127, 159, 191);">@param</span><span style="color: rgb(63, 95, 191);"> exit_code - terminal exit
-code<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(127, 0, 85);">void</span>
-exited(String terminal_id, <span style="color: rgb(127, 0, 85);">int</span> exit_code);<o:p></o:p></span></p>
-<p class="MsoNormal" style="margin-left: 19.55pt; text-align: left; text-indent: 45pt;" align="left"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(63, 95, 191);" lang="EN-US"><br>
-&nbsp;&nbsp;&nbsp;&nbsp; /**<br>
-<span style="">&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp; </span>* Called when a terminal exits.<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(127, 159, 191);" lang="EN-US">@param</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(63, 95, 191);" lang="EN-US"> terminal_id - terminal context ID<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>* </span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(127, 159, 191);" lang="EN-US">@param</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(63, 95, 191);" lang="EN-US"> newWidth &#8211; new terminal width<o:p></o:p><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * </span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(127, 159, 191);" lang="EN-US">@param</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: rgb(63, 95, 191);" lang="EN-US"> newHeight &#8211; new terminal height<br>
-<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>*/</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US"><br>
-<span style="">&nbsp;&nbsp;&nbsp; </span><span style="color: rgb(127, 0, 85);">void</span>
-winSizeChanged (String terminal_id, <span style="color: rgb(127, 0, 85);">int</span>
-newWidth, int newHeight);<o:p></o:p></span></p>
-<p class="MsoNormal" style="text-align: left; text-indent: 15pt;" align="left"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US">}<o:p></o:p></span></p>
-
-
-<span style="font-size: 10pt; font-family: &quot;Courier New&quot;;" lang="EN-US">}</span>
-
-
-
-</body></html> \ No newline at end of file
+<h2><a name='API'>API</a></h2>
+
+<pre>
+<font color=#3F5FBF>/**
+ * ITerminalsService allows to launch a new terminal on the remote target system.
+ *
+ * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients.
+ */</font>
+<font color=#7F0055>public interface</font> ITerminals <font color=#7F0055>extends</font> IService {
+
+ <font color=#3F5FBF>/**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */</font>
+ <font color=#7F0055>static final</font> String NAME = "Terminals";
+
+ <font color=#3F5FBF>/**
+ * Retrieve context info for given context ID.
+ * A context corresponds to an terminal.
+ * Context IDs are valid across TCF services, so it is allowed to issue
+ * 'ITerminals.getContext' command with a context that was obtained,
+ * for example, from Memory service.
+ * However, 'ITerminals.getContext' is supposed to return only terminal specific data,
+ * If the ID is not a terminal ID, 'ITerminals.getContext' may not return any
+ * useful information
+ *
+ * <font color=#7F9FBF>@param</font> id - context ID.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ */</font>
+ IToken getContext(String id, DoneGetContext done);
+
+ <font color=#3F5FBF>/**
+ * Client call back 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, TerminalContext context);
+ }
+
+ <font color=#3F5FBF>/**
+ * Context property names.
+ */</font>
+ <font color=#7F0055>static final</font> String
+ <font color=#3F5FBF>/** The TCF context ID of the terminal */</font>
+ PROP_ID = "ID",
+
+ <font color=#3F5FBF>/** The process ID of the login process of the terminal */</font>
+ PROP_PROCESS_ID = "ProcessID",
+
+ <font color=#3F5FBF>/** The PTY type */</font>
+ PROP_PTY_TYPE = "PtyType",
+
+ <font color=#3F5FBF>/** The terminal streams encoding */</font>
+ PROP_ENCODING = "Encoding",
+
+ <font color=#3F5FBF>/** Window width size */</font>
+ PROP_WIDTH = "Width",
+
+ <font color=#3F5FBF>/** Window height size */</font>
+ PROP_HEIGHT = "Height",
+
+ <font color=#3F5FBF>/** Terminal standard input stream ID */</font>
+ PROP_STDIN_ID = "StdInID",
+
+ <font color=#3F5FBF>/** Terminal standard output stream ID */</font>
+ PROP_STDOUT_ID = "StdOutID",
+
+ <font color=#3F5FBF>/** Terminal standard error stream ID */</font>
+ PROP_STDERR_ID = "StdErrID";
+
+ <font color=#7F0055>interface</font> TerminalContext {
+
+ <font color=#3F5FBF>/**
+ * Get context ID.
+ * Same as getProperties().get("ID")
+ */</font>
+ String getID();
+
+ <font color=#3F5FBF>/**
+ * Get process ID of the login process of the terminal.
+ * Same as getProperties().get("ProcessID")
+ */</font>
+ String getProcessID();
+
+ <font color=#3F5FBF>/**
+ * Get terminal type.
+ * Same as getProperties().get("PtyType")
+ */</font>
+ String getPtyType();
+
+ <font color=#3F5FBF>/**
+ * Get encoding.
+ * Same as getProperties().get("Encoding")
+ */</font>
+ String getEncoding();
+
+ <font color=#3F5FBF>/**
+ * Get width.
+ * Same as getProperties().get("Width")
+ */</font>
+ <font color=#7F0055>int</font> getWidth();
+
+ <font color=#3F5FBF>/**
+ * Get height.
+ * Same as getProperties().get("Height")
+ */</font>
+ <font color=#7F0055>int</font> getHeight();
+
+ <font color=#3F5FBF>/**
+ * Get standard input stream ID of the terminal.
+ * Same as getProperties().get("StdInID")
+ */</font>
+ String getStdInID();
+
+ <font color=#3F5FBF>/**
+ * Get standard output stream ID of the terminal.
+ * Same as getProperties().get("StdOutID")
+ */</font>
+ String getStdOutID();
+
+ <font color=#3F5FBF>/**
+ * Get standard error stream ID of the terminal.
+ * Same as getProperties().get("StdErrID")
+ */</font>
+ String getStdErrID();
+
+ <font color=#3F5FBF>/**
+ * Get all available terminal properties.
+ * <font color=#7F9FBF>@return</font> Map 'property name' -&gt; 'property value'
+ */</font>
+ Map&lt;String, Object&gt; getProperties();
+
+ <font color=#3F5FBF>/**
+ * Exit the terminal.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> pending command handle, can be used to cancel the command.
+ */</font>
+ IToken exit(DoneCommand done);
+ }
+
+ <font color=#3F5FBF>/**
+ * Call-back interface to be called when "setWinSize" or "exit" command is complete.
+ */</font>
+ <font color=#7F0055>interface</font> DoneCommand {
+ <font color=#7F0055>void</font> doneCommand(IToken token, Exception error);
+ }
+
+ <font color=#3F5FBF>/**
+ * Launch a new terminal to remote machine.
+ * <font color=#7F9FBF>@param</font> type - requested terminal type for the new terminal.
+ * <font color=#7F9FBF>@param</font> encoding - requested encoding for the new terminal.
+ * <font color=#7F9FBF>@param</font> environment - Array of environment variable strings.
+ * if null then default set of environment variables will be used.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> pending command handle, can be used to cancel the command.
+ */</font>
+ IToken launch(String type, String encoding, String[] environment, DoneLaunch done);
+
+ <font color=#3F5FBF>/**
+ * Call-back interface to be called when "launch" command is complete.
+ */</font>
+ <font color=#7F0055>interface</font> DoneLaunch {
+ <font color=#7F0055>void</font> doneLaunch(IToken token, Exception error, TerminalContext terminal);
+ }
+
+ <font color=#3F5FBF>/**
+ * Set the terminal widow size
+ * <font color=#7F9FBF>@param</font> id - context ID.
+ * <font color=#7F9FBF>@param</font> col - number of columns.
+ * <font color=#7F9FBF>@param</font> row - number of rows.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> pending command handle, can be used to cancel the command.
+ */</font>
+ IToken setWinSize(String id, <font color=#7F0055>int</font> col, <font color=#7F0055>int</font> row, DoneCommand done);
+
+ <font color=#3F5FBF>/**
+ * Exit a terminal.
+ * <font color=#7F9FBF>@param</font> id - context ID.
+ * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed.
+ * <font color=#7F9FBF>@return</font> pending command handle, can be used to cancel the command.
+ */</font>
+ IToken exit(String id, DoneCommand done);
+
+ <font color=#3F5FBF>/**
+ * Add terminals service event listener.
+ * <font color=#7F9FBF>@param</font> listener - event listener implementation.
+ */</font>
+ <font color=#7F0055>void</font> addListener(TerminalsListener listener);
+
+ <font color=#3F5FBF>/**
+ * Remove terminals service event listener.
+ * <font color=#7F9FBF>@param</font> listener - event listener implementation.
+ */</font>
+ <font color=#7F0055>void</font> removeListener(TerminalsListener listener);
+
+ <font color=#3F5FBF>/**
+ * Process event listener is notified when a terminal changes or exits.
+ * Event are reported only for terminals that were started by 'launch' command.
+ */</font>
+ <font color=#7F0055>interface</font> TerminalsListener {
+
+ <font color=#3F5FBF>/**
+ * Called when a terminal exits.
+ * <font color=#7F9FBF>@param</font> terminal_id - terminal context ID
+ * <font color=#7F9FBF>@param</font> exit_code - terminal exit code
+ */</font>
+ <font color=#7F0055>void</font> exited(String terminal_id, <font color=#7F0055>int</font> exit_code);
+
+ <font color=#3F5FBF>/**
+ * Called when a terminal windows size changes.
+ * <font color=#7F9FBF>@param</font> terminal_id - terminal context ID
+ * <font color=#7F9FBF>@param</font> new_width - new terminal width
+ * <font color=#7F9FBF>@param</font> new_height - new terminal height
+ */</font>
+ <font color=#7F0055>void</font> winSizeChanged(String terminal_id, <font color=#7F0055>int</font> new_width, <font color=#7F0055>int</font> new_height);
+ }
+}
+</pre>
+
+</body>
+</html>
diff --git a/docs/TCF Services.html b/docs/TCF Services.html
index b491ee255..b51c87fe6 100644
--- a/docs/TCF Services.html
+++ b/docs/TCF Services.html
@@ -213,6 +213,8 @@ same way as "OTHER".</p>
<li><a href='TCF Service - Memory.html'>Memory Service</a></li>
<li><a href='TCF Service - Memory Map.html'>Memory Map Service</a></li>
<li><a href='TCF Service - Path Map.html'>Path Map Service</a></li>
+ <li><a href='TCF Service - PortForward.html'>Port Forward Service</a></li>
+ <li><a href='TCF Service - PortServer.html'>Port Server Service</a></li>
<li><a href='TCF Service - Processes.html'>Processes Service</a></li>
<li><a href='TCF Service - Profiler.html'>Profiler Service</a></li>
<li><a href='TCF Service - Registers.html'>Registers Service</a></li>
diff --git a/plugins/org.eclipse.tcf.cdt.ui/src/org/eclipse/tcf/internal/cdt/ui/disassembly/TCFDisassemblyBackend.java b/plugins/org.eclipse.tcf.cdt.ui/src/org/eclipse/tcf/internal/cdt/ui/disassembly/TCFDisassemblyBackend.java
index 7dceea73a..5e65e0d44 100644
--- a/plugins/org.eclipse.tcf.cdt.ui/src/org/eclipse/tcf/internal/cdt/ui/disassembly/TCFDisassemblyBackend.java
+++ b/plugins/org.eclipse.tcf.cdt.ui/src/org/eclipse/tcf/internal/cdt/ui/disassembly/TCFDisassemblyBackend.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2015 Wind River Systems, Inc. and others.
+ * Copyright (c) 2010-2019 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -883,7 +883,7 @@ public class TCFDisassemblyBackend extends AbstractDisassemblyBackend {
for (Map<String, Object> attrs : instrAttrs) {
if (buf.length() > 0) buf.append(' ');
Object type = attrs.get(IDisassembly.FIELD_TYPE);
- if (IDisassembly.FTYPE_STRING.equals(type) || IDisassembly.FTYPE_Register.equals(type)) {
+ if (IDisassembly.FTYPE_STRING.equals(type) || IDisassembly.FTYPE_REGISTER.equals(type)) {
Object text = attrs.get(IDisassembly.FIELD_TEXT);
buf.append(text);
}
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IBreakpoints.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IBreakpoints.java
index 23f5c24a7..e61b01cf1 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IBreakpoints.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IBreakpoints.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2017 Wind River Systems, Inc. and others.
+ * Copyright (c) 2007-2019 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -34,7 +34,7 @@ import org.eclipse.tcf.protocol.IToken;
public interface IBreakpoints extends IService {
/**
- * Service name.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/
static final String NAME = "Breakpoints";
@@ -255,7 +255,7 @@ public interface IBreakpoints extends IService {
/**
* Tell target to remove breakpoints.
- * @param id - unique breakpoint identifier.
+ * @param ids - array of breakpoint identifiers.
* @param done - command result call back object.
* @return - pending command handle.
*/
@@ -285,6 +285,7 @@ public interface IBreakpoints extends IService {
* Upload properties of given breakpoint from target agent breakpoint table.
* @param id - unique breakpoint identifier.
* @param done - command result call back object.
+ * @return - pending command handle.
*/
IToken getProperties(String id, DoneGetProperties done);
@@ -376,7 +377,7 @@ public interface IBreakpoints extends IService {
void contextChanged(Map<String,Object>[] bps);
/**
- * Called when breakpoints are removed .
+ * Called when breakpoints are removed.
* @param ids - array of breakpoint IDs.
*/
void contextRemoved(String[] ids);
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IContextQuery.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IContextQuery.java
index d667dfb62..1c46913ca 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IContextQuery.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IContextQuery.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2012, 2013 Wind River Systems, Inc. and others.
+ * Copyright (c) 2012-2019 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -75,7 +75,7 @@ import org.eclipse.tcf.protocol.IToken;
public interface IContextQuery extends IService {
/**
- * Service name.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/
static final String NAME = "ContextQuery";
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IContextReset.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IContextReset.java
index 6c5dcc47e..b832ac58b 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IContextReset.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IContextReset.java
@@ -22,7 +22,7 @@ import org.eclipse.tcf.protocol.IToken;
public interface IContextReset extends IService {
/**
- * Service name.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/
static final String NAME = "ContextReset";
@@ -53,7 +53,7 @@ public interface IContextReset extends IService {
* @param error - error object or null.
* @param capabilities - context reset service capabilities description.
*/
- void doneGetCapabilities(IToken token, Exception error, Collection<Map<String, Object>> capabilities);
+ void doneGetCapabilities(IToken token, Exception error, Collection<Map<String,Object>> capabilities);
}
/**
@@ -70,7 +70,7 @@ public interface IContextReset extends IService {
* @param done - command result call back object.
* @return - pending command handle.
*/
- IToken reset(String context_id, String reset_type, Map<String, Object> params, DoneReset done);
+ IToken reset(String context_id, String reset_type, Map<String,Object> params, DoneReset done);
/**
* Call back interface for 'reset' command.
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IDPrintf.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IDPrintf.java
index dd8429e62..08ac647bb 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IDPrintf.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IDPrintf.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2013 Xilinx, Inc. and others.
+ * Copyright (c) 2013-2019 Xilinx, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -24,7 +24,7 @@ import org.eclipse.tcf.protocol.IToken;
public interface IDPrintf extends IService {
/**
- * Service name.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/
static final String NAME = "DPrintf";
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IDiagnostics.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IDiagnostics.java
index 63f845283..fac050d98 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IDiagnostics.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IDiagnostics.java
@@ -26,6 +26,9 @@ import org.eclipse.tcf.protocol.IToken;
public interface IDiagnostics extends IService {
+ /**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */
static final String NAME = "Diagnostics";
/**
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IDisassembly.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IDisassembly.java
index ec07b4235..cc35c19a4 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IDisassembly.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IDisassembly.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2013 Wind River Systems, Inc. and others.
+ * Copyright (c) 2010-2019 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -23,6 +23,9 @@ import org.eclipse.tcf.protocol.IToken;
public interface IDisassembly extends IService {
+ /**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */
static final String NAME = "Disassembly";
static final String
@@ -126,9 +129,16 @@ public interface IDisassembly extends IService {
/** Instruction field types */
static final String
FTYPE_STRING = "String",
- FTYPE_Register = "Register",
FTYPE_ADDRESS = "Address",
FTYPE_DISPLACEMENT = "Displacement",
FTYPE_IMMEDIATE = "Immediate";
+ /** @since 1.7 */
+ static final String
+ FTYPE_REGISTER = "Register";
+ /**
+ * @deprecated
+ */
+ static final String
+ FTYPE_Register = "Register";
}
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IExpressions.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IExpressions.java
index 9369b4b5c..3953406f9 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IExpressions.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IExpressions.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others.
+ * Copyright (c) 2008-2019 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -24,7 +24,7 @@ import org.eclipse.tcf.protocol.IToken;
public interface IExpressions extends IService {
/**
- * Service name.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/
static final String NAME = "Expressions";
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IFileSystem.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IFileSystem.java
index 1c0cdcbe6..8685e19db 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IFileSystem.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IFileSystem.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2013 Wind River Systems, Inc. and others.
+ * Copyright (c) 2007-2019 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -81,7 +81,7 @@ import org.eclipse.tcf.protocol.IToken;
public interface IFileSystem extends IService {
/**
- * Service name.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/
static final String NAME = "FileSystem";
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IMemory.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IMemory.java
index 6917f99d7..4dad117e0 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IMemory.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IMemory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others.
+ * Copyright (c) 2007-2019 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -28,6 +28,9 @@ import org.eclipse.tcf.protocol.IToken;
*/
public interface IMemory extends IService {
+ /**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */
static final String NAME = "Memory";
/**
@@ -43,7 +46,7 @@ public interface IMemory extends IService {
PROP_START_BOUND = "StartBound", /** Number, lowest address (inclusive) which is valid for the context */
PROP_END_BOUND = "EndBound", /** Number, highest address (inclusive) which is valid for the context */
PROP_ACCESS_TYPES = "AccessTypes"; /** Array of String, the access types allowed for this context */
- /** @since 1.3*/
+ /** @since 1.3*/
static final String
PROP_ADDRESSABLE_UNIT_SIZE = "AddressableUnitSize", /** Number, addressable unit size in number of bytes */
PROP_DEFAULT_WORD_SIZE = "DefaultWordSize"; /** Number, default word size in number of bytes */
@@ -126,13 +129,13 @@ public interface IMemory extends IService {
* return MemoryError at the end if any of the bytes
* were not processed correctly.
*/
- final static int MODE_CONTINUEONERROR = 0x1;
+ static final int MODE_CONTINUEONERROR = 0x1;
/**
* Memory access mode:
* Verify result of memory operations (by reading and comparing).
*/
- final static int MODE_VERIFY = 0x2;
+ static final int MODE_VERIFY = 0x2;
/**
* @noimplement This interface is not intended to be implemented by clients.
@@ -269,14 +272,14 @@ public interface IMemory extends IService {
interface ErrorOffset {
// Error may have per byte information
- final static int
+ static final int
BYTE_VALID = 0x00,
BYTE_UNKNOWN = 0x01, // e.g. out of range
BYTE_INVALID = 0x02,
BYTE_CANNOT_READ = 0x04,
BYTE_CANNOT_WRITE = 0x08;
- final static String
+ static final String
RANGE_KEY_ADDR = "addr",
RANGE_KEY_SIZE = "size",
RANGE_KEY_STAT = "stat",
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IMemoryMap.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IMemoryMap.java
index 0bb54b8a2..38d2f2670 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IMemoryMap.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IMemoryMap.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2016 Wind River Systems, Inc. and others.
+ * Copyright (c) 2007-2019 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -22,6 +22,9 @@ import org.eclipse.tcf.protocol.IToken;
*/
public interface IMemoryMap extends IService {
+ /**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */
static final String NAME = "MemoryMap";
/**
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IPathMap.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IPathMap.java
index 597b6de82..c81f77b60 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IPathMap.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IPathMap.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2013 Wind River Systems, Inc. and others.
+ * Copyright (c) 2007-2019 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -22,6 +22,9 @@ import org.eclipse.tcf.protocol.IToken;
*/
public interface IPathMap extends IService {
+ /**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */
static final String NAME = "PathMap";
/**
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IProcesses.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IProcesses.java
index d096c865f..dcb316bc7 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IProcesses.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IProcesses.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2016 Wind River Systems, Inc. and others.
+ * Copyright (c) 2007-2019 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -33,6 +33,9 @@ import org.eclipse.tcf.protocol.IToken;
*/
public interface IProcesses extends IService {
+ /**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */
static final String NAME = "Processes";
/**
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IProcessesV1.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IProcessesV1.java
index 82262aa23..1dc24243b 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IProcessesV1.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IProcessesV1.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2013 Wind River Systems, Inc. and others.
+ * Copyright (c) 2007-2019 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -22,6 +22,9 @@ import org.eclipse.tcf.protocol.IToken;
*/
public interface IProcessesV1 extends IProcesses {
+ /**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */
static final String NAME = "ProcessesV1";
/* Process start parameters */
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IProfiler.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IProfiler.java
index 0c94df64c..e3ccb9d75 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IProfiler.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IProfiler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2013, 2015 Xilinx, Inc. and others.
+ * Copyright (c) 2013-2019 Xilinx, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -33,7 +33,7 @@ import org.eclipse.tcf.protocol.IToken;
public interface IProfiler extends IService {
/**
- * Service name.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/
static final String NAME = "Profiler";
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRegisters.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRegisters.java
index b9203ee4f..3190abeac 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRegisters.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRegisters.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2013 Wind River Systems, Inc. and others.
+ * Copyright (c) 2007-2019 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -24,6 +24,9 @@ import org.eclipse.tcf.protocol.IToken;
*/
public interface IRegisters extends IService {
+ /**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */
static final String NAME = "Registers";
/**
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRunControl.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRunControl.java
index 907c2865c..5925bbf21 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRunControl.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRunControl.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2016 Wind River Systems, Inc. and others.
+ * Copyright (c) 2007-2019 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -23,6 +23,9 @@ import org.eclipse.tcf.protocol.IToken;
*/
public interface IRunControl extends IService {
+ /**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */
static final String NAME = "RunControl";
/* Context property names ---------------------------------------------- */
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IStackTrace.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IStackTrace.java
index af3e70e76..d3ad0ea78 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IStackTrace.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IStackTrace.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others.
+ * Copyright (c) 2007-2019 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -22,6 +22,9 @@ import org.eclipse.tcf.protocol.IToken;
*/
public interface IStackTrace extends IService {
+ /**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */
static final String NAME = "StackTrace";
/**
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IStreams.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IStreams.java
index a8e91513a..cf01ba658 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IStreams.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IStreams.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2013 Wind River Systems, Inc. and others.
+ * Copyright (c) 2009-2019 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -28,7 +28,7 @@ import org.eclipse.tcf.protocol.IToken;
public interface IStreams extends IService {
/**
- * Service name.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/
static final String NAME = "Streams";
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/ISymbols.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/ISymbols.java
index 93059657e..f4ad2e4c4 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/ISymbols.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/ISymbols.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others.
+ * Copyright (c) 2008-2019 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -23,7 +23,7 @@ import org.eclipse.tcf.protocol.IToken;
public interface ISymbols extends IService {
/**
- * Service name.
+ * This service name, as it appears on the wire - a TCF name of the service.
*/
static final String NAME = "Symbols";
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/ISysMonitor.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/ISysMonitor.java
index 639f1dcda..3beaad7f0 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/ISysMonitor.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/ISysMonitor.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others.
+ * Copyright (c) 2007-2019 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -27,6 +27,9 @@ import org.eclipse.tcf.protocol.IToken;
*/
public interface ISysMonitor extends IService {
+ /**
+ * This service name, as it appears on the wire - a TCF name of the service.
+ */
static final String NAME = "SysMonitor";
/**
@@ -108,7 +111,7 @@ public interface ISysMonitor extends IService {
/** 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.*/
+ * is paging. */
PROP_STATE = "State",
/** System ID of the parent process */

Back to the top