diff options
Diffstat (limited to 'bundles/code/org.eclipse.fx.code.editor.e4')
3 files changed, 40 insertions, 1 deletions
diff --git a/bundles/code/org.eclipse.fx.code.editor.e4/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor.e4/META-INF/MANIFEST.MF index 8d58226fe..c22a2526e 100644 --- a/bundles/code/org.eclipse.fx.code.editor.e4/META-INF/MANIFEST.MF +++ b/bundles/code/org.eclipse.fx.code.editor.e4/META-INF/MANIFEST.MF @@ -31,5 +31,6 @@ Service-Component: OSGI-INF/services/org.eclipse.fx.code.editor.e4.internal.Docu OSGI-INF/services/org.eclipse.fx.code.editor.e4.internal.ProposalComputerTypeProviderContextFunction.xml, OSGI-INF/services/org.eclipse.fx.code.editor.e4.internal.HoverInformationProviderTypeProviderCF.xml, OSGI-INF/services/org.eclipse.fx.code.editor.e4.internal.SearchProviderTypeProviderCF.xml, - OSGI-INF/services/org.eclipse.fx.code.editor.e4.internal.InputContextContextFunction.xml + OSGI-INF/services/org.eclipse.fx.code.editor.e4.internal.InputContextContextFunction.xml, + OSGI-INF/services/org.eclipse.fx.code.editor.e4.internal.NavigationProviderTypeProviderCF2.xml Bundle-ActivationPolicy: lazy diff --git a/bundles/code/org.eclipse.fx.code.editor.e4/OSGI-INF/services/org.eclipse.fx.code.editor.e4.internal.NavigationProviderTypeProviderCF2.xml b/bundles/code/org.eclipse.fx.code.editor.e4/OSGI-INF/services/org.eclipse.fx.code.editor.e4.internal.NavigationProviderTypeProviderCF2.xml new file mode 100644 index 000000000..f7387b6e4 --- /dev/null +++ b/bundles/code/org.eclipse.fx.code.editor.e4/OSGI-INF/services/org.eclipse.fx.code.editor.e4.internal.NavigationProviderTypeProviderCF2.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.2.0" name="org.eclipse.fx.code.editor.e4.internal.NavigationProviderTypeProviderCF2"> + <property name="service.context.key" value="org.eclipse.fx.code.editor.services.NavigationProvider"/> + <service> + <provide interface="org.eclipse.e4.core.contexts.IContextFunction"/> + </service> + <reference bind="registerService" cardinality="0..n" interface="org.eclipse.fx.code.editor.services.NavigationProviderTypeProvider" name="registerService" policy="dynamic" policy-option="greedy" unbind="unregisterService"/> + <implementation class="org.eclipse.fx.code.editor.e4.internal.NavigationProviderTypeProviderCF2"/> +</scr:component>
\ No newline at end of file diff --git a/bundles/code/org.eclipse.fx.code.editor.e4/src/org/eclipse/fx/code/editor/e4/internal/NavigationProviderTypeProviderCF2.java b/bundles/code/org.eclipse.fx.code.editor.e4/src/org/eclipse/fx/code/editor/e4/internal/NavigationProviderTypeProviderCF2.java new file mode 100644 index 000000000..c69a67903 --- /dev/null +++ b/bundles/code/org.eclipse.fx.code.editor.e4/src/org/eclipse/fx/code/editor/e4/internal/NavigationProviderTypeProviderCF2.java @@ -0,0 +1,29 @@ +package org.eclipse.fx.code.editor.e4.internal; + +import java.util.Map; + +import org.eclipse.e4.core.contexts.IContextFunction; +import org.eclipse.fx.code.editor.e4.InputBasedContextFunction; +import org.eclipse.fx.code.editor.services.NavigationProvider; +import org.eclipse.fx.code.editor.services.NavigationProviderTypeProvider; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.ReferencePolicy; +import org.osgi.service.component.annotations.ReferencePolicyOption; + +@SuppressWarnings("restriction") +@Component(service=IContextFunction.class, property={"service.context.key=org.eclipse.fx.code.editor.services.NavigationProvider"}) +public class NavigationProviderTypeProviderCF2 extends InputBasedContextFunction<NavigationProvider, NavigationProviderTypeProvider> { + + @Override + @Reference(cardinality=ReferenceCardinality.MULTIPLE, policy=ReferencePolicy.DYNAMIC, policyOption=ReferencePolicyOption.GREEDY) + public void registerService(NavigationProviderTypeProvider service, Map<String, Object> properties) { + super.registerService(service, properties); + } + + @Override + public void unregisterService(NavigationProviderTypeProvider service) { + super.unregisterService(service); + } +} |