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.api.openflow.md.core.IMDMessageTranslator;
13 import org.opendaylight.openflowplugin.api.openflow.md.queue.PopListener;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OfHeader;
15 import org.opendaylight.yangtools.yang.binding.DataObject;
17 public interface IMDController {
20 * Allows application to start translating OF messages received from switches.
23 * the type of OF message that applications want to receive
24 * @param version corresponding OF version
26 * : Object that implements the {@link org.opendaylight.openflowplugin.api.openflow.md.core.IMDMessageTranslator}
28 public void addMessageTranslator(Class<? extends DataObject> messageType, int version, IMDMessageTranslator<OfHeader, List<DataObject>> translator);
31 * Allows application to stop receiving OF message received from switches.
34 * The type of OF message that applications want to stop
38 * The object that implements the {@link IMDMessageTranslator}
40 public void removeMessageTranslator(Class<? extends DataObject> messageType, int version, IMDMessageTranslator<OfHeader, List<DataObject>> translator);
43 * Allows application to start pop-listening MD-SAL messages received from switches.
46 * the type of OF message that applications want to receive
48 * : Object that implements the {@link PopListener}
50 void removeMessagePopListener(Class<? extends DataObject> messageType, PopListener<DataObject> popListener);
53 * Allows application to stop pop-listening MD-SAL messages received from switches.
56 * the type of OF message that applications want to receive
58 * : Object that implements the {@link PopListener}
60 void addMessagePopListener(Class<? extends DataObject> messageType, PopListener<DataObject> popListener);