<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>

  <!-- Registering the Launch dialog -->
  <extension
    point="org.eclipse.ptp.launch.rmLaunchConfigurations"
  >
    <launchConfiguration
      class="org.eclipse.ptp.rm.smoa.ui.launch.SMOARMLaunchConfigurationFactory"
      id="org.eclipse.ptp.smoa.ui.launchConfiguration"
    />
  </extension>

   <extension
         point="org.eclipse.ptp.ui.rmConfigurationWizards">
      <configurationWizard
            class="org.eclipse.ptp.rm.smoa.ui.wizards.SMOARMConfigurationWizardPageFactory"
            id="org.eclipse.ptp.rm.smoa.SMOAServiceProvider">
      </configurationWizard>
   </extension>
   
  <!-- Registering SMOA services -->
  <extension
    point="org.eclipse.ptp.remote.ui.remoteUIServices"
  >
    <remoteUIServices
      class="org.eclipse.ptp.rm.smoa.ui.rservices.SMOAUIServicesFactory"
      id="org.eclipse.ptp.rm.smoa.core.rservices.SMOARemoteServices"
      name="%remoteUIServices.name"
    />
  </extension>
   
  <!-- Adding a command -->
  <extension
    point="org.eclipse.ui.commands"
  >
    <command
      defaultHandler="org.eclipse.ptp.rm.smoa.ui.actions.SMOACustomSyncAction"
      id="org.eclipse.ptp.rm.smoa.ui.actions.SMOACustomSyncAction.id"
      name="%command.name"
    />
     <command
      defaultHandler="org.eclipse.ptp.rm.smoa.ui.actions.SMOAToLocalSyncAction"
      id="org.eclipse.ptp.rm.smoa.ui.actions.SMOAToLocalSyncAction.id"
      name="%command.name.0"
    />
     <command
      defaultHandler="org.eclipse.ptp.rm.smoa.ui.actions.SMOAToRemoteSyncAction"
      id="org.eclipse.ptp.rm.smoa.ui.actions.SMOAToRemoteSyncAction.id"
      name="%command.name.1"
    />
  </extension>

  <!-- Placing the commands in project menu -->
  <extension
    point="org.eclipse.ui.menus"
  >
    <menuContribution
      locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions"
    >
      <menu id="org.eclipse.ui.views.problems.groupBy.menu"
                label="%menu.label"
      >
        <command
          commandId="org.eclipse.ptp.rm.smoa.ui.actions.SMOACustomSyncAction.id"
          label="%command.label"
          style="push"
        />
        <command
          commandId="org.eclipse.ptp.rm.smoa.ui.actions.SMOAToLocalSyncAction.id"
          label="%command.label.0"
          style="push"
        />
        <command
          commandId="org.eclipse.ptp.rm.smoa.ui.actions.SMOAToRemoteSyncAction.id"
          label="%command.label.1"
          style="push"
        />
        <visibleWhen checkEnabled="false">
          <with variable="selection">
            <count value="1"/>
            <iterate ifEmpty="false">
              <instanceof value="org.eclipse.core.resources.IProject"/>
            </iterate>
          </with>
        </visibleWhen>
      </menu>
    </menuContribution>
  </extension>
 
  <!-- Preferences page -->
  <extension
    point="org.eclipse.ui.preferencePages"
  >
    <page
      category="org.eclipse.ptp.ui.preferences.rmPreferencesPage"
      class="org.eclipse.ptp.rm.smoa.ui.preferences.SMOAPreferencePage"
      id="org.eclipse.ptp.smoa.ui.preferences.SMOAPreferencePage"
      name="%page.name"
    />
  </extension>
 
</plugin>
