2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.netconf.mapping.api;
11 import org.eclipse.jdt.annotation.NonNull;
12 import org.opendaylight.netconf.api.capability.Capability;
13 import org.opendaylight.netconf.api.monitoring.CapabilityListener;
14 import org.opendaylight.yangtools.concepts.Registration;
17 * Factory that must be registered in OSGi service registry in order to be used
18 * by netconf-impl. Responsible for creating per-session instances of
19 * {@link NetconfOperationService}.
21 public interface NetconfOperationServiceFactory {
23 * Get capabilities supported by current operation service.
25 @NonNull Set<Capability> getCapabilities();
28 * Supported capabilities may change over time, registering a listener allows for push based information
29 * retrieval about current notifications.
31 @NonNull Registration registerCapabilityListener(CapabilityListener listener);
33 @NonNull NetconfOperationService createService(String netconfSessionIdForReporting);