################################################################################
# Copyright (c) 2005 Sybase, Inc.
# 
# 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: Sybase, Inc. - initial API and implementation
################################################################################
Plugin.Name = Connection Profile Sample Plug-in
Plugin.Provider.Name = Eclipse.org

Extension.PropertyPage.Name = File Server Example Properties
Extension.ServerExtension.Name = Sample File Profile
Extension.ServerExtension.Category.Name = Files (Example category)
Extension.ServerExtension.ConnectionProfile.Name = File Server Example
Extension.ServerExtension.ConfigurationType.Name = File Path (Example configuraiton type)
Extension.ServerExtension.ConnectionFactory.Name = java.io.File Connection Factory
Extension.NewWizard.Name = File Connection Profile (Example)
Extension.NewWizard.Description = Create a sample file connection profile
Extension.PopupAction.Name = Sample File Action