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.controller.md.sal.common.api.routing;
10 import org.opendaylight.yangtools.concepts.Path;
11 import org.opendaylight.yangtools.concepts.Registration;
14 * Base interface for a routed RPC RPC implementation registration.
16 * @param <C> the context type used for routing
17 * @param <P> the path identifier type
18 * @param <S> the RPC implementation type
20 public interface RoutedRegistration<C, P extends Path<P>, S> extends Registration<S> {
23 * Registers the RPC implementation associated with this registration for the given path
24 * identifier and context.
26 * @param context the context used for routing RPCs to this implementation.
27 * @param path the path identifier for which to register.
29 void registerPath(C context, P path);
32 * Unregisters the RPC implementation associated with this registration for the given path
33 * identifier and context.
35 * @param context the context used for routing RPCs to this implementation.
36 * @param path the path identifier for which to unregister.
38 void unregisterPath(C context, P path);