Expose default module instances into OSGi
[controller.git] / opendaylight / md-sal / sal-binding-broker / src / main / yang / opendaylight-binding-broker-impl.yang
index 8e2808936ce47e52f7b33b808269b7e608d54f12..84cc5c7b99121e08e801b5af82777264712154eb 100644 (file)
@@ -69,6 +69,8 @@ module opendaylight-sal-binding-broker-impl {
     identity runtime-generated-mapping {
         base config:module-type;
         config:provided-service binding-dom-mapping-service;
+        config:provided-service sal:binding-codec-tree-factory;
+        config:provided-service sal:binding-normalized-node-serializer;
         config:java-name-prefix RuntimeMapping;
     }
 
@@ -117,30 +119,33 @@ module opendaylight-sal-binding-broker-impl {
                     }
                 }
             }*/
-
-            container data-broker {
-                uses config:service-ref {
-                    refine type {
-                        mandatory false;
-                        config:required-identity sal:binding-data-broker;
+            container binding-broker-impl {
+                uses dom-forwarding-component;
+    
+                container data-broker {
+                    uses config:service-ref {
+                        refine type {
+                            mandatory false;
+                            config:required-identity sal:binding-data-broker;
+                        }
                     }
                 }
-            }
-
-            container notification-service {
-                uses config:service-ref {
-                    refine type {
-                        mandatory true;
-                        config:required-identity sal:binding-notification-service;
+    
+                container notification-service {
+                    uses config:service-ref {
+                        refine type {
+                            mandatory true;
+                            config:required-identity sal:binding-notification-service;
+                        }
                     }
                 }
-            }
-
-            container root-data-broker {
-                uses config:service-ref {
-                    refine type {
-                        mandatory false;
-                        config:required-identity sal:binding-async-data-broker;
+    
+                container root-data-broker {
+                    uses config:service-ref {
+                        refine type {
+                            mandatory false;
+                            config:required-identity sal:binding-async-data-broker;
+                        }
                     }
                 }
             }
@@ -151,7 +156,16 @@ module opendaylight-sal-binding-broker-impl {
         case binding-data-compatible-broker {
             when "/config:modules/config:module/config:type = 'binding-data-compatible-broker'";
 
-            uses dom-forwarding-component;
+            container binding-data-compatible-broker {
+                container data-broker {
+                    uses config:service-ref {
+                        refine type {
+                            mandatory false;
+                            config:required-identity sal:binding-async-data-broker;
+                        }
+                    }
+                }
+            }
         }
     }
 
@@ -180,7 +194,7 @@ module opendaylight-sal-binding-broker-impl {
                 container schema-service {
                     uses config:service-ref {
                         refine type {
-                            mandatory false;
+                            mandatory true;
                             config:required-identity dom:schema-service;
                         }
                     }
@@ -190,9 +204,13 @@ module opendaylight-sal-binding-broker-impl {
     }
 
 
-    augment "/config:modules/config:module/config:state" {
+    augment "/config:modules/config:module/config:configuration" {
         case runtime-generated-mapping {
             when "/config:modules/config:module/config:type = 'runtime-generated-mapping'";
+            leaf wait-for-schema {
+                default "false";
+                type boolean;
+            }
         }
     }
 
@@ -203,6 +221,29 @@ module opendaylight-sal-binding-broker-impl {
         }
     }
 
+    augment "/config:modules/config:module/config:configuration" {
+        case binding-notification-broker {
+            when "/config:modules/config:module/config:type = 'binding-notification-broker'";
+            container notification-adapter {
+                uses config:service-ref {
+                    refine type {
+                        mandatory false;
+                        config:required-identity binding-new-notification-service;
+                    }
+                }
+            }
+
+            container notification-publish-adapter {
+                uses config:service-ref {
+                    refine type {
+                        mandatory false;
+                        config:required-identity binding-new-notification-publish-service;
+                    }
+                }
+            }
+        }
+    }
+
     augment "/config:modules/config:module/config:state" {
         case binding-notification-broker {
             when "/config:modules/config:module/config:type = 'binding-notification-broker'";