<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?><!--
    Copyright (c) 2010 Mia-Software.
    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.html
   
    Contributors:
       Gabriel Barbier (Mia-Software) - initial API and implementation
 -->

<plugin>
   <extension-point id="org.eclipse.gmt.modisco.workflow.engine" name="%extension-point.name.engine" schema="schema/org.eclipse.gmt.modisco.workflow.engine.exsd"/>
   <extension-point id="org.eclipse.gmt.modisco.workflow.driver" name="%extension-point.name.driver" schema="schema/org.eclipse.gmt.modisco.workflow.driver.exsd"/>
   
   <!--
   
   <extension
         point="org.eclipse.debug.core.launchConfigurationTypes">
      <launchConfigurationType
            delegate="org.eclipse.gmt.modisco.workflow.actions.MoDiscoWorkflowDelegate"
            id="org.eclipse.gmt.modisco.workflow.workflowtransformation"
            modes="run,debug"
            name="%launchConfigurationType.name"
            public="true">
      </launchConfigurationType>
   </extension>
   
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
      <launchConfigurationTypeImage
            configTypeID="org.eclipse.gmt.modisco.workflow.workflowtransformation"
            icon="icons/modiscoWorkflow.png"
            id="org.eclipse.gmt.modisco.workflow.launchConfigurationTypeImage3">
      </launchConfigurationTypeImage>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            class="org.eclipse.gmt.modisco.workflow.ui.MoDiscoWorkflowTabGroup"
            id="org.eclipse.gmt.modisco.workflow.launchConfigurationTabGroup3"
            type="org.eclipse.gmt.modisco.workflow.workflowtransformation">
      </launchConfigurationTabGroup>
   </extension>
   
   -->
   
   <extension
         point="org.eclipse.emf.ecore.generated_package">
      <package
            class="org.eclipse.gmt.modisco.workflow.modiscoworkflow.ModiscoworkflowPackage"
            genModel="model/modiscowork.genmodel"
            uri="http://www.eclipse.org/gmt/modisco/workflow">
      </package>
   </extension>
   <extension
         point="org.eclipse.core.contenttype.contentTypes">
      <content-type
            base-type="org.eclipse.emf.ecore.xmi"
            file-extensions="modiscoworkflow"
            id="org.eclipse.gmt.modisco.workflow.contenttype"
            name="%content-type.name"
            priority="normal">
      </content-type>
   </extension>
   
   <!--
   
   <extension
         id="org.eclipse.gmt.modisco.workflow.defaultengine"
         point="org.eclipse.gmt.modisco.workflow.engine">
      <workflowCore
            class="org.eclipse.gmt.modisco.workflow.defaultengine.WorkflowModelImpl"
            name="%workflowCore.name">
      </workflowCore>
      <workflowExecution
            class="org.eclipse.gmt.modisco.workflow.defaultengine.WorkflowExecutionImpl">
      </workflowExecution>
   </extension>
   
   -->

</plugin>
