X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fcore%2Fapi%2FRpcProvisionRegistry.java;h=1caed094374480fcf00beab5f128979cb1e27dfb;hp=24cb99f8c367cd566c576f877cb6bcb20b6519e9;hb=74a7fe23a2fb58d7971b43f5b16a1481dc74966d;hpb=6fd408a04fe4a3611843e2246ece6d7c34b76903 diff --git a/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/sal/core/api/RpcProvisionRegistry.java b/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/sal/core/api/RpcProvisionRegistry.java index 24cb99f8c3..1caed09437 100644 --- a/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/sal/core/api/RpcProvisionRegistry.java +++ b/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/sal/core/api/RpcProvisionRegistry.java @@ -8,27 +8,32 @@ package org.opendaylight.controller.sal.core.api; import org.opendaylight.controller.md.sal.common.api.routing.RouteChangePublisher; +import org.opendaylight.controller.md.sal.dom.api.DOMService; import org.opendaylight.controller.sal.core.api.Broker.RoutedRpcRegistration; import org.opendaylight.controller.sal.core.api.Broker.RpcRegistration; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -public interface RpcProvisionRegistry extends BrokerService, RouteChangePublisher { +/** + * @deprecated Use {@link org.opendaylight.controller.md.sal.dom.api.DOMRpcProviderService} and {@link org.opendaylight.controller.md.sal.dom.api.DOMRpcService} instead. + */ +@Deprecated +public interface RpcProvisionRegistry extends RpcImplementation, BrokerService, RouteChangePublisher, DOMService { /** * Registers an implementation of the rpc. - * + * *

* The registered rpc functionality will be available to all other * consumers and providers registered to the broker, which are aware of * the {@link QName} assigned to the rpc. - * + * *

* There is no assumption that rpc type is in the set returned by * invoking {@link RpcImplementation#getSupportedRpcs()}. This allows * for dynamic rpc implementations. - * + * * @param rpcType * Name of Rpc * @param implementation @@ -38,8 +43,17 @@ public interface RpcProvisionRegistry extends BrokerService, RouteChangePublishe */ RpcRegistration addRpcImplementation(QName rpcType, RpcImplementation implementation) throws IllegalArgumentException; - + ListenerRegistration addRpcRegistrationListener(RpcRegistrationListener listener); RoutedRpcRegistration addRoutedRpcImplementation(QName rpcType, RpcImplementation implementation); + + /** + * Sets this RoutedRpc Implementation as a delegate rpc provider and will be asked to invoke rpc if the + * current provider can't service the rpc request + * + * @param defaultImplementation + * Provider's implementation of RPC functionality + */ + public void setRoutedRpcDefaultDelegate(RoutedRpcDefaultImplementation defaultImplementation); }