diff options
author | Eugene Tarassov | 2019-07-23 03:30:57 +0000 |
---|---|---|
committer | Eugene Tarassov | 2019-07-23 03:30:57 +0000 |
commit | e1b87d42fd5d2d309fc39bc282765b794484de9a (patch) | |
tree | 4e79d7e597eb52b9e8ea899e99a7f397612bccee | |
parent | 03ec13f40db63c73869432b04bf249d9fc64579e (diff) | |
download | org.eclipse.tcf-e1b87d42fd5d2d309fc39bc282765b794484de9a.tar.gz org.eclipse.tcf-e1b87d42fd5d2d309fc39bc282765b794484de9a.tar.xz org.eclipse.tcf-e1b87d42fd5d2d309fc39bc282765b794484de9a.zip |
TCF Docs: improved specifications of TCF services
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 • Breakpoints • contextRemoved • <i><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<String,Object>) is extensible collection of named attributes, + * Breakpoint properties (Map<String,Object>) is extendible collection of named attributes, * which define breakpoint location and behavior. This module defines some common * attribute names (see PROP_*), host tools and target agents may support additional attributes. * - * For each breakpoint a target agent maintains another extensible collection of named attributes: - * breakpoint status (Map<String,Object>, see STATUS_*). While breakpoint properties are + * For each breakpoint a target agent maintains another extendible collection of named attributes: + * breakpoint status (Map<String,Object>, see STATUS_*). While breakpoint properties are * persistent and represent user input, breakpoint status reflects dynamic target agent reports - * about breakpoint current state, like actual addresses where breakpoint is 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 • Breakpoints • contextRemoved • <i><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 • Breakpoints • contextRemoved • <i><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 • Breakpoints • contextRemoved • <i><array of breakpoint IDs * Breakpoint status field names. */</font> <font color=#7F0055>static final</font> String - STATUS_INSTANCES = "Instances", // Array of Map<String,Object> - STATUS_ERROR = "Error", // String - STATUS_FILE = "File", // String - STATUS_LINE = "Line", // Number - STATUS_COLUMN = "Column"; // Number + STATUS_INSTANCES = "Instances", // Array of Map<String,Object> + 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 • Breakpoints • contextRemoved • <i><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 • Breakpoints • contextRemoved • <i><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 • Breakpoints • contextRemoved • <i><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<String,Object>[] 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<String,Object> 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<String,Object> 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 • Breakpoints • contextRemoved • <i><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 • Breakpoints • contextRemoved • <i><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<String,Object> 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 • Breakpoints • contextRemoved • <i><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<String,Object> status); } @@ -794,9 +864,9 @@ E • Breakpoints • contextRemoved • <i><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 • Breakpoints • contextRemoved • <i><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<String,Object> capabilities); + <font color=#7F0055>void</font> doneGetCapabilities(IToken token, Exception error, Map<String,Object> capabilities); } <font color=#3F5FBF>/** @@ -823,39 +893,39 @@ E • Breakpoints • contextRemoved • <i><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<String,Object> 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<String,Object>[] 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<String,Object>[] 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 • <i><token></i> • <i><error report></i> • <i><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 • <i><token></i> • <i><error report></i> • <i><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 • <i><token></i> • <i><error report></i> • <i><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 • <i><token></i> • ContextReset • reset • <i><str <pre><b><font face="Courier New" size=2 color=#333399> R • <i><token></i> • <i><error report></i> • </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 • <i><token></i> • <i><error report></i> • * 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 • <i><token></i> • <i><error report></i> • <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<Map<String,Object>> capabilities); } @@ -135,11 +142,11 @@ R • <i><token></i> • <i><error report></i> • <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<String,Object> params, DoneReset done); @@ -150,12 +157,13 @@ R • <i><token></i> • <i><error report></i> • <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 • <i><token></i> • <i><error report></i> • * 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 • <i><token></i> • <i><error report></i> • * 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<String,Object>[] properties, DoneCommandOpen done); @@ -115,8 +115,8 @@ R • <i><token></i> • <i><error report></i> • <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 • <i><token></i> • <i><error report></i> • * 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 • <i><token></i> • <i><error report></i> • <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 • <i><token></i> • <i><error report></i> • * '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 • <i><token></i> • <i><error report></i> • <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 • <i><token></i> • <i><error report></i> • * '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 • <i><token></i> • <i><error report></i> • <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 • <i><token></i> • <i><error report></i> • <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 • <i><token></i> • <i><error report></i> • * 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 • <i><token></i> • <i><error report></i> • <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 • <i><token></i> • <i><error report></i> • * 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 • <i><token></i> • <i><error report></i> • <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 • <i><token></i> • <i><error report></i> • <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 • <i><token></i> • <i><error report></i> • <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 • <i><token></i> • <i><error report></i> • * 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 • <i><token></i> • <i><error report></i> • <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 • <i><token></i> • <i><error report></i> • <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 • <i><token></i> • <i><error report></i> • <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 • <i><token></i> • <i><error report></i> • <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<String,Object>[] 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<String,Object> params, DoneDisassemble done); + IToken disassemble(String context_id, Number addr, <font color=#7F0055>int</font> size, Map<String,Object> 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<String,Object>[] 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><string></i></font></b></code> - ID of a parent context. - <li><code><b><font face="Courier New" size=2 color=#333399>"" : <i><></i></font></b></code> - - . - - <li><code><b><font face="Courier New" size=2 color=#333399>"" : <i><></i></font></b></code> - - . + <li><code><b><font face="Courier New" size=2 color=#333399>"SymbolID" : <i><string></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><></i></font></b></code> - - . + <li><code><b><font face="Courier New" size=2 color=#333399>"Expression" : <i><string></i></font></b></code> + - text of the expression. - <li><code><b><font face="Courier New" size=2 color=#333399>"" : <i><></i></font></b></code> - - . + <li><code><b><font face="Courier New" size=2 color=#333399>"CanAssign" : <i><boolean></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><></i></font></b></code> - - . + <li><code><b><font face="Courier New" size=2 color=#333399>"HasFuncCall" : <i><boolean></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><></i></font></b></code> + <li><code><b><font face="Courier New" size=2 color=#333399>"Class" : <i><number></i></font></b></code> - . - <li><code><b><font face="Courier New" size=2 color=#333399>"" : <i><></i></font></b></code> + <li><code><b><font face="Courier New" size=2 color=#333399>"Type" : <i><string></i></font></b></code> - . - <li><code><b><font face="Courier New" size=2 color=#333399>"" : <i><></i></font></b></code> + <li><code><b><font face="Courier New" size=2 color=#333399>"Size" : <i><number></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 • <i><token></i> • Expressions • getChildren • <i><string: parent context ID></i> • </font></b></pre> +<p><font color=#FF7000>TBD</font></p> + <h2><a name='API'>API</a></h2> <pre> @@ -134,12 +133,12 @@ C • <i><token></i> • Expressions • getChildren • <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 • <i><token></i> • Expressions • getChildren • <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 • <i><token></i> • Expressions • getChildren • <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<String,Object> getProperties(); } @@ -240,7 +239,7 @@ C • <i><token></i> • Expressions • getChildren • <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 • <i><token></i> • Expressions • getChildren • <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 • <i><token></i> • Expressions • getChildren • <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 • <i><token></i> • Expressions • getChildren • <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<String,Object> getProperties(); } @@ -324,13 +323,13 @@ C • <i><token></i> • Expressions • getChildren • <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 • <i><token></i> • Expressions • getChildren • <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 • <i><token></i> • Expressions • getChildren • <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 • <i><token></i> • Expressions • getChildren • <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 • <i><token></i> • Expressions • getChildren • <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 • <i><token></i> • Expressions • getChildren • <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<String,Object> scope, String expression, DoneCreate done); @@ -417,18 +416,18 @@ C • <i><token></i> • Expressions • getChildren • <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 • <i><token></i> • Expressions • getChildren • <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 • <i><token></i> • Expressions • getChildren • <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 • <i><token></i> • Expressions • getChildren • <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 • <i><token></i> • Expressions • getChildren • <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 • <i><token></i> • <i><int: real UID></i> • <i>< * 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 • <i><token></i> • <i><int: real UID></i> • <i>< <font color=#7F0055>public final</font> Map<String,Object> 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<String,Object> attributes); + <font color=#7F0055>int</font> permissions, <font color=#7F0055>long</font> atime, <font color=#7F0055>long</font> mtime, Map<String,Object> 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 • <i><token></i> • <i><int: real UID></i> • <i>< 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 • <i><token></i> • <i><int: real UID></i> • <i>< */</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 • <i><token></i> • <i><int: real UID></i> • <i>< */</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 • <i><token></i> • <i><int: real UID></i> • <i>< <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 • <i><token></i> • <i><int: real UID></i> • <i>< <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 • <i><token></i> • <i><int: real UID></i> • <i>< * 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 < 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 • <i><token></i> • <i><int: real UID></i> • <i>< * 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 < 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 • <i><token></i> • <i><int: real UID></i> • <i>< <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 • <i><token></i> • <i><int: real UID></i> • <i>< * 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 • <i><token></i> • <i><int: real UID></i> • <i>< * 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 • <i><token></i> • <i><int: real UID></i> • <i>< * 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 • <i><token></i> • <i><int: real UID></i> • <i>< * 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 • <i><token></i> • <i><int: real UID></i> • <i>< * 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 • <i><token></i> • <i><int: real UID></i> • <i>< * 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 • <i><token></i> • <i><int: real UID></i> • <i>< * 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 • <i><token></i> • <i><int: real UID></i> • <i>< * 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 • <i><token></i> • <i><int: real UID></i> • <i>< * 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 • <i><token></i> • <i><int: real UID></i> • <i>< * 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 • <i><token></i> • <i><int: real UID></i> • <i>< <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 • <i><token></i> • <i><int: real UID></i> • <i>< <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 • <i><token></i> • <i><int: real UID></i> • <i>< <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 • <i><token></i> • <i><int: real UID></i> • <i>< * 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><number></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><number></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><number></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><number></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><number></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><number></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><number></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><string></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><string></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><number></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><boolean></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><boolean></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><boolean></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><boolean></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><number></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><number></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><number></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><array of code areas></i> + ⇒ null + ⇒ [ <i><code area list></i> ] + +<i><code area list></i> + ⇒ <i><Code Area: object></i> + ⇒ <i><code area list></i> , <i><Code Area: object></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 • <i><token></i> • LineNumbers • mapToSource • <i><string: context ID></i> • <i><number: start address></i> • <i><number: end address></i> • +</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 • <i><token></i> • <i><error report></i> • <i><array of code areas></i> • +</font></b></pre> + +<h3><a name='CmdMapToMemory'>Map To Memory</a></h3> + +<pre><b><font face="Courier New" size=2 color=#333399> +C • <i><token></i> • LineNumbers • mapToMemory • <i><string: context ID></i> • <i><string: file></i> • <i><number: line></i> • <i><number: column></i> • +</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 • <i><token></i> • <i><error report></i> • <i><array of code areas></i> • +</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<String,Object> 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<String,Object> 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<String,Object> 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<String,Object> 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(" -> "); + 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 • MemoryMap • changed • <i><string: context ID></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 • MemoryMap • changed • <i><string: context ID></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 • MemoryMap • changed • <i><string: context ID></i> &bull <font color=#3F5FBF>/** * Retrieve memory map for given 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 color=#7F9FBF>@return</font> – 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 • MemoryMap • changed • <i><string: context ID></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 – error description if operation failed, null if succeeded. - * <font color=#7F9FBF>@param</font> map – 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 • MemoryMap • changed • <i><string: context ID></i> &bull * * Using non-null 'id' is deprecated - use ContextQuery instead. * - * <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 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 • MemoryMap • changed • <i><string: context ID></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 – 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 – 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 – 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 • MemoryMap • changed • <i><string: context ID></i> &bull <font color=#3F5FBF>/** * Called when context memory map changes. - * <font color=#7F9FBF>@param</font> context_id – 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 • Memory • memoryChanged • <i><string: context ID></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 • Memory • memoryChanged • <i><string: context ID></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 • Memory • memoryChanged • <i><string: context ID></i> &b <font color=#3F5FBF>/** * Retrieve context info for given context ID. * - * <font color=#7F9FBF>@param</font> id – context ID. - * <font color=#7F9FBF>@param</font> done - callback interface called when operation is completed. + * <font 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 – error description if operation failed, null if succeeded. - * <font color=#7F9FBF>@param</font> context – 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 • Memory • memoryChanged • <i><string: context ID></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 – parent context ID. Can be null – + * <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 – error description if operation failed, null if succeeded. - * <font color=#7F9FBF>@param</font> contexts – 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 • Memory • memoryChanged • <i><string: context ID></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 • Memory • memoryChanged • <i><string: context ID></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 • Memory • memoryChanged • <i><string: context ID></i> &b * Get the access types allowed for this context. * <font color=#7F9FBF>@return</font> collection of access type names. */</font> - Collection<String> getAccessTypes(); + Collection<String> 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<String,Object> getProperties(); + Map<String,Object> 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 • Memory • memoryChanged • <i><string: context ID></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 • Memory • memoryChanged • <i><string: context ID></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 • Memory • memoryChanged • <i><string: context ID></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. - * ‘addr’ and ‘size’ 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 • PathMap • changed • <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 • PathMap • changed • <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<String,Object> 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 • PathMap • changed • <font color=#3F5FBF>/** * Retrieve file path mapping rules. * - * <font color=#7F9FBF>@param</font> done – call back interface called when operation is completed. - * @return – 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 • PathMap • changed • <font color=#7F0055>interface</font> DoneGet { <font color=#3F5FBF>/** * Called when file path mapping retrieval is done. - * <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 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 • PathMap • changed • <font color=#3F5FBF>/** * Set file path mapping rules. * - * <font color=#7F9FBF>@param</font> map – file path mapping rules. - * <font color=#7F9FBF>@param</font> done – call back interface called when operation is completed. - * @return – 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 • PathMap • changed • * 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 – error description if operation failed, null if succeeded. - * <font color=#7F9FBF>@param</font> map – 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 – 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 – 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 • Processes • exited • <i><string: process ID></i> • <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 • Processes • exited • <i><string: process ID></i> • * If the ID is not a process ID, 'IProcesses.getContext' may not return any * useful information * - * <font color=#7F9FBF>@param</font> id – 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 • Processes • exited • <i><string: process ID></i> • */</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. + * 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 • Processes • exited • <i><string: process ID></i> • <font color=#3F5FBF>/** * Retrieve children of given context. * - * <font color=#7F9FBF>@param</font> parent_context_id – parent context ID. Can be null – + * <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 • Processes • exited • <i><string: process ID></i> • */</font> <font color=#7F0055>interface</font> DoneGetChildren { <font color=#3F5FBF>/** - * Called when contexts data retrieval is done. - * <font color=#7F9FBF>@param</font> error – error description if operation failed, null if succeeded. - * <font color=#7F9FBF>@param</font> context_ids – array of available context IDs. + * 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 • Processes • exited • <i><string: process ID></i> • <font color=#3F5FBF>/** * Get context ID. - * Same as getProperties().get(“ID”) + * Same as getProperties().get("ID") */</font> String getID(); <font color=#3F5FBF>/** * Get parent context ID. - * Same as getProperties().get(“ParentID”) + * 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(“Name”) + * Same as getProperties().get("Name") */</font> String getName(); @@ -470,9 +486,9 @@ E • Processes • exited • <i><string: process ID></i> • <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' -> 'property value' */</font> - Map<String, Object> getProperties(); + Map<String,Object> getProperties(); <font color=#3F5FBF>/** * Attach debugger to a process. @@ -498,6 +514,9 @@ E • Processes • exited • <i><string: process ID></i> • 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 • Processes • exited • <i><string: process ID></i> • 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 • Processes • exited • <i><string: process ID></i> • * 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 • Processes • exited • <i><string: process ID></i> • } <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<Integer> dont_stop, Set<Integer> dont_pass, Set<Integer> 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 • Processes • exited • <i><string: process ID></i> • * <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<Integer> dont_stop, Set<Integer> 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 • Processes • exited • <i><string: process ID></i> • * <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<String,String> 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 • Processes • exited • <i><string: process ID></i> • <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 >= 0 - the process exit code, + * if < 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<String,Object> 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<String,Object> 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<String,Object> 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 • Registers • registerChanged • <i><string: context ID></ <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 • Registers • registerChanged • <i><string: context ID></ 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 • Registers • registerChanged • <i><string: context ID></ 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 – 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 • Registers • registerChanged • <i><string: context ID></ */</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. + * 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 • Registers • registerChanged • <i><string: context ID></ * 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 – parent context ID. Can be null – + * <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 • Registers • registerChanged • <i><string: context ID></ */</font> <font color=#7F0055>interface</font> DoneGetChildren { <font color=#3F5FBF>/** - * Called when contexts data retrieval is done. - * <font color=#7F9FBF>@param</font> error – error description if operation failed, null if succeeded. - * <font color=#7F9FBF>@param</font> context_ids – array of available context IDs. + * 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 • Registers • registerChanged • <i><string: context ID></ 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 • Registers • registerChanged • <i><string: context ID></ * 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 • Registers • registerChanged • <i><string: context ID></ <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 • Registers • registerChanged • <i><string: context ID></ 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 • Registers • registerChanged • <i><string: context ID></ * <font color=#7F9FBF>@param</font> done - call back object. * <font color=#7F9FBF>@return</font> - pending command handle. */</font> - IToken search(Map<String,Object> filter, DoneSearch done); + IToken search(Map<String,Object> filter, DoneSearch done); } <font color=#3F5FBF>/** @@ -784,7 +804,7 @@ E • Registers • registerChanged • <i><string: context ID></ * <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 • Registers • registerChanged • <i><string: context ID></ * 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 • RunControl • contextStateChanged • <i><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 > 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 • RunControl • contextStateChanged • <i><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 – 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 • RunControl • contextStateChanged • <i><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 – error description if operation failed, null if succeeded. - * <font color=#7F9FBF>@param</font> context – 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 • RunControl • contextStateChanged • <i><string: context IDs <font color=#3F5FBF>/** * Retrieve children of given context. * - * <font color=#7F9FBF>@param</font> parent_context_id – parent context ID. Can be null – + * <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 • RunControl • contextStateChanged • <i><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 – error description if operation failed, null if succeeded. - * <font color=#7F9FBF>@param</font> contexts – 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 • RunControl • contextStateChanged • <i><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 • RunControl • contextStateChanged • <i><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 • RunControl • contextStateChanged • <i><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<String> 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 • RunControl • contextStateChanged • <i><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<String,Object> 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 • RunControl • contextStateChanged • <i><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<String,Object> params); } @@ -898,7 +1153,7 @@ E • RunControl • contextStateChanged • <i><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 • RunControl • contextStateChanged • <i><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 • RunControl • contextStateChanged • <i><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 • RunControl • contextStateChanged • <i><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 – 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 – error description if operation failed, null if succeeded. - * <font color=#7F9FBF>@param</font> context – 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 – 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 – error description if operation failed, null if succeeded. - * <font color=#7F9FBF>@param</font> context_ids – 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<String,Object> 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<String,Object> 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 -> commands to calculate register values + */</font> + <font color=#7F0055>void</font> doneFindFrameInfo(IToken token, Exception error, + Number address, Number size, + Object[] fp_cmds, Map<String,Object[]> 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<String,Object> 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 • <i><token></i> • <i><error report></i> • <i><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 – 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 • <i><token></i> • <i><error report></i> • <i><a */</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. + * 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 • <i><token></i> • <i><error report></i> • <i><a <font color=#3F5FBF>/** * Retrieve children of given context. * - * <font color=#7F9FBF>@param</font> parent_context_id – parent context ID. Can be null – + * <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 • <i><token></i> • <i><error report></i> • <i><a */</font> <font color=#7F0055>interface</font> DoneGetChildren { <font color=#3F5FBF>/** - * Called when contexts data retrieval is done. - * <font color=#7F9FBF>@param</font> error – error description if operation failed, null if succeeded. - * <font color=#7F9FBF>@param</font> context_ids – array of available context IDs. + * 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 • <i><token></i> • <i><error report></i> • <i><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 • <i><token></i> • <i><error report></i> • <i><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 • <i><token></i> • <i><error report></i> • <i><a <font color=#3F5FBF>/** * Get context ID. - * Same as getProperties().get(“ID”) + * Same as getProperties().get("ID") */</font> String getID(); <font color=#3F5FBF>/** * Get parent context ID. - * Same as getProperties().get(“ParentID”) + * Same as getProperties().get("ParentID") */</font> String getParentID(); <font color=#3F5FBF>/** * Get process group ID. - * Same as getProperties().get(“PGRP”) + * Same as getProperties().get("PGRP") */</font> <font color=#7F0055>long</font> getPGRP(); <font color=#3F5FBF>/** * Get process ID. - * Same as getProperties().get(“PID”) + * Same as getProperties().get("PID") */</font> <font color=#7F0055>long</font> getPID(); <font color=#3F5FBF>/** * Get process parent ID. - * Same as getProperties().get(“PPID”) + * Same as getProperties().get("PPID") */</font> <font color=#7F0055>long</font> getPPID(); <font color=#3F5FBF>/** * Get process TTY group ID. - * Same as getProperties().get(“TGID”) + * Same as getProperties().get("TGID") */</font> <font color=#7F0055>long</font> getTGID(); <font color=#3F5FBF>/** * Get tracer process ID. - * Same as getProperties().get(“TracerPID”) + * Same as getProperties().get("TracerPID") */</font> <font color=#7F0055>long</font> getTracerPID(); <font color=#3F5FBF>/** * Get process owner user ID. - * Same as getProperties().get(“UID”) + * Same as getProperties().get("UID") */</font> <font color=#7F0055>long</font> getUID(); <font color=#3F5FBF>/** * Get process owner user name. - * Same as getProperties().get(“UserName”) + * Same as getProperties().get("UserName") */</font> String getUserName(); <font color=#3F5FBF>/** * Get process owner user group ID. - * Same as getProperties().get(“UGID”) + * Same as getProperties().get("UGID") */</font> <font color=#7F0055>long</font> getUGID(); <font color=#3F5FBF>/** * Get process owner user group name. - * Same as getProperties().get(“GroupName”) + * Same as getProperties().get("GroupName") */</font> String getGroupName(); <font color=#3F5FBF>/** * Get process state. - * Same as getProperties().get(“State”) + * Same as getProperties().get("State") */</font> String getState(); <font color=#3F5FBF>/** * Get process virtual memory size in bytes. - * Same as getProperties().get(“VSize”) + * Same as getProperties().get("VSize") */</font> <font color=#7F0055>long</font> getVSize(); <font color=#3F5FBF>/** * Get process virtual memory page size in bytes. - * Same as getProperties().get(“PSize”) + * Same as getProperties().get("PSize") */</font> <font color=#7F0055>long</font> getPSize(); <font color=#3F5FBF>/** * Get number of memory pages in process resident set. - * Same as getProperties().get(“RSS”) + * Same as getProperties().get("RSS") */</font> <font color=#7F0055>long</font> getRSS(); <font color=#3F5FBF>/** * Get context executable file. - * Same as getProperties().get(“File”) + * Same as getProperties().get("File") */</font> String getFile(); <font color=#3F5FBF>/** * Get context current file system root. - * Same as getProperties().get(“Root”) + * Same as getProperties().get("Root") */</font> String getRoot(); <font color=#3F5FBF>/** * Get context current working directory. - * Same as getProperties().get(“CWD”) + * 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' -> 'property value' */</font> Map<String,Object> 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: "Courier New"; color: rgb(127, 0, 85);" lang="EN-US">public interface</span><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-US"> ITerminals <span style="color: rgb(127, 0, 85);">extends</span> IService {<br> -<br> -<span style=""> </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: "Courier New";" lang="EN-US"><span style=""> </span><span style="color: rgb(63, 95, 191);">/**<br> -<span style=""> </span>* Retrieve context info for given -context ID.<br> -<span style=""> </span>* A context corresponds to an -terminal.<br> -<span style=""> </span>* Context IDs are valid across TCF -services, so it is allowed to issue<br> -<span style=""> </span>* 'ITerminals.getContext' command -with a context that was obtained,<br> -<span style=""> </span>* for example, from Memory service.<br> -<span style=""> </span>* However, 'ITerminals.getContext' -is supposed to return only terminal specific data,<br> -<span style=""> </span>* If the ID is not a terminal ID, 'ITerminals.getContext' -may not return any<br> -<span style=""> </span>* useful information<br> -<span style=""> </span>*<br> -<span style=""> </span>* </span><span style="color: rgb(127, 159, 191);">@param</span><span style="color: rgb(63, 95, 191);"> id – context ID.<br> -<span style=""> </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=""> </span>*/</span><br> -<span style=""> </span>IToken getContext(String id, -DoneGetContext done);<br> -<br> -<span style=""> </span><span style="color: rgb(63, 95, 191);">/**<br> -<span style=""> </span>* Client call back interface for -getContext().<br> -<span style=""> </span>*/</span><br> -<span style=""> </span><span style="color: rgb(127, 0, 85);">interface</span> -DoneGetContext {<br> -<span style=""> </span><span style=""> </span><span style="color: rgb(63, 95, 191);">/**<br> -<span style=""> </span>* Called when contexts data -retrieval is done.<br> -<span style=""> </span>* </span><span style="color: rgb(127, 159, 191);">@param</span><span style="color: rgb(63, 95, 191);"> error – error description if -operation failed, null if succeeded.<br> -<span style=""> </span>* </span><span style="color: rgb(127, 159, 191);">@param</span><span style="color: rgb(63, 95, 191);"> context – context data.<br> -<span style=""> </span>*/</span><br> -<span style=""> </span><span style="color: rgb(127, 0, 85);">void</span> -doneGetContext(IToken token, Exception error, TerminalContext context);<br> -<span style=""> </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: "Courier New"; color: rgb(63, 95, 191);" lang="EN-US">/**<br> -<span style=""> </span>* Context property names.<br> -<span style=""> </span>*/</span><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-US"><br> -<span style=""> </span><span style="color: rgb(127, 0, 85);">static final</span> String<br> -<span style=""> </span><span style="color: rgb(63, 95, 191);">/** -The TCF context ID */</span><br> -<span style=""> </span>PROP_ID = "ID",<br> -<br> -<span style=""> </span><span style="color: rgb(63, 95, 191);">/** -The process ID of the login process of the terminal */</span><br> -<span style=""> </span>PROP_PROCESS_ID = "ProcessID",<br> -<br> -<span style=""> </span><span style="color: rgb(63, 95, 191);">/** -The PTY type */</span><br> -<span style=""> </span>PROP_PTY_TYPE = "PtyType",<br> -<br> -<span style=""> </span><span style="color: rgb(63, 95, 191);">/** -terminal encoding */</span><br> -<span style=""> </span>PROP_ENCODING = "Encoding",<br> -<br> -<span style=""> </span><span style="color: rgb(63, 95, 191);">/** -window width size */</span><br> -<span style=""> </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: "Courier New"; color: rgb(63, 95, 191);" lang="EN-US"><span style=""> </span>/** window -height size */</span><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-US"><br> -<span style=""> </span>PROP_WIDTH = "Height",<br> -<br> -<span style=""> </span><span style="color: rgb(63, 95, 191);">/** -Process standard input stream ID */</span><br> -<span style=""> </span>PROP_STDIN_ID = "StdInID",<br> -<br> -<span style=""> </span><span style="color: rgb(63, 95, 191);">/** -Process standard output stream ID */</span><br> -<span style=""> </span>PROP_STDOUT_ID = -"StdOutID",<br> -<br> -<span style=""> </span><span style="color: rgb(63, 95, 191);">/** -Process standard error stream ID */</span><br> -<span style=""> </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: "Courier New"; color: rgb(127, 0, 85);" lang="EN-US"><span style=""> </span>interface</span><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-US"> TerminalContext {<br> -<br> -<span style=""> </span><span style="color: rgb(63, 95, 191);">/**<br> -<span style=""> </span>* Get context ID.<br> -<span style=""> </span><span style=""> </span>* Same as getProperties().get(“ID”)<br> -<span style=""> </span>*/</span><br> -<span style=""> </span>String getID();<br> -<br> -<span style=""> </span><span style="color: rgb(63, 95, 191);">/**<br> -<span style=""> </span>* Get terminal type.<br> -<span style=""> </span>* Same as getProperties().get(“</span><span style="color: rgb(51, 51, 153);">PtyType</span><span style="color: rgb(63, 95, 191);">”)<br> -<span style=""> </span>*/</span><br> -<span style=""> </span>String getPtyType();<br> -<br> -<span style=""> </span><span style="color: rgb(63, 95, 191);">/**<br> -<span style=""> </span>* Get encoding.<br> -<span style=""> </span><span style=""> </span>* Same as getProperties().get(“</span><span style="color: rgb(51, 51, 153);">Encoding</span><span style="color: rgb(63, 95, 191);">”)<br> -<span style=""> </span>*/</span><br> -<span style=""> </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: "Courier New";" lang="EN-US"><span style=""> </span><span style="color: rgb(63, 95, 191);">/**<br> -<span style=""> </span>* Get width.<br> -<span style=""> </span>* Same as getProperties().get(“</span><span style="color: rgb(51, 51, 153);">Width</span><span style="color: rgb(63, 95, 191);">”)<br> -<span style=""> </span>*/</span><br> -<span style=""> </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: "Courier New";" lang="EN-US"><span style=""> </span><span style="color: rgb(63, 95, 191);">/**<br> -<span style=""> </span>* Get height.<br> -<span style=""> </span><span style=""> </span>* Same as getProperties().get(“</span><span style="color: rgb(51, 51, 153);">Height</span><span style="color: rgb(63, 95, 191);">”)<br> -<span style=""> </span>*/</span><br> -<span style=""> </span>int getHeight();<o:p></o:p><br> -<span style=""></span><br> -<span style=""> </span><span style="color: rgb(63, 95, 191);">/**<br> -<span style=""> </span>* Get all available context -properties.<br> -<span style=""> </span>* </span><span style="color: rgb(127, 159, 191);">@return</span><span style="color: rgb(63, 95, 191);"> Map 'property name' -> -'property value'<br> -<span style=""> </span>*/</span><br> -<span style=""> </span>Map<String, Object> -getProperties();<br> -<br> -<span style=""> </span><span style="color: rgb(63, 95, 191);">/**<br> -<span style=""> </span>* Exit the terminal.<br> -<span style=""> </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=""> </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=""> </span>*/</span><br> -<span style=""> </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: "Courier New";" lang="EN-US"><span style=""> </span>}<br> -<br> -<span style=""> </span><span style="color: rgb(127, 0, 85);">interface</span> -DoneCommand {<br> -<span style=""> </span><span style="color: rgb(127, 0, 85);">void</span> -doneCommand(IToken token, Exception error);<br> -<span style=""> </span>}</span></p> - -<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(63, 95, 191);" lang="EN-US"><span style=""> </span>/**<br> -<span style=""> </span>* Launch a new terminal to remote machine.<o:p></o:p><br> -<span style=""> </span>* </span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(127, 159, 191);" lang="EN-US">@param</span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(63, 95, 191);" lang="EN-US"> type - requested -terminal type for the new terminal.</span><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-US"><o:p></o:p></span><br> -<span style="font-size: 10pt; font-family: "Courier New"; color: rgb(63, 95, 191);" lang="EN-US"><span style=""> </span>* </span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(127, 159, 191);" lang="EN-US">@param</span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(63, 95, 191);" lang="EN-US"> encoding - -requested encoding for the new terminal.</span><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-US"><o:p></o:p></span><br> -<span style="font-size: 10pt; font-family: "Courier New"; color: rgb(63, 95, 191);" lang="EN-US"><span style=""> </span>* </span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(127, 159, 191);" lang="EN-US">@param</span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(63, 95, 191);" lang="EN-US"> environment - -Array of environment variable strings.<br> -<span style=""> </span>* if null then default set of -environment variables will be used.</span><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-US"><o:p></o:p></span><br> -<span style="font-size: 10pt; font-family: "Courier New"; color: rgb(63, 95, 191);" lang="EN-US"><span style=""> </span>* </span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(127, 159, 191);" lang="EN-US">@param</span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(63, 95, 191);" lang="EN-US"> done - call back -interface called when operation is completed.<br> -<span style=""> </span>* </span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(127, 159, 191);" lang="EN-US">@return</span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(63, 95, 191);" lang="EN-US"> pending command handle, can be used to -cancel the command.<br> -<span style=""> </span>*/</span><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-US"><br> -<span style=""> </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: "Courier New";" lang="EN-US"><span style=""> </span><span style="color: rgb(63, 95, 191);">/**<br> -<span style=""> </span>* Call-back interface to be called -when "start" command is complete.<br> -<span style=""> </span>*/</span><br> -<span style=""> </span><span style="color: rgb(127, 0, 85);">interface</span> -DoneLaunch {<br> -<span style=""> </span><span style="color: rgb(127, 0, 85);">void</span> -doneLaunch(IToken token, Exception error, TerminalContext terminal);<br> -<span style=""> </span>}<o:p></o:p></span></p> - - -<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-US"><span style=""> </span><span style="color: rgb(63, 95, 191);">/**<br> -<span style=""> </span>* Set the terminal widows size<br> -<span style=""> </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=""> </span>* </span><span style="color: rgb(127, 159, 191);">@param</span><span style="color: rgb(63, 95, 191);"> signal - signal code.<br> -<span style=""> </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=""> </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=""> </span>*/</span><br> -<span style=""> </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: "Courier New";" lang="EN-US"><span style=""> </span><span style="color: rgb(63, 95, 191);">/**<br> -<span style=""> </span>* Exit a terminal.<br> -<span style=""> </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=""> </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=""> </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=""> </span>*/</span><br> -<span style=""> </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: "Courier New"; color: rgb(63, 95, 191);" lang="EN-US">/**<br> -<span style=""> </span>* Add terminals service event -listener.<br> -<span style=""> </span>* </span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(127, 159, 191);" lang="EN-US">@param</span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(63, 95, 191);" lang="EN-US"> listener - event listener implementation.<br> -<span style=""> </span>*/</span><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-US"><br> -<span style=""> </span><span style="color: rgb(127, 0, 85);">void</span> -addListener(TerminalsListener listener);<br> -<br> -<span style=""> </span><span style="color: rgb(63, 95, 191);">/**<br> -<span style=""> </span>* Remove terminals service event -listener.<br> -<span style=""> </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=""> </span>*/</span><br> -<span style=""> </span><span style="color: rgb(127, 0, 85);">void</span> -removeListener(TerminalsListener listener);<br> -<br> -<span style=""> </span><span style="color: rgb(63, 95, 191);">/**<br> -<span style=""> </span>* Process event listener is notified -when a terminal exits.<br> -<span style=""> </span>* Event are reported only for -terminals that were started by 'launch' command.<br> -<span style=""> </span>*/</span><br> -<span style=""> </span><span style="color: rgb(127, 0, 85);">interface</span> -TerminalsListener {<br> -<br> -<span style=""> </span><span style="color: rgb(63, 95, 191);">/**<br> -<span style=""> </span>* Called when a terminal exits.<br> -<span style=""> </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=""> </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=""> </span>*/</span><br> -<span style=""> </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: "Courier New"; color: rgb(63, 95, 191);" lang="EN-US"><br> - /**<br> -<span style=""> </span><span style=""> </span>* Called when a terminal exits.<br> -<span style=""> </span>* </span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(127, 159, 191);" lang="EN-US">@param</span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(63, 95, 191);" lang="EN-US"> terminal_id - terminal context ID<br> -<span style=""> </span>* </span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(127, 159, 191);" lang="EN-US">@param</span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(63, 95, 191);" lang="EN-US"> newWidth – new terminal width<o:p></o:p><br> - * </span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(127, 159, 191);" lang="EN-US">@param</span><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(63, 95, 191);" lang="EN-US"> newHeight – new terminal height<br> -<span style=""> </span>*/</span><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-US"><br> -<span style=""> </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: "Courier New";" lang="EN-US">}<o:p></o:p></span></p> - - -<span style="font-size: 10pt; font-family: "Courier New";" 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' -> 'property value' + */</font> + Map<String, Object> 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 */ |