- public GeneratedClassLoadingStrategy getModuleInfoLoadingStrategy() {
- return moduleInfoLoadingStrategy;
+ private final RefreshingSCPModuleInfoRegistry moduleInfoRegistry;
+ private BundleTracker<Collection<ObjectRegistration<YangModuleInfo>>> bundleTracker;
+ private boolean starting;
+
+ public ModuleInfoBundleTracker(BundleContext context, RefreshingSCPModuleInfoRegistry moduleInfoRegistry) {
+ this.moduleInfoRegistry = moduleInfoRegistry;
+ }
+
+ public void open(BundleTracker<Collection<ObjectRegistration<YangModuleInfo>>> bundleTracker) {
+ LOG.debug("ModuleInfoBundleTracker open starting with bundleTracker {}", bundleTracker);
+
+ if(bundleTracker != null) {
+ this.bundleTracker = bundleTracker;
+ starting = true;
+ bundleTracker.open();
+
+ starting = false;
+ moduleInfoRegistry.updateService();
+ } else {
+ starting = false;
+ }
+
+ LOG.debug("ModuleInfoBundleTracker open complete");