*/
package org.opendaylight.controller.sal.binding.codegen;
-import org.opendaylight.controller.sal.binding.spi.DelegateProxy;
-import org.opendaylight.controller.sal.binding.spi.RpcRouter;
+import org.opendaylight.controller.sal.binding.api.rpc.RpcRouter;
+import org.opendaylight.controller.sal.binding.spi.NotificationInvokerFactory;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.RpcService;
import org.opendaylight.yangtools.yang.binding.annotations.RoutingContext;
*
* <p>
* Returned instance:
- * <ul><li>Implements:
- * <ul><li>{@link DelegateProxy}
- * <li>{@link RpcRouter}
- * </ul>
- * <li>
- * routes all invocations of methods, which are defined in RpcService
- * subtype based on method arguments and routing information defined in the
- * RpcRoutingTables for this instance
- * {@link RpcRouter#getRoutingTable(Class)}.
- * <ul>
- * <li>
- * Implementation uses
- * {@link RpcRouter#getService(Class, InstanceIdentifier)} method to
- * retrieve particular instance to which call will be routed.
- * <li>
- * Instance of {@link InstanceIdentifier} is determined by first argument of
- * method and is retrieved via method which is annotated with
- * {@link RoutingContext}. Class representing Routing Context Identifier is
- * retrieved by {@link RoutingContext}.
- * <li>If first argument is not defined / {@link RoutingContext} annotation
- * is not present on any field invocation will be delegated to default
- * service {@link RpcRouter#getDefaultService()}.
+ * <ul>
+ * <li>Implements:
+ * <ul>
+ * <li>{@link DelegateProxy}
+ * <li>{@link RpcRouter}
+ * </ul>
+ * <li>
+ * routes all invocations of methods, which are defined in RpcService
+ * subtype based on method arguments and routing information defined in the
+ * RpcRoutingTables for this instance
+ * {@link RpcRouter#getRoutingTable(Class)}.
+ * <ul>
+ * <li>
+ * Implementation uses
+ * {@link RpcRouter#getService(Class, InstanceIdentifier)} method to
+ * retrieve particular instance to which call will be routed.
+ * <li>
+ * Instance of {@link InstanceIdentifier} is determined by first argument of
+ * method and is retrieved via method which is annotated with
+ * {@link RoutingContext}. Class representing Routing Context Identifier is
+ * retrieved by {@link RoutingContext}.
+ * <li>If first argument is not defined / {@link RoutingContext} annotation
+ * is not present on any field invocation will be delegated to default
+ * service {@link RpcRouter#getDefaultService()}.
* </ul>
*
* @param serviceType
* @return Instance of RpcService of provided serviceType which implements
* also {@link RpcRouter}<T> and {@link DelegateProxy}
*/
- <T extends RpcService> RpcRouter<T> getRouterFor(Class<T> serviceType) throws IllegalArgumentException;
+ <T extends RpcService> RpcRouter<T> getRouterFor(Class<T> serviceType,String name) throws IllegalArgumentException;
+
+ NotificationInvokerFactory getInvokerFactory();
}