1 module opendaylight-sal-binding-broker-impl {
3 namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl";
6 import config { prefix config; revision-date 2013-04-05; }
7 import opendaylight-md-sal-binding {prefix sal;}
8 import opendaylight-md-sal-dom {prefix dom;}
9 import opendaylight-md-sal-common {prefix common;}
12 "Service definition for Binding Aware MD-SAL.";
14 revision "2013-10-28" {
19 identity binding-dom-mapping-service {
20 base config:service-type;
21 config:java-class "org.opendaylight.yangtools.yang.data.impl.codec.BindingIndependentMappingService";
25 identity binding-broker-impl {
26 base config:module-type;
27 config:provided-service sal:binding-broker-osgi-registry;
28 config:provided-service sal:binding-rpc-registry;
29 config:java-name-prefix BindingBrokerImpl;
32 identity binding-data-broker {
33 base config:module-type;
34 config:provided-service sal:binding-data-broker;
35 config:provided-service sal:binding-data-consumer-broker;
36 config:java-name-prefix DataBrokerImpl;
39 identity binding-data-compatible-broker {
40 base config:module-type;
41 config:provided-service sal:binding-data-broker;
42 config:provided-service sal:binding-data-consumer-broker;
43 config:java-name-prefix ForwardedCompatibleDataBrokerImpl;
46 identity binding-forwarded-data-broker {
47 base config:module-type;
48 config:provided-service sal:binding-async-data-broker;
49 config:java-name-prefix BindingAsyncDataBrokerImpl;
52 identity binding-rpc-broker {
53 base config:module-type;
54 config:provided-service sal:binding-rpc-registry;
55 config:java-name-prefix RpcBrokerImpl;
58 identity binding-notification-broker {
59 base config:module-type;
60 config:provided-service sal:binding-notification-service;
61 config:provided-service sal:binding-notification-subscription-service;
62 config:java-name-prefix NotificationBrokerImpl;
65 identity runtime-generated-mapping {
66 base config:module-type;
67 config:provided-service binding-dom-mapping-service;
68 config:java-name-prefix RuntimeMapping;
71 grouping dom-forwarding-component {
72 container dom-async-broker {
73 uses config:service-ref {
76 config:required-identity dom:dom-broker-osgi-registry;
81 container binding-mapping-service {
82 uses config:service-ref {
85 config:required-identity binding-dom-mapping-service;
91 augment "/config:modules/config:module/config:configuration" {
92 case binding-broker-impl {
93 when "/config:modules/config:module/config:type = 'binding-broker-impl'";
96 container rpc-registry {
97 uses config:service-ref {
100 config:required-identity sal:binding-rpc-registry;
105 container data-broker {
106 uses config:service-ref {
109 config:required-identity sal:binding-data-broker;
114 container notification-service {
115 uses config:service-ref {
118 config:required-identity sal:binding-notification-service;
123 container root-data-broker {
124 uses config:service-ref {
127 config:required-identity sal:binding-async-data-broker;
134 augment "/config:modules/config:module/config:configuration" {
135 case binding-data-broker {
136 when "/config:modules/config:module/config:type = 'binding-data-broker'";
137 container dom-broker {
138 uses config:service-ref {
141 config:required-identity dom:dom-broker-osgi-registry;
146 container mapping-service {
147 uses config:service-ref {
150 config:required-identity binding-dom-mapping-service;
157 augment "/config:modules/config:module/config:configuration" {
158 case binding-data-compatible-broker {
159 when "/config:modules/config:module/config:type = 'binding-data-compatible-broker'";
161 uses dom-forwarding-component;
165 augment "/config:modules/config:module/config:configuration" {
166 case binding-forwarded-data-broker {
167 when "/config:modules/config:module/config:type = 'binding-forwarded-data-broker'";
168 container binding-forwarded-data-broker {
169 uses dom-forwarding-component;
175 augment "/config:modules/config:module/config:state" {
176 case runtime-generated-mapping {
177 when "/config:modules/config:module/config:type = 'runtime-generated-mapping'";
181 augment "/config:modules/config:module/config:state" {
182 case binding-data-broker {
183 when "/config:modules/config:module/config:type = 'binding-data-broker'";
185 uses common:data-state;
189 augment "/config:modules/config:module/config:state" {
190 case binding-rpc-broker {
191 when "/config:modules/config:module/config:type = 'binding-rpc-broker'";
192 uses common:rpc-state;
195 augment "/config:modules/config:module/config:state" {
196 case binding-notification-broker {
197 when "/config:modules/config:module/config:type = 'binding-notification-broker'";
198 uses common:notification-state;