Merge "Initial implementation of the ClusteredDataStore"
[controller.git] / opendaylight / md-sal / sal-dom-api / src / main / java / org / opendaylight / controller / sal / core / api / data / DataProviderService.java
index 32035ea489f985997dfcb99b66d729edc11f14b7..20fa29dceb7cd807ca78c2650d357f5a30bb0cb1 100644 (file)
@@ -7,10 +7,18 @@
  */
 package org.opendaylight.controller.sal.core.api.data;
 
+import org.opendaylight.controller.md.sal.common.api.data.DataProvisionService;
 import org.opendaylight.controller.sal.common.DataStoreIdentifier;
 import org.opendaylight.controller.sal.core.api.Provider;
+import org.opendaylight.yangtools.concepts.Registration;
+import org.opendaylight.yangtools.yang.data.api.CompositeNode;
+import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier;
+import org.opendaylight.controller.md.sal.common.api.data.DataReader;;
 
-public interface DataProviderService extends DataBrokerService {
+public interface DataProviderService extends 
+    DataBrokerService, //
+    DataProvisionService<InstanceIdentifier, CompositeNode>
+    {
 
     /**
      * Adds {@link DataValidator} for specified Data Store
@@ -32,23 +40,6 @@ public interface DataProviderService extends DataBrokerService {
     public void removeValidator(DataStoreIdentifier store,
             DataValidator validator);
 
-    /**
-     * Adds {@link DataCommitHandler} for specified data store
-     * 
-     * @param store
-     * @param provider
-     */
-    void addCommitHandler(DataStoreIdentifier store, DataCommitHandler provider);
-
-    /**
-     * Removes {@link DataCommitHandler} from specified data store
-     * 
-     * @param store
-     * @param provider
-     */
-    void removeCommitHandler(DataStoreIdentifier store,
-            DataCommitHandler provider);
-
     /**
      * Adds {@link DataRefresher} for specified data store
      * 
@@ -65,6 +56,11 @@ public interface DataProviderService extends DataBrokerService {
      */
     void removeRefresher(DataStoreIdentifier store, DataRefresher refresher);
 
+    
+    Registration<DataReader<InstanceIdentifier, CompositeNode>> registerConfigurationReader(InstanceIdentifier path, DataReader<InstanceIdentifier, CompositeNode> reader);
+
+    Registration<DataReader<InstanceIdentifier, CompositeNode>> registerOperationalReader(InstanceIdentifier path, DataReader<InstanceIdentifier, CompositeNode> reader);
+    
     public interface DataRefresher extends Provider.ProviderFunctionality {
 
         /**