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.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec";
24 identity binding-broker-impl {
25 base config:module-type;
26 config:provided-service sal:binding-broker-osgi-registry;
27 config:provided-service sal:binding-rpc-registry;
28 config:java-name-prefix BindingBrokerImpl;
31 identity binding-data-compatible-broker {
32 base config:module-type;
33 config:provided-service sal:binding-data-broker;
34 config:provided-service sal:binding-data-consumer-broker;
35 config:java-name-prefix ForwardedCompatibleDataBrokerImpl;
38 identity binding-forwarded-data-broker {
39 base config:module-type;
40 config:provided-service sal:binding-async-data-broker;
41 config:java-name-prefix BindingAsyncDataBrokerImpl;
44 identity binding-rpc-broker {
45 base config:module-type;
46 config:provided-service sal:binding-rpc-registry;
47 config:java-name-prefix RpcBrokerImpl;
50 identity binding-notification-broker {
51 base config:module-type;
52 config:provided-service sal:binding-notification-service;
53 config:provided-service sal:binding-notification-subscription-service;
54 config:java-name-prefix NotificationBrokerImpl;
57 identity runtime-generated-mapping {
58 base config:module-type;
59 config:provided-service binding-dom-mapping-service;
60 config:java-name-prefix RuntimeMapping;
63 grouping dom-forwarding-component {
64 container dom-async-broker {
65 uses config:service-ref {
68 config:required-identity dom:dom-broker-osgi-registry;
73 container binding-mapping-service {
74 uses config:service-ref {
77 config:required-identity binding-dom-mapping-service;
83 augment "/config:modules/config:module/config:configuration" {
84 case binding-broker-impl {
85 when "/config:modules/config:module/config:type = 'binding-broker-impl'";
88 container rpc-registry {
89 uses config:service-ref {
92 config:required-identity sal:binding-rpc-registry;
97 container data-broker {
98 uses config:service-ref {
101 config:required-identity sal:binding-data-broker;
106 container notification-service {
107 uses config:service-ref {
110 config:required-identity sal:binding-notification-service;
115 container root-data-broker {
116 uses config:service-ref {
119 config:required-identity sal:binding-async-data-broker;
126 augment "/config:modules/config:module/config:configuration" {
127 case binding-data-compatible-broker {
128 when "/config:modules/config:module/config:type = 'binding-data-compatible-broker'";
130 uses dom-forwarding-component;
134 augment "/config:modules/config:module/config:configuration" {
135 case binding-forwarded-data-broker {
136 when "/config:modules/config:module/config:type = 'binding-forwarded-data-broker'";
137 container binding-forwarded-data-broker {
138 container dom-async-broker {
139 uses config:service-ref {
142 config:required-identity dom:dom-async-data-broker;
147 container binding-mapping-service {
148 uses config:service-ref {
151 config:required-identity binding-dom-mapping-service;
156 container schema-service {
157 uses config:service-ref {
160 config:required-identity dom:schema-service;
169 augment "/config:modules/config:module/config:state" {
170 case runtime-generated-mapping {
171 when "/config:modules/config:module/config:type = 'runtime-generated-mapping'";
175 augment "/config:modules/config:module/config:state" {
176 case binding-rpc-broker {
177 when "/config:modules/config:module/config:type = 'binding-rpc-broker'";
178 uses common:rpc-state;
181 augment "/config:modules/config:module/config:state" {
182 case binding-notification-broker {
183 when "/config:modules/config:module/config:type = 'binding-notification-broker'";
184 uses common:notification-state;