+ public AutoCloseable registerCapabilityListener(final CapabilityListener listener) {
+ if(ref.get() == null || ref.get().get() == null) {
+ getYangStoreSnapshot();
+ }
+
+ this.listeners.add(listener);
+ listener.onCapabilitiesAdded(NetconfOperationServiceFactoryImpl.setupCapabilities(ref.get().get()));
+
+ return new AutoCloseable() {
+ @Override
+ public void close() throws Exception {
+ YangStoreService.this.listeners.remove(listener);
+ }
+ };
+ }
+
+ private static final Function<Module, Capability> MODULE_TO_CAPABILITY = new Function<Module, Capability>() {
+ @Override
+ public Capability apply(final Module module) {
+ return new NetconfOperationServiceFactoryImpl.YangStoreCapability(module, module.getSource());
+ }
+ };
+