Merge "Bug 499: Added support for change listeners."
[controller.git] / opendaylight / md-sal / sal-dom-broker / src / main / yang / opendaylight-dom-broker-impl.yang
1 module opendaylight-sal-dom-broker-impl {
2         yang-version 1;
3     namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl";
4     prefix "binding-impl";
5
6         import config { prefix config; revision-date 2013-04-05; }
7         import opendaylight-md-sal-dom {prefix sal;}
8         import opendaylight-md-sal-common {prefix common;}
9
10     description
11         "Service definition for Binding Aware MD-SAL.";
12  
13     revision "2013-10-28" {
14         description
15             "Initial revision";
16     }
17
18     identity dom-broker-impl {
19         base config:module-type;
20         config:provided-service sal:dom-broker-osgi-registry;
21         config:java-name-prefix DomBrokerImpl;
22     }    
23     
24     identity hash-map-data-store {
25         base config:module-type;
26         config:provided-service sal:dom-data-store;
27         config:java-name-prefix HashMapDataStore;
28     }
29     
30     identity schema-service-singleton {
31         base config:module-type;
32         config:provided-service sal:schema-service;
33         config:java-name-prefix SchemaServiceImplSingleton;
34     }
35
36     augment "/config:modules/config:module/config:configuration" {
37         case dom-broker-impl {
38             when "/config:modules/config:module/config:type = 'dom-broker-impl'";
39             container data-store {
40                 uses config:service-ref {
41                     refine type {
42                         mandatory true;
43                         config:required-identity sal:dom-data-store;
44                     }
45                 }
46             }
47         }
48     }
49     
50     augment "/config:modules/config:module/config:state" {
51         case hash-map-data-store {
52             when "/config:modules/config:module/config:type = 'hash-map-data-store'";
53         }
54     }
55     
56     augment "/config:modules/config:module/config:state" {
57         case schema-service-singleton {
58             when "/config:modules/config:module/config:type = 'schema-service-singleton'";
59         }
60     }
61     
62     augment "/config:modules/config:module/config:state" {
63         case dom-broker-impl {
64             when "/config:modules/config:module/config:type = 'dom-broker-impl'";
65             container data {
66                 uses common:data-state;
67             } 
68         }
69     }
70 }