Merge "BUG 1082 Migrate sal-rest-connector to Async Data Broker API"
[controller.git] / opendaylight / md-sal / sal-dom-api / src / main / java / org / opendaylight / controller / sal / core / api / model / SchemaService.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.controller.sal.core.api.model;
9
10 import org.opendaylight.controller.sal.core.api.BrokerService;
11 import org.opendaylight.yangtools.concepts.ListenerRegistration;
12 import org.opendaylight.yangtools.yang.model.api.Module;
13 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
14 import org.opendaylight.yangtools.yang.model.api.SchemaContextListener;
15
16 public interface SchemaService extends BrokerService {
17
18     /**
19      * Registers a YANG module to session and global context
20      *
21      * @param module
22      */
23     void addModule(Module module);
24
25     /**
26      * Unregisters a YANG module from session context
27      *
28      * @param module
29      */
30     void removeModule(Module module);
31
32     /**
33      * Returns session specific YANG schema context
34      * @return
35      */
36     SchemaContext getSessionContext();
37
38     /**
39      * Returns global schema context
40      *
41      * @return
42      */
43     SchemaContext getGlobalContext();
44
45     /**
46      * Register a listener for changes in schema context.
47      *
48      * @param listener Listener which should be registered
49      * @return Listener registration handle
50      */
51     ListenerRegistration<SchemaContextListener> registerSchemaContextListener(SchemaContextListener listener);
52 }