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