Make sure invokeOperation is set once
[controller.git] / opendaylight / adsal / sal / api / src / main / java / org / opendaylight / controller / sal / core / IContainerListener.java
1
2 /*
3  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
4  *
5  * This program and the accompanying materials are made available under the
6  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
7  * and is available at http://www.eclipse.org/legal/epl-v10.html
8  */
9
10 /**
11  * @file   IContainerListener.java
12  *
13  * @brief  Set of methods needed to listen to changes in the Container
14  * configuration
15  *
16  * Set of methods needed to listen to changes in the Container
17  * configuration
18  *
19  *
20  */
21 package org.opendaylight.controller.sal.core;
22
23 /**
24  * The interface describes methods used to retrieve the status of a given
25  * Container
26  */
27 @Deprecated
28 public interface IContainerListener {
29     /**
30      * Called to notify a change in the tag assigned to a switch
31      *
32      * @param containerName container for which the update has been raised
33      * @param n Node of the tag under notification
34      * @param oldTag previous version of the tag, this differ from the
35      * newTag only if the UpdateType is a modify
36      * @param newTag new value for the tag, different from oldTag only
37      * in case of modify operation
38      * @param t type of update
39      */
40     public void tagUpdated(String containerName, Node n, short oldTag,
41             short newTag, UpdateType t);
42
43     /**
44      * Notification raised when the container flow layout changes
45      *
46      * @param containerName
47      *            container for which the update has been raised
48      * @param previousFlow
49      *            previous value of the container flow
50      *            {@link org.opendaylight.controller.sal.core.ContainerFlow}
51      *            under update, differs from the currentFlow only and only if
52      *            it's an update operation
53      * @param currentFlow
54      *            current version of the container flow
55      *            {@link org.opendaylight.controller.sal.core.ContainerFlow}
56      *            differs from the previousFlow only in case of update
57      * @param t
58      *            type of update
59      *            {@link org.opendaylight.controller.sal.core.UpdateType}
60      */
61     public void containerFlowUpdated(String containerName,
62             ContainerFlow previousFlow, ContainerFlow currentFlow, UpdateType t);
63
64     /**
65      * Notification raised when a NodeConnector is added or removed in the
66      * container.
67      *
68      * @param containerName
69      *            container for which the update has been raised
70      * @param p
71      *            NodeConnector
72      *            {@link org.opendaylight.controller.sal.core.NodeConnector}
73      *            being updated
74      * @param t
75      *            type of modification
76      *            {@link org.opendaylight.controller.sal.core.UpdateType}, but
77      *            among the types the modify operation is not expected to be
78      *            raised because the nodeConnectors are anyway immutable so this
79      *            is only used to add/delete
80      */
81     public void nodeConnectorUpdated(String containerName, NodeConnector p,
82             UpdateType t);
83
84     /**
85      * Notification raised when the container mode has changed This notification
86      * is needed for some bundle in the default container to cleanup some HW
87      * state when switching from non-slicing to slicing case and vice-versa
88      *
89      * @param t
90      *            type of modification
91      *            {@link org.opendaylight.controller.sal.core.UpdateType}. ADDED
92      *            when first container is created, REMOVED when last container
93      *            is removed
94      */
95     public void containerModeUpdated(UpdateType t);
96 }