3 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
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
11 * @file IContainerListener.java
13 * @brief Set of methods needed to listen to changes in the Container
16 * Set of methods needed to listen to changes in the Container
21 package org.opendaylight.controller.sal.core;
25 * Interface used to retrieve the status of a given Container
27 public interface IContainerListener {
29 * Called to notify a change in the tag assigned to a switch
31 * @param containerName container for which the update has been raised
32 * @param n Node of the tag under notification
33 * @param oldTag previous version of the tag, this differ from the
34 * newTag only if the UpdateType is a modify
35 * @param newTag new value for the tag, different from oldTag only
36 * in case of modify operation
37 * @param t type of update
39 public void tagUpdated(String containerName, Node n, short oldTag,
40 short newTag, UpdateType t);
43 * Notification raised when the container flow layout changes
45 * @param containerName container for which the update has been raised
46 * @param previousFlow previous value of the container flow under
47 * update, differs from the currentFlow only and only if it's an
49 * @param currentFlow current version of the container flow differs from
50 * the previousFlow only in case of update
51 * @param t type of update
53 public void containerFlowUpdated(String containerName,
54 ContainerFlow previousFlow, ContainerFlow currentFlow, UpdateType t);
57 * Notification raised when a NodeConnector is added or removed in
60 * @param containerName container for which the update has been raised
61 * @param p NodeConnector being updated
62 * @param t type of modification, but among the types the modify
63 * operation is not expected to be raised because the
64 * nodeConnectors are anyway immutable so this is only used to
67 public void nodeConnectorUpdated(String containerName, NodeConnector p,
71 * Notification raised when the container mode has changed
72 * This notification is needed for some bundle in the default container
73 * to cleanup some HW state when switching from non-slicing to
74 * slicing case and vice-versa
76 * @param t ADDED when first container is created, REMOVED when last container is removed
78 public void containerModeUpdated(UpdateType t);