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

   <extension
         point="org.eclipse.debug.core.launchDelegates">

       <launchDelegate
            sourceLocatorId="org.eclipse.cdt.debug.core.sourceLocator"
            sourcePathComputerId="com.nokia.cdt.debug.cw.symbian.CarbideSourcePathComputer"
            delegateDescription="Launch a classic Carbide Emulator debug session."          
            name="Classic Symbian OS Emulation"
            delegate="com.nokia.cdt.internal.debug.launch.EmulationLaunchDelegate"
            modes="run,debug"
            type="com.nokia.cdt.debug.launch.emulationLaunch"
            id="com.nokia.cdt.debug.launch.emulationLaunchDelegate">
      </launchDelegate>

      <launchDelegate
            name="Classic Symbian OS Application TRK"
            delegateDescription="Launch a classic Symbian OS Application TRK debug session."          
            delegate="com.nokia.cdt.internal.debug.launch.TRKLaunchDelegate"
            modes="run,debug"
            type="com.nokia.cdt.debug.launch.appTRKLaunch"
            id="com.nokia.cdt.debug.launch.appTRKLaunchDelegate"
            sourceLocatorId="org.eclipse.cdt.debug.core.sourceLocator"
            sourcePathComputerId="com.nokia.cdt.debug.cw.symbian.CarbideSourcePathComputer">
      </launchDelegate>
 
      <launchDelegate
            name="Classic Symbian OS System TRK"
            delegateDescription="Launch a classic Symbian OS System TRK debug session."          
            delegate="com.nokia.cdt.internal.debug.launch.TRKLaunchDelegate"
            modes="run,debug"
            type="com.nokia.cdt.debug.launch.systemTRKLaunch"
            id="com.nokia.cdt.debug.launch.systemTRKLaunchDelegate"
            sourceLocatorId="org.eclipse.cdt.debug.core.sourceLocator"
            sourcePathComputerId="com.nokia.cdt.debug.cw.symbian.CarbideSourcePathComputer">
      </launchDelegate>
 
      <launchDelegate
            name="Classic Symbian OS Attach to Process"
            delegate="com.nokia.cdt.internal.debug.launch.AttachLaunchDelegate"
            delegateDescription="Launch a classic Symbian OS Attach to Process debug session."          
            modes="debug"
            type="com.nokia.cdt.debug.launch.attachLaunch"
            id="com.nokia.cdt.debug.launch.attachLaunchDelegate"
            sourceLocatorId="org.eclipse.cdt.debug.core.sourceLocator"
            sourcePathComputerId="com.nokia.cdt.debug.cw.symbian.CarbideSourcePathComputer">
      </launchDelegate>
    
      <launchDelegate
            name="Classic Symbian OS Trace32"
            delegate="com.nokia.cdt.internal.debug.launch.Trace32LaunchDelegate"
            delegateDescription="Launch a classic Symbian OS Trace32 debug session."          
            modes="debug"
            type="com.nokia.cdt.debug.launch.t32Launch"
            id="com.nokia.cdt.debug.launch.t32LaunchDelegate"
            sourceLocatorId="org.eclipse.cdt.debug.core.sourceLocator"
            sourcePathComputerId="com.nokia.cdt.debug.cw.symbian.CarbideSourcePathComputer">
      </launchDelegate>
      
   </extension>

   <extension
         point="org.eclipse.debug.core.launchConfigurationTypes">

      <launchConfigurationType
            name="Symbian OS Emulation"
             public="true"
            id="com.nokia.cdt.debug.launch.emulationLaunch">
      </launchConfigurationType>

      <launchConfigurationType
            name="Symbian OS Application TRK"
            public="true"
            id="com.nokia.cdt.debug.launch.appTRKLaunch">
      </launchConfigurationType>
 
      <launchConfigurationType
            name="Symbian OS System TRK"
            public="true"
            id="com.nokia.cdt.debug.launch.systemTRKLaunch">
      </launchConfigurationType>
 
      <launchConfigurationType
            name="Symbian OS Attach to Process"
            public="true"
            id="com.nokia.cdt.debug.launch.attachLaunch">
      </launchConfigurationType>
    
      <launchConfigurationType
            name="Symbian OS Trace32"
            public="true"
            id="com.nokia.cdt.debug.launch.t32Launch">
      </launchConfigurationType>
      
   </extension>
   
  <extension
         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
      <launchConfigurationTypeImage
            icon="icons/launch_config_file_16x16.png"
            configTypeID="com.nokia.cdt.debug.launch.emulationLaunch"
            id="com.nokia.cdt.debug.launch.emulationLaunchImage">
      </launchConfigurationTypeImage>
      <launchConfigurationTypeImage
            icon="icons/launch_config_file_16x16.png"
            configTypeID="com.nokia.cdt.debug.launch.appTRKLaunch"
            id="com.nokia.cdt.debug.launch.appTRKLaunchImage">
      </launchConfigurationTypeImage>
      <launchConfigurationTypeImage
            icon="icons/launch_config_file_16x16.png"
            configTypeID="com.nokia.cdt.debug.launch.systemTRKLaunch"
            id="com.nokia.cdt.debug.launch.systemTRKLaunchImage">
      </launchConfigurationTypeImage>

      <launchConfigurationTypeImage
            icon="icons/launch_config_file_16x16.png"
            configTypeID="com.nokia.cdt.debug.launch.attachLaunch"
            id="com.nokia.cdt.debug.launch.attachLaunchImage">
      </launchConfigurationTypeImage>
      <launchConfigurationTypeImage
            icon="icons/launch_config_file_16x16.png"
            configTypeID="com.nokia.cdt.debug.launch.t32Launch"
            id="com.nokia.cdt.debug.launch.t32LaunchImage">
      </launchConfigurationTypeImage>
    </extension>

   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            type="com.nokia.cdt.debug.launch.emulationLaunch"
            class="com.nokia.cdt.internal.debug.launch.ui.EmulationConfigurationTabGroup"
            id="com.nokia.cdt.debug.launch.emulationLaunchTabGroup">
      </launchConfigurationTabGroup>
    </extension>
 
    <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            type="com.nokia.cdt.debug.launch.appTRKLaunch"
            class="com.nokia.cdt.internal.debug.launch.ui.AppTRKConfigurationTabGroup"
            id="com.nokia.cdt.debug.launch.appTRKLaunchTabGroup">
      </launchConfigurationTabGroup>
    </extension>

    <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            type="com.nokia.cdt.debug.launch.systemTRKLaunch"
            class="com.nokia.cdt.internal.debug.launch.ui.SystemTRKConfigurationTabGroup"
            id="com.nokia.cdt.debug.launch.systemTRKLaunchTabGroup">
      </launchConfigurationTabGroup>
    </extension>
    
    <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            type="com.nokia.cdt.debug.launch.attachLaunch"
            class="com.nokia.cdt.internal.debug.launch.ui.AttachConfigurationTabGroup"
            id="com.nokia.cdt.debug.launch.attachLaunchTabGroup">
      </launchConfigurationTabGroup>
    </extension>

	<extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            type="com.nokia.cdt.debug.launch.t32Launch"
            class="com.nokia.cdt.internal.debug.launch.ui.T32StopModeConfigurationTabGroup"
            id="com.nokia.cdt.debug.launch.t32LaunchTabGroup">
      </launchConfigurationTabGroup>
    </extension>
    
    <extension
         point="org.eclipse.debug.ui.launchShortcuts">
      <shortcut
            label="Symbian OS Application"
            icon="icons/launch_config_file_16x16.png"
            modes="run, debug"
            class="com.nokia.cdt.internal.debug.launch.SymbianLaunchShortcut"
            id="com.nokia.cdt.debug.launch.symbianCPPShortcut">
         <contextualLaunch>
           <enablement>
             <with variable="selection">
               <count value="1"/>
               <iterate>
				<and>
                   <or>
                     <instanceof value="org.eclipse.cdt.core.model.IBinary"/>
                     <instanceof value="org.eclipse.cdt.core.model.ICProject"/>
                     <instanceof value="org.eclipse.cdt.debug.core.executables.Executable"/>
                     <test
                           forcePluginActivation="true"
                           property="org.eclipse.cdt.launch.isExecutable"/>
                     <test
                           forcePluginActivation="true"
                           property="org.eclipse.cdt.launch.isCProject"/>
                     <and>
                       <instanceof value="org.eclipse.ui.IFileEditorInput"/>
                       <adapt type="org.eclipse.core.resources.IResource">
                         <adapt type="org.eclipse.cdt.core.model.ICElement"/>
                       </adapt>
                     </and>
                    <test
                           forcePluginActivation="true"
                           property="com.nokia.cdt.debug.launch.isCarbideProject"/>
                   <test
                           forcePluginActivation="true"
                           property="com.nokia.cdt.debug.launch.isExecutable"/>
                   </or>
 				</and>
               </iterate>
             </with>
           </enablement>
           <contextLabel
         	  mode="run"
         	  label="Run Symbian OS Application"/>
  		   <contextLabel
  		 	  mode="debug"
  		 	  label="Debug Symbian OS Application"/>
  		 </contextualLaunch>
         <description
             mode="run"
             description="Runs a Symbian OS executable"/>
          <description
             mode="debug"
             description="Debugs a Symbian OS executable"/>
      </shortcut>
     </extension>
   
 <!-- Property testers -->
   <extension point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
      		namespace="com.nokia.cdt.debug.launch"
            properties="isExecutable, isCarbideProject"
            type="org.eclipse.core.runtime.IAdaptable"
            class="com.nokia.cdt.internal.debug.launch.SymbianProjectPropertyTester"
            id="com.nokia.cdt.debug.launch.SymbianProjectPropertyTester">
      </propertyTester>
   </extension>
 
	<!-- Adapters for contextual launch -->
	<extension point="org.eclipse.core.runtime.adapters">
          <factory 
            class="" 
            adaptableType="org.eclipse.cdt.core.model.ICProject">
            <adapter type="org.eclipse.debug.ui.actions.ILaunchable"/>
         </factory>
    </extension>
 
 	<!-- Adapters for contextual launch -->
	<extension point="org.eclipse.core.runtime.adapters">
         <factory 
            class="" 
            adaptableType="org.eclipse.cdt.debug.core.executables.Executable">
            <adapter type="org.eclipse.debug.ui.actions.ILaunchable"/>
         </factory>
    </extension>
 
   <!-- hack to make the traditional memory rendering the default.  we probaly
   		need to keep it this way until CDT adopts this rendering as the default.
   		see Eclipse bugzilla #146667 for more information. -->
   <extension
         point="org.eclipse.debug.ui.memoryRenderings">
      <renderingBindings
            defaultIds="org.eclipse.dd.debug.memory.renderings.traditional.TraditionalRendering"
            primaryId="org.eclipse.dd.debug.memory.renderings.traditional.TraditionalRendering"
            renderingIds="org.eclipse.dd.debug.memory.renderings.traditional.TraditionalRendering">
         <enablement>
            <instanceof value="org.eclipse.cdt.debug.internal.core.model.CMemoryBlockExtension"/>
         </enablement>
      </renderingBindings>
   </extension>
   
   <extension
         point="org.eclipse.ui.startup">
   </extension>

   <extension-point id="launchWizardExtension" name="Launch Wizard Page" schema="schema/launchWizardExtension.exsd"/>
   <extension-point id="launchCategoryExtension" name="Launch Category" schema="schema/launchCategoryExtension.exsd"/>

</plugin>
