X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.district.network.ui%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fui%2Finternal%2FActivator.java;fp=org.simantics.district.network.ui%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fui%2Finternal%2FActivator.java;h=e0e7b47564f917a7ca416eda8286cd0d896e3f44;hb=6a4259eb4fee7e5b8bfbe818f7325d73d99a7803;hp=977fe30c670ec13fd6d1c179faff03716c20befa;hpb=65fd04915f975756a22bdc09d2b8068105993631;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/internal/Activator.java b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/internal/Activator.java index 977fe30c..e0e7b475 100644 --- a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/internal/Activator.java +++ b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/internal/Activator.java @@ -2,24 +2,43 @@ package org.simantics.district.network.ui.internal; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; +import org.osgi.util.tracker.ServiceTracker; +import org.simantics.district.network.ui.breakdown.SubgraphProvider; public class Activator implements BundleActivator { public static final String PLUGIN_ID = "org.simantics.district.network.ui"; + private static Activator instance; private static BundleContext context; + private ServiceTracker subgraphProviderTracker; @Override public void start(BundleContext context) throws Exception { + Activator.instance = this; Activator.context = context; + + subgraphProviderTracker = new ServiceTracker<>(context, SubgraphProvider.class.getName(), null); + subgraphProviderTracker.open(); } @Override public void stop(BundleContext context) throws Exception { + subgraphProviderTracker.close(); + + Activator.instance = null; Activator.context = null; } - + + public static Activator getInstance() { + return instance; + } + public static BundleContext getContext() { return context; } + public SubgraphProvider[] getSubgraphProviders() { + return subgraphProviderTracker.getServices(new SubgraphProvider[0]); + } + }