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;
125 augment "/config:modules/config:module/config:configuration" {
126 case binding-data-broker {
127 when "/config:modules/config:module/config:type = 'binding-data-broker'";
128 container dom-broker {
129 uses config:service-ref {
132 config:required-identity dom:dom-broker-osgi-registry;
137 container mapping-service {
138 uses config:service-ref {
141 config:required-identity binding-dom-mapping-service;
148 augment "/config:modules/config:module/config:configuration" {
149 case binding-data-compatible-broker {
150 when "/config:modules/config:module/config:type = 'binding-data-compatible-broker'";
152 uses dom-forwarding-component;
156 augment "/config:modules/config:module/config:configuration" {
157 case binding-forwarded-data-broker {
158 when "/config:modules/config:module/config:type = 'binding-forwarded-data-broker'";
159 container binding-forwarded-data-broker {
160 uses dom-forwarding-component;
166 augment "/config:modules/config:module/config:state" {
167 case runtime-generated-mapping {
168 when "/config:modules/config:module/config:type = 'runtime-generated-mapping'";
172 augment "/config:modules/config:module/config:state" {
173 case binding-data-broker {
174 when "/config:modules/config:module/config:type = 'binding-data-broker'";
176 uses common:data-state;
180 augment "/config:modules/config:module/config:state" {
181 case binding-rpc-broker {
182 when "/config:modules/config:module/config:type = 'binding-rpc-broker'";
183 uses common:rpc-state;
186 augment "/config:modules/config:module/config:state" {
187 case binding-notification-broker {
188 when "/config:modules/config:module/config:type = 'binding-notification-broker'";
189 uses common:notification-state;