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;
24 * The interface describes methods used to retrieve the status of a given
28 public interface IContainerListener {
30 * Called to notify a change in the tag assigned to a switch
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
40 public void tagUpdated(String containerName, Node n, short oldTag,
41 short newTag, UpdateType t);
44 * Notification raised when the container flow layout changes
46 * @param containerName
47 * container for which the update has been raised
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
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
59 * {@link org.opendaylight.controller.sal.core.UpdateType}
61 public void containerFlowUpdated(String containerName,
62 ContainerFlow previousFlow, ContainerFlow currentFlow, UpdateType t);
65 * Notification raised when a NodeConnector is added or removed in the
68 * @param containerName
69 * container for which the update has been raised
72 * {@link org.opendaylight.controller.sal.core.NodeConnector}
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
81 public void nodeConnectorUpdated(String containerName, NodeConnector p,
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
90 * type of modification
91 * {@link org.opendaylight.controller.sal.core.UpdateType}. ADDED
92 * when first container is created, REMOVED when last container
95 public void containerModeUpdated(UpdateType t);