<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>

<plugin>
 <!--<extension point="org.eclipse.help.toc">
  <toc file="toc.xml" primary="true"/>
 </extension>
 <extension point="org.eclipse.help.index">
  <index file="index.xml"/>
 </extension>-->

   <extension
         point="org.eclipse.debug.core.launchConfigurationTypes">
      <launchConfigurationType
            delegate="org.eclipse.linuxtools.internal.callgraph.launch.SystemTapLaunchConfigurationDelegate"
            id="org.eclipse.linuxtools.callgraph.launch.systemtapLaunch"
            modes="linuxtools"
            name="%launchConfigurationType.name.0"
            public="true"
            sourceLocatorId="org.eclipse.cdt.debug.core.sourceLocator"
            sourcePathComputerId="org.eclipse.cdt.debug.core.sourcePathComputer">
      </launchConfigurationType>
   </extension>



   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            class="org.eclipse.linuxtools.internal.callgraph.launch.SystemTapLaunchConfigurationTabGroup"
            description="%launchConfigurationTabGroup.description.0"
            id="org.eclipse.linuxtools.callgraph.launch.systemtapTabGroup"
            type="org.eclipse.linuxtools.callgraph.launch.systemtapLaunch">
      </launchConfigurationTabGroup>
   </extension>


    <extension
         point="org.eclipse.debug.ui.launchShortcuts">
      <shortcut
            class="org.eclipse.linuxtools.internal.callgraph.launch.LaunchStapGraph"
            id="org.eclipse.linuxtools.systemtap.quicklaunchStapGraph1"
            icon="icons/bar_graph.png"
            label="%launch.name"
            modes="linuxtools">
         <contextualLaunch>
            <enablement>
               <with
                     variable="selection">
                  <count
                        value="1">
                  </count>
                  <iterate>
                     <or>
                        <instanceof
                              value="org.eclipse.cdt.core.model.IBinary">
                        </instanceof>
                        <instanceof
                              value="org.eclipse.cdt.core.model.ICProject">
                        </instanceof>
                        <test
                              forcePluginActivation="true"
                              property="org.eclipse.cdt.launch.isExecutable">
                        </test>
                        <test
                              forcePluginActivation="true"
                              property="org.eclipse.cdt.launch.isCProject">
                        </test>
                        <and>
                           <instanceof
                                 value="org.eclipse.ui.IFileEditorInput">
                           </instanceof>
                           <adapt
                                 type="org.eclipse.core.resources.IResource">
                              <adapt
                                    type="org.eclipse.cdt.core.model.ICElement">
                              </adapt>
                           </adapt>
                        </and>
                     </or>
                  </iterate>
               </with>
            </enablement>
         </contextualLaunch>
      </shortcut>
   </extension>
 <extension
       point="org.eclipse.debug.ui.launchConfigurationTypeImages">
    <launchConfigurationTypeImage
          configTypeID="org.eclipse.linuxtools.callgraph.launch.systemtapLaunch"
          icon="icons/bar_graph.png"
          id="org.eclipse.linuxtools.callgraph.launch.systemtapLaunchImage">
    </launchConfigurationTypeImage>
 </extension>
 <extension
       point="org.eclipse.linuxtools.profiling.launch.launchProvider">
    <provider
          delegate="org.eclipse.linuxtools.internal.callgraph.launch.SystemTapLaunchConfigurationDelegate"
          description="%callgraphLaunchConfiguration.description"
          id="org.eclipse.linuxtools.callgraph.launch.provider"
          information="%callgraphLaunchConfiguration.information"
          name="%callgraphLaunchConfiguration.name.0"
          priority="3"
          shortcut="org.eclipse.linuxtools.internal.callgraph.launch.LaunchStapGraph"
          tabgroup="org.eclipse.linuxtools.internal.callgraph.launch.SystemTapLaunchConfigurationTabGroup"
          type="timing">
    </provider>
 </extension>


</plugin>
