// vi: set smarttab et sw=4 tabstop=4: module toaster-provider-impl { yang-version 1; namespace "urn:opendaylight:params:xml:ns:yang:controller:config:toaster-provider:impl"; prefix "toaster-provider-impl"; import config { prefix config; revision-date 2013-04-05; } import rpc-context { prefix rpcx; revision-date 2013-06-17; } import opendaylight-md-sal-binding { prefix mdsal; revision-date 2013-10-28; } description "This module contains the base YANG definitions for toaster-provider impl implementation."; revision "2014-01-31" { description "Initial revision."; } // This is the definition of the service implementation as a module identity. identity toaster-provider-impl { base config:module-type; // Specifies the prefix for generated java classes. config:java-name-prefix ToasterProvider; } // Augments the 'configuration' choice node under modules/module. augment "/config:modules/config:module/config:configuration" { case toaster-provider-impl { when "/config:modules/config:module/config:type = 'toaster-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-data-broker; } } } } } augment "/config:modules/config:module/config:state" { case toaster-provider-impl { when "/config:modules/config:module/config:type = 'toaster-provider-impl'"; leaf toasts-made { type uint32; } rpcx:rpc-context-instance "clear-toasts-made-rpc"; } } identity clear-toasts-made-rpc; rpc clear-toasts-made { description "JMX call to clear the toasts-made counter."; input { uses rpcx:rpc-context-ref { refine context-instance { rpcx:rpc-context-instance clear-toasts-made-rpc; } } } } }