<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
     Copyright (c) 2009, 2020 IBM Corporation and others.

     This program and the accompanying materials
     are made available under the terms of the Eclipse Public License 2.0
     which accompanies this distribution, and is available at
     https://www.eclipse.org/legal/epl-2.0/

     SPDX-License-Identifier: EPL-2.0
    
     Contributors:
         IBM Corporation - initial API and implementation
 -->

<plugin>

   <extension point="org.eclipse.debug.ui.memoryRenderings">
      <renderingType
            id="rendering_type_1"
            name="%renderingType.name"
            class="org.eclipse.debug.tests.view.memory.RenderingTypeDelegate">
      </renderingType>
      <renderingType
            id="rendering_type_2"
            name="%renderingType.name.0"
            class="org.eclipse.debug.tests.view.memory.RenderingTypeDelegate">
      </renderingType>
      <renderingType
            id="rendering_type_3"
            name="%renderingType.name.1"
            class="org.eclipse.debug.tests.view.memory.RenderingTypeDelegate">
      </renderingType>
      <renderingBindings
      		primaryId="rendering_type_1">
      		<enablement>
      			<instanceof value="org.eclipse.debug.tests.view.memory.MemoryBlockOne"/>
      		</enablement>
      </renderingBindings>
      <renderingBindings
      		renderingIds="rendering_type_1, rendering_type_2">
      		<enablement>
      			<instanceof value="org.eclipse.debug.tests.view.memory.MemoryBlockTwo"/>
      		</enablement>
      </renderingBindings>
      <renderingBindings
      		defaultIds="rendering_type_3">
      		<enablement>
      			<instanceof value="org.eclipse.debug.tests.view.memory.MemoryBlockThree"/>
      		</enablement>
      </renderingBindings>  
      <renderingBindings
      		class="org.eclipse.debug.tests.view.memory.DynamicRenderingBindings">
      		<enablement>
      			<instanceof value="org.eclipse.debug.tests.view.memory.MemoryBlockDynamic"/>
      		</enablement>
      </renderingBindings>
   </extension>
   <extension
         point="org.eclipse.debug.core.launchConfigurationTypes">
      <launchConfigurationType
            delegate="org.eclipse.debug.tests.launching.TestLaunchDelegate"
            id="org.eclipse.debug.tests.launch.type"
            modes="run, debug"
            name="%launchConfigurationType.name">
      </launchConfigurationType>
      <launchConfigurationType
            delegate="org.eclipse.debug.tests.launching.CancellingLaunchDelegate"
            id="cancelling.type"
            modes="run"
            name="%launchConfigurationType.name.0">
      </launchConfigurationType>
   </extension>
   <extension
        id="debugFS"
        name="%extension.name"
        point="org.eclipse.core.filesystem.filesystems">
     <filesystem
           scheme="debug">
        <run
              class="org.eclipse.debug.tests.launching.DebugFileSystem">
        </run>
     </filesystem>
   </extension>
   <extension
         point="org.eclipse.debug.core.statusHandlers">
      <statusHandler
            class="org.eclipse.debug.tests.statushandlers.StatusHandler"
            code="333"
            id="org.eclipse.debug.tests.statusHandler"
            plugin="org.eclipse.debug.tests">
      </statusHandler>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
      <launchConfigurationTypeImage
            configTypeID="org.eclipse.debug.tests.launch.type1"
            icon="platform:/plugin/org.eclipse.debug.tests/icons/image1.gif"
            id="type.image.1">
      </launchConfigurationTypeImage>
      <launchConfigurationTypeImage
            configTypeID="org.eclipse.debug.tests.launch.type"
            icon="icons/image2.gif"
            id="type.image.2">
      </launchConfigurationTypeImage>
   </extension>
   <extension
         point="org.eclipse.debug.core.stepFilters">
      <stepFilter
            class="org.eclipse.debug.tests.stepfilters.TestStepFilter"
            modelIdentifier="com.example.debug.model">
      </stepFilter>
   </extension>
   <extension point="org.eclipse.debug.core.breakpoints">
      <breakpoint
          id="org.eclipse.debug.tests.testBreakpoint"
          class="org.eclipse.debug.tests.breakpoint.TestBreakpoint"
          markerType="org.eclipse.debug.core.breakpointMarker">
      </breakpoint>
   </extension>
   <extension
         id="org.eclipse.debug.tests.testBreakpointMarker"
         name="%testBreakpoint.name"
         point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.debug.core.breakpointMarker">
      </super>
   </extension>
   <extension
         point="org.eclipse.debug.ui.debugModelPresentations">
      <debugModelPresentation
            class="org.eclipse.debug.tests.viewer.model.DebugTestModelPresentation"
            id="org.eclipse.debug.tests">
      </debugModelPresentation>
   </extension>
   <extension
         point="org.eclipse.debug.core.logicalStructureTypes">
      <logicalStructureType
            class="org.eclipse.debug.tests.logicalstructure.TestLogicalStructureTypeDelegate"
            id="org.eclipse.debug.tests.logicalStructureType1"
            modelIdentifier="org.eclipse.debug.tests">
      </logicalStructureType>
   </extension>
</plugin>
