2 * Copyright IBM Corporation, 2013. All rights reserved.
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
8 package org.opendaylight.openflowplugin.openflow.md.core;
10 import java.util.List;
12 import org.opendaylight.openflowplugin.openflow.md.queue.PopListener;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OfHeader;
14 import org.opendaylight.yangtools.yang.binding.DataObject;
16 public interface IMDController {
19 * Allows application to start translating OF messages received from switches.
22 * the type of OF message that applications want to receive
23 * @param version corresponding OF version
25 * : Object that implements the {@link IMDMessageTranslator}
27 public void addMessageTranslator(Class<? extends DataObject> messageType, int version, IMDMessageTranslator<OfHeader, List<DataObject>> translator);
30 * Allows application to stop receiving OF message received from switches.
33 * The type of OF message that applications want to stop
37 * The object that implements the {@link IMDMessageTranslator}
39 public void removeMessageTranslator(Class<? extends DataObject> messageType, int version, IMDMessageTranslator<OfHeader, List<DataObject>> translator);
42 * Allows application to start pop-listening MD-SAL messages received from switches.
45 * the type of OF message that applications want to receive
47 * : Object that implements the {@link PopListener}
49 void removeMessagePopListener(Class<? extends DataObject> messageType, PopListener<DataObject> popListener);
52 * Allows application to stop pop-listening MD-SAL messages received from switches.
55 * the type of OF message that applications want to receive
57 * : Object that implements the {@link PopListener}
59 void addMessagePopListener(Class<? extends DataObject> messageType, PopListener<DataObject> popListener);