<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
-->
<plugin>
    <extension-point id="org.apache.directory.studio.connectionparameterpages" name="%ExtensionPoint_ConnectionParameterPages_name" schema="src/main/resources/connectionParameterPages.exsd"/>

   	<extension
		point="org.eclipse.ui.propertyPages">
		<page
        class="org.apache.directory.studio.connection.ui.properties.ConnectionPropertyPage"
        id="%Prop_ConnectionPropertyPage_id"
        name="%Prop_ConnectionPropertyPage_name"
        objectClass="org.apache.directory.studio.connection.core.ConnectionPropertyPageProvider"/>            

   </extension>

   <extension
         point="org.eclipse.ui.newWizards">
      <wizard
            category="%NewWizards_Category_id"
            class="org.apache.directory.studio.connection.ui.wizards.NewConnectionWizard"
            hasPages="true"
            icon="resources/icons/connection_add.gif"
            id="%NewWizards_NewConnectionWizard_id"
            name="%NewWizards_NewConnectionWizard_name"
            project="false"/>
   </extension>
   
   <extension
         point="org.apache.directory.studio.connectionparameterpages">
      <connectionParameterPage
            class="org.apache.directory.studio.connection.ui.widgets.NetworkParameterPage"
            dependsOnId="%ConnectionParameterPage_NetworkParameterPage_id"
            description="%ConnectionParameterPage_NetworkParameterPage_description"
            id="%ConnectionParameterPage_NetworkParameterPage_id"
            name="%ConnectionParameterPage_NetworkParameterPage_name"/>
      <connectionParameterPage
            class="org.apache.directory.studio.connection.ui.widgets.AuthenticationParameterPage"
            dependsOnId="%ConnectionParameterPage_NetworkParameterPage_id"
            description="%ConnectionParameterPage_AuthenticationParameterPage_description"
            id="%ConnectionParameterPage_AuthenticationParameterPage_id"
            name="%ConnectionParameterPage_AuthenticationParameterPage_name"/>
   </extension>
   
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            category="%PrefPage_StudioPage_id"
            class="org.apache.directory.studio.connection.ui.preferences.ConnectionsPreferencePage"
            id="%PrefPage_ConnectionsPreferencePage_id"
            name="%PrefPage_ConnectionsPreferencePage_name">
      </page>
      <page
            category="%PrefPage_ConnectionsPreferencePage_id"
            class="org.apache.directory.studio.connection.ui.preferences.CertificateValidationPreferencePage"
            id="%PrefPage_CertificateValidationPreferencePage_id"
            name="%PrefPage_CertificateValidationPreferencePage_name">
      </page>
      <page
            category="%PrefPage_ConnectionsPreferencePage_id"
            class="org.apache.directory.studio.connection.ui.preferences.PasswordsKeystorePreferencePage"
            id="%PrefPage_PasswordsKeystorePreferencePage_id"
            name="%PrefPage_PasswordsKeystorePreferencePage_name">
      </page>
   </extension>  
</plugin>
