diff options
Diffstat (limited to 'plugins/org.eclipse.osee.ote.ui.message/src/org/eclipse/osee/ote/ui/message/view/MessageDefinitionProviderTracker.java')
-rw-r--r-- | plugins/org.eclipse.osee.ote.ui.message/src/org/eclipse/osee/ote/ui/message/view/MessageDefinitionProviderTracker.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/plugins/org.eclipse.osee.ote.ui.message/src/org/eclipse/osee/ote/ui/message/view/MessageDefinitionProviderTracker.java b/plugins/org.eclipse.osee.ote.ui.message/src/org/eclipse/osee/ote/ui/message/view/MessageDefinitionProviderTracker.java new file mode 100644 index 00000000000..0252abc86d3 --- /dev/null +++ b/plugins/org.eclipse.osee.ote.ui.message/src/org/eclipse/osee/ote/ui/message/view/MessageDefinitionProviderTracker.java @@ -0,0 +1,30 @@ +package org.eclipse.osee.ote.ui.message.view; + +import org.eclipse.osee.ote.message.MessageDefinitionProvider; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; +import org.osgi.util.tracker.ServiceTracker; + +class MessageDefinitionProviderTracker extends ServiceTracker<MessageDefinitionProvider, MessageDefinitionProvider> { + + private final MessageView view; + + public MessageDefinitionProviderTracker(BundleContext context, MessageView view){ + super(context, MessageDefinitionProvider.class.getName(), null); + this.view = view; + } + + @Override + public MessageDefinitionProvider addingService(ServiceReference<MessageDefinitionProvider> reference) { + MessageDefinitionProvider provider = super.addingService(reference); + view.addMessageDefinitionProvider(provider); + return provider; + } + + @Override + public void removedService(ServiceReference<MessageDefinitionProvider> reference, MessageDefinitionProvider service) { + view.removeMessageDefinitionProvider(service); + super.removedService(reference, service); + } + +} |