2 * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.
\r
4 * This program and the accompanying materials are made available under the
\r
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
\r
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
\r
9 package org.opendaylight.openflowjava.protocol.api.extensibility;
\r
11 import org.opendaylight.openflowjava.protocol.api.keys.MatchEntryDeserializerKey;
\r
12 import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterActionDeserializerKey;
\r
13 import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterDeserializerKey;
\r
14 import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterInstructionDeserializerKey;
\r
17 * Provides methods for deserialization part of extensibility
\r
18 * @author michal.polkorab
\r
20 public interface DeserializerExtensionProvider {
\r
23 * Unregisters custom deserializer
\r
24 * @param key used for deserializer lookup
\r
25 * @return true if deserializer was removed,
\r
26 * false if no deserializer was found under specified key
\r
28 public boolean unregisterDeserializer(ExperimenterDeserializerKey key);
\r
31 * Registers action deserializer
\r
32 * @param key used for deserializer lookup
\r
33 * @param deserializer deserializer instance
\r
35 public void registerActionDeserializer(ExperimenterActionDeserializerKey key,
\r
36 OFGeneralDeserializer deserializer);
\r
39 * Registers instruction deserializer
\r
40 * @param key used for deserializer lookup
\r
41 * @param deserializer deserializer instance
\r
43 public void registerInstructionDeserializer(ExperimenterInstructionDeserializerKey key,
\r
44 OFGeneralDeserializer deserializer);
\r
47 * Registers match entry deserializer
\r
48 * @param key used for deserializer lookup
\r
49 * @param deserializer deserializer instance
\r
51 public void registerMatchEntryDeserializer(MatchEntryDeserializerKey key,
\r
52 OFGeneralDeserializer deserializer);
\r