<?xml version="1.0" encoding="UTF-8"?>
<!--

    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.

-->
<beans:beans xmlns="http://www.springframework.org/schema/osgi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:beans="http://www.springframework.org/schema/beans"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
                      http://www.springframework.org/schema/beans/spring-beans.xsd
                      http://www.springframework.org/schema/osgi
                      http://www.springframework.org/schema/osgi/spring-osgi.xsd">

	<service ref="ToolInvocationConfigurationUIFactory" interface="uk.org.taverna.configuration.ConfigurationUIFactory" />

	<service ref="InvocationGroupManagerStartupHook" interface="org.apache.taverna.workbench.StartupSPI" />

	<service ref="ExternalToolActivityIcon" interface="org.apache.taverna.workbench.activityicons.ActivityIconSPI" />

	<service ref="LocalInvocationMechanismEditor" interface="org.apache.taverna.activities.externaltool.manager.InvocationMechanismEditor" />
	<service ref="SshInvocationMechanismEditor" interface="org.apache.taverna.activities.externaltool.manager.InvocationMechanismEditor" />

	<service ref="ExternalToolServiceProvider" interface="org.apache.taverna.servicedescriptions.ServiceDescriptionProvider" />
	<service ref="ExternalToolTemplateServiceDescription" interface="org.apache.taverna.servicedescriptions.ServiceDescriptionProvider" />

	<service ref="ConfigureExternalToolMenuAction" auto-export="interfaces" />
	<service ref="AddExternalToolContextualMenuAction" auto-export="interfaces" />
	<service ref="AddExternalToolMenuAction" auto-export="interfaces" />

	<service ref="InvocationGroupManagerShutdownHook" interface="org.apache.taverna.workbench.ShutdownSPI" />

	<service ref="ExternalToolActivityViewFactory" interface="org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory" />

	<list id="mechanismCreators" interface="org.apache.taverna.activities.externaltool.manager.MechanismCreator" cardinality="0..N" />
	<list id="invocationMechanismEditors" interface="org.apache.taverna.activities.externaltool.manager.InvocationMechanismEditor" cardinality="0..N" />

	<reference id="editManager" interface="org.apache.taverna.workbench.edits.EditManager" />
	<reference id="fileManager" interface="org.apache.taverna.workbench.file.FileManager" />
	<reference id="menuManager" interface="org.apache.taverna.ui.menu.MenuManager" />
	<reference id="selectionManager" interface="org.apache.taverna.workbench.selection.SelectionManager" />
	<reference id="activityIconManager" interface="org.apache.taverna.workbench.activityicons.ActivityIconManager" />
	<reference id="colourManager" interface="org.apache.taverna.workbench.configuration.colour.ColourManager" />
	<reference id="configurationManager" interface="org.apache.taverna.configuration.ConfigurationManager" />
	<reference id="invocationGroupManager" interface="org.apache.taverna.activities.externaltool.manager.InvocationGroupManager" />

</beans:beans>
