1 package org.opendaylight.controller.sal.binding.api;
3 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RoutedRpcRegistration;
4 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RpcRegistration;
5 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
6 import org.opendaylight.yangtools.yang.binding.RpcService;
9 * Interface defining provider's access to the Rpc Registry
10 * which could be used to register their implementations of service to the MD-SAL.
15 public interface RpcProviderRegistry extends RpcConsumerRegistry {
17 * Registers an global RpcService implementation.
20 * @param implementation
23 <T extends RpcService> RpcRegistration<T> addRpcImplementation(Class<T> type, T implementation)
24 throws IllegalStateException;
28 * Register an Routed RpcService where routing is determined on annotated (in YANG model)
29 * context-reference and value of annotated leaf.
31 * @param type Type of RpcService, use generated interface class, not your implementation clas
32 * @param implementation Implementation of RpcService
33 * @return Registration object for routed Rpc which could be used to close an
35 * @throws IllegalStateException
37 <T extends RpcService> RoutedRpcRegistration<T> addRoutedRpcImplementation(Class<T> type, T implementation)
38 throws IllegalStateException;