Mass replace CRLF->LF
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / deserialization / ActionDeserializerInitializer.java
1 /*
2  * Copyright (c) 2013 Pantheon Technologies s.r.o. and others. All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.openflowjava.protocol.impl.deserialization;
10
11 import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistry;
12 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
13 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10EnqueueActionDeserializer;
14 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10OutputActionDeserializer;
15 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetDlDstActionDeserializer;
16 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetDlSrcActionDeserializer;
17 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetNwDstActionDeserializer;
18 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetNwSrcActionDeserializer;
19 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetNwTosActionDeserializer;
20 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetTpDstActionDeserializer;
21 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetTpSrcActionDeserializer;
22 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetVlanPcpActionDeserializer;
23 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetVlanVidActionDeserializer;
24 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10StripVlanActionDeserializer;
25 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13CopyTtlInActionDeserializer;
26 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13CopyTtlOutActionDeserializer;
27 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13DecMplsTtlActionDeserializer;
28 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13DecNwTtlActionDeserializer;
29 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13GroupActionDeserializer;
30 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13OutputActionDeserializer;
31 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13PopMplsActionDeserializer;
32 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13PopPbbActionDeserializer;
33 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13PopVlanActionDeserializer;
34 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13PushMplsActionDeserializer;
35 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13PushPbbActionDeserializer;
36 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13PushVlanActionDeserializer;
37 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13SetFieldActionDeserializer;
38 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13SetMplsTtlActionDeserializer;
39 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13SetNwTtlActionDeserializer;
40 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13SetQueueActionDeserializer;
41 import org.opendaylight.openflowjava.protocol.impl.util.ActionDeserializerRegistryHelper;
42
43 /**
44  * @author michal.polkorab
45  *
46  */
47 public final class ActionDeserializerInitializer {
48
49     private ActionDeserializerInitializer() {
50         throw new UnsupportedOperationException("Utility class shouldn't be instantiated");
51     }
52
53     /**
54      * Registers action deserializers
55      * @param registry registry to be filled with deserializers
56      */
57     public static void registerDeserializers(DeserializerRegistry registry) {
58         // register OF v1.0 action deserializers
59         ActionDeserializerRegistryHelper helper = 
60                 new ActionDeserializerRegistryHelper(EncodeConstants.OF10_VERSION_ID, registry);
61         helper.registerDeserializer(0, new OF10OutputActionDeserializer());
62         helper.registerDeserializer(1, new OF10SetVlanVidActionDeserializer());
63         helper.registerDeserializer(2, new OF10SetVlanPcpActionDeserializer());
64         helper.registerDeserializer(3, new OF10StripVlanActionDeserializer());
65         helper.registerDeserializer(4, new OF10SetDlSrcActionDeserializer());
66         helper.registerDeserializer(5, new OF10SetDlDstActionDeserializer());
67         helper.registerDeserializer(6, new OF10SetNwSrcActionDeserializer());
68         helper.registerDeserializer(7, new OF10SetNwDstActionDeserializer());
69         helper.registerDeserializer(8, new OF10SetNwTosActionDeserializer());
70         helper.registerDeserializer(9, new OF10SetTpSrcActionDeserializer());
71         helper.registerDeserializer(10, new OF10SetTpDstActionDeserializer());
72         helper.registerDeserializer(11, new OF10EnqueueActionDeserializer());
73         // register OF v1.3 action deserializers
74         helper = new ActionDeserializerRegistryHelper(EncodeConstants.OF13_VERSION_ID, registry);
75         helper.registerDeserializer(0, new OF13OutputActionDeserializer());
76         helper.registerDeserializer(11, new OF13CopyTtlOutActionDeserializer());
77         helper.registerDeserializer(12, new OF13CopyTtlInActionDeserializer());
78         helper.registerDeserializer(15, new OF13SetMplsTtlActionDeserializer());
79         helper.registerDeserializer(16, new OF13DecMplsTtlActionDeserializer());
80         helper.registerDeserializer(17, new OF13PushVlanActionDeserializer());
81         helper.registerDeserializer(18, new OF13PopVlanActionDeserializer());
82         helper.registerDeserializer(19, new OF13PushMplsActionDeserializer());
83         helper.registerDeserializer(20, new OF13PopMplsActionDeserializer());
84         helper.registerDeserializer(21, new OF13SetQueueActionDeserializer());
85         helper.registerDeserializer(22, new OF13GroupActionDeserializer());
86         helper.registerDeserializer(23, new OF13SetNwTtlActionDeserializer());
87         helper.registerDeserializer(24, new OF13DecNwTtlActionDeserializer());
88         helper.registerDeserializer(25, new OF13SetFieldActionDeserializer());
89         helper.registerDeserializer(26, new OF13PushPbbActionDeserializer());
90         helper.registerDeserializer(27, new OF13PopPbbActionDeserializer());
91     }
92 }