module yangApp-provider-impl {

    yang-version 1;
    namespace "brocade:training:yangApp:provider:impl";
    prefix "yangApp-provider-impl";

    import config { prefix config; revision-date 2013-04-05; }
    import opendaylight-md-sal-binding { prefix mdsal; revision-date 2013-10-28; }

     description
        "This module contains the base YANG definitions for
        yangApp-provider impl implementation.";

    revision "2014-05-23" {
        description
            "Initial revision.";
    }

    // This is the definition of the service implementation as a module identity.
    identity yangApp-provider-impl {
            base config:module-type;

            // Specifies the prefix for generated java classes.
            config:java-name-prefix yangAppProvider;
    }

    // Augments the 'configuration' choice node under modules/module.
    // We consume the three main services, RPCs, DataStore, and Notifications
    augment "/config:modules/config:module/config:configuration" {
        case yangApp-provider-impl {
            when "/config:modules/config:module/config:type = 'yangApp-provider-impl'";

            container rpc-registry {
                uses config:service-ref {
                    refine type {
                        mandatory true;
                        config:required-identity mdsal:binding-rpc-registry;
                    }
                }
            }

            container notification-service {
                uses config:service-ref {
                    refine type {
                        mandatory true;
                        config:required-identity mdsal:binding-notification-service;
                    }
                }
            }

            container data-broker {
                uses config:service-ref {
                    refine type {
                        mandatory false;
                        config:required-identity mdsal:binding-async-data-broker;
                    }
                }
            }
        }
    }
}
