*/
package org.opendaylight.controller.sal.binding.api;
+import org.opendaylight.controller.md.sal.common.api.routing.RoutedRegistration;
import org.opendaylight.controller.sal.binding.api.BindingAwareProvider.ProviderFunctionality;
import org.opendaylight.controller.sal.binding.api.data.DataBrokerService;
import org.opendaylight.controller.sal.binding.api.data.DataProviderService;
+import org.opendaylight.yangtools.concepts.Registration;
import org.opendaylight.yangtools.yang.binding.BaseIdentity;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.RpcService;
*
*
*/
- public interface ConsumerContext {
+ public interface ConsumerContext extends RpcConsumerRegistry {
/**
* Returns a session specific instance (implementation) of requested
*/
<T extends BindingAwareService> T getSALService(Class<T> service);
- /**
- * Returns a session specific instance (implementation) of requested
- * YANG module implentation / service provided by consumer.
- *
- * @param service
- * Broker service
- * @return Session specific implementation of service
- */
- <T extends RpcService> T getRpcService(Class<T> module);
+
}
/**
* functionality provided by other {@link BindingAwareConsumer}s.
*
*/
- public interface ProviderContext extends ConsumerContext {
- /**
- * Registers an global RpcService implementation.
- *
- * @param type
- * @param implementation
- * @return
- */
- <T extends RpcService> RpcRegistration<T> addRpcImplementation(Class<T> type, T implementation)
- throws IllegalStateException;
+ public interface ProviderContext extends ConsumerContext, RpcProviderRegistry {
- <T extends RpcService> RpcRegistration<T> addMountRpcImplementation(Class<T> type,
- InstanceIdentifier mount, T implementation) throws IllegalStateException;
-
- <T extends RpcService> RoutedRpcRegistration<T> addRoutedRpcImplementation(Class<T> type, T implementation)
- throws IllegalStateException;
-
+ @Deprecated
void registerFunctionality(ProviderFunctionality functionality);
+
+ @Deprecated
void unregisterFunctionality(ProviderFunctionality functionality);
}
- public interface RpcRegistration<T extends RpcService> {
-
- /**
- *
- * @return instance for which registration does exists.
- */
- T getService();
+ public interface RpcRegistration<T extends RpcService> extends Registration<T> {
- /**
- * Unregister an RpcService from broker.
- *
- */
- void unregister();
+ Class<T> getServiceType();
}
- public interface RoutedRpcRegistration<T extends RpcService> extends RpcRegistration<T> {
+ public interface RoutedRpcRegistration<T extends RpcService> extends RpcRegistration<T>,
+ RoutedRegistration<Class<? extends BaseIdentity>, InstanceIdentifier<?>, T> {
/**
* Register particular instance identifier to be processed by this
* RpcService
*
+ * Deprecated in favor of {@link RoutedRegistration#registerPath(Object, Object)}.
+ *
* @param context
* @param instance
*/
- void registerInstance(Class<? extends BaseIdentity> context, InstanceIdentifier instance);
+ @Deprecated
+ void registerInstance(Class<? extends BaseIdentity> context, InstanceIdentifier<?> instance);
- void unregisterInstance(Class<? extends BaseIdentity> context, InstanceIdentifier instance);
+ /**
+ * Unregister particular instance identifier to be processed by this
+ * RpcService
+ *
+ * Deprecated in favor of {@link RoutedRegistration#unregisterPath(Object, Object)}.
+ *
+ * @param context
+ * @param instance
+ */
+ @Deprecated
+ void unregisterInstance(Class<? extends BaseIdentity> context, InstanceIdentifier<?> instance);
}
}