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<SubgraphProvider, SubgraphProvider> 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]);
+ }
+
}