blob: 9ad5def24265ceaa61cd2dacf3bab302967b34d8 [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.linuxtools.profiling.launch" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.eclipse.linuxtools.profiling.launch" id="launchProvider" name="Launch Provider"/>
</appinfo>
<documentation>
This extension point allows various launch shortcuts that use the &lt;code&gt;ProfileLaunchShortcut&lt;/code&gt; the ability to contribute its launcher(s) to a general set of profiling types.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<sequence minOccurs="1" maxOccurs="unbounded">
<element ref="provider"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="provider">
<complexType>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
specifies a unique identifier for this launch provider.
</documentation>
</annotation>
</attribute>
<attribute name="type" type="string" use="required">
<annotation>
<documentation>
specifies the profiling type of this launch provider.
</documentation>
</annotation>
</attribute>
<attribute name="shortcut" type="string" use="required">
<annotation>
<documentation>
specifies the fully qualified name of the Java class that extends &lt;code&gt;ProfileLaunchShortcut&lt;/code&gt; and that will provide a launch for profiling.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn="org.eclipse.linuxtools.profiling.launch.ProfileLaunchShortcut:"/>
</appinfo>
</annotation>
</attribute>
<attribute name="tabgroup" type="string" use="required">
<annotation>
<documentation>
specifies the fully qualified name of a Java class that implements &lt;code&gt;ProfileLaunchConfigurationTabGroup&lt;/code&gt; and that will provide a set of tabs.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn="org.eclipse.linuxtools.profiling.launch.ProfileLaunchConfigurationTabGroup:"/>
</appinfo>
</annotation>
</attribute>
<attribute name="priority" type="string" use="required">
<annotation>
<documentation>
positive integer specifying priority over launch provider&apos;s of the same type.
Invalid values will be assigned the lowest priority to the extension.
</documentation>
</annotation>
</attribute>
<attribute name="delegate" type="string" use="required">
<annotation>
<documentation>
specifies the fully qualified name of the Java class that extends &lt;code&gt;AbstractCLaunchDelegate&lt;/code&gt; and provides a launch delegate for profiling.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn="org.eclipse.cdt.launch.AbstractCLaunchDelegate:"/>
</appinfo>
</annotation>
</attribute>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
specifies a human-readable name for this launch provider.
</documentation>
</annotation>
</attribute>
<attribute name="description" type="string">
<annotation>
<documentation>
specifies a human-readable description of launch provider to be used in the preferences tool tip information.
</documentation>
</annotation>
</attribute>
<attribute name="information" type="string">
<annotation>
<documentation>
specifies additional plug-in specific information to be displayed in the preferences page.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
1.1.0
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
The following is an example of a launch provider extension point:
&lt;extension
point=&quot;org.eclipse.linuxtools.profiling.launch.launchProvider&quot;&gt;
&lt;provider
id=&quot;com.example.perf.provider&quot;
delegate=&quot;com.example.perf.launch.PerfLaunchConfigDelegate&quot;
shortcut=&quot;com.example.perf.launch.PerfLaunchShortcut&quot;
tabgroup=&quot;com.example.perf.launch.PerfLaunchConfigurationTabGroup&quot;
priority=&quot;1&quot;
type=&quot;timing&quot;
name=&quot;Perf&quot;
description=&quot;Hardware/Software Events Timing&quot;
information=&quot;Note: does not require set-up or special compilation.&quot;&gt;
&lt;/provider&gt;
&lt;/extension&gt;
In the above example, the contributed launch provider will become available as a tool for the &quot;Profile Timing&quot; launch shortcut (accessible from the “Profile As” context menu),
preferences page and project properties page. Furthermore, this tool will be set as the default for the specified type as a result of setting its priority to 1. In addition, the tool&apos;s
launch configuration will be available under the &quot;Profiling Time&quot; launch configuration category. Here the specified tab group will be used to provide an interface for configuring
tool specific settings.
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiinfo"/>
</appinfo>
<documentation>
Plug-ins that want to extend this extension point must make use of : &lt;samp&gt;org.eclipse.linuxtools.profiling.launch.ProfileLaunchShortcut&lt;/samp&gt;
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="copyright"/>
</appinfo>
<documentation>
Copyright (c) 2012, 2018 Red Hat, Inc.
This program and the accompanying materials are made
available under the terms of the Eclipse Public License 2.0
which is available at https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
Contributors:
Roland Grunberg &lt;rgrunber@redhat.com&gt; - initial API and implementation
</documentation>
</annotation>
</schema>