- public GeneratedClassLoadingStrategy getModuleInfoLoadingStrategy() {
- return moduleInfoLoadingStrategy;
+ private final RefreshingSCPModuleInfoRegistry moduleInfoRegistry;
+ private final BundleTracker<Collection<ObjectRegistration<YangModuleInfo>>> bundleTracker;
+ private boolean starting;
+
+ public ModuleInfoBundleTracker(BundleContext context, RefreshingSCPModuleInfoRegistry moduleInfoRegistry) {
+ this.moduleInfoRegistry = moduleInfoRegistry;
+ bundleTracker = new BundleTracker<>(context, Bundle.RESOLVED | Bundle.STARTING |
+ Bundle.STOPPING | Bundle.ACTIVE, this);
+ }
+
+ public void open() {
+ LOG.debug("ModuleInfoBundleTracker open starting");
+
+ starting = true;
+ bundleTracker.open();
+
+ starting = false;
+ moduleInfoRegistry.updateService();
+
+ LOG.debug("ModuleInfoBundleTracker open complete");