8d548992407587f10948a258b4640cb94049e19d
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / deserialization / factories / GetConfigReplyMessageFactory.java
1 package org.opendaylight.openflowjava.protocol.impl.deserialization.factories;\r
2 \r
3 import io.netty.buffer.ByteBuf;\r
4 \r
5 import org.opendaylight.openflowjava.protocol.impl.deserialization.OFDeserializer;\r
6 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetConfigOutput;\r
7 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetConfigOutputBuilder;\r
8 \r
9 /**\r
10  * @author michal.polkorab\r
11  * @author timotej.kubas\r
12  */\r
13 public class GetConfigReplyMessageFactory implements OFDeserializer<GetConfigOutput> {\r
14 \r
15     private static GetConfigReplyMessageFactory instance;\r
16     \r
17     private GetConfigReplyMessageFactory() {\r
18         // singleton\r
19     }\r
20     \r
21     /**\r
22      * @return singleton factory\r
23      */\r
24     public static GetConfigReplyMessageFactory getInstance(){\r
25         if(instance == null){\r
26             instance = new GetConfigReplyMessageFactory();\r
27         }\r
28         \r
29         return instance;\r
30     }\r
31 \r
32     @Override\r
33     public GetConfigOutput bufferToMessage(ByteBuf rawMessage, short version) {\r
34         GetConfigOutputBuilder gcob = new GetConfigOutputBuilder();\r
35         gcob.setVersion(version);\r
36         gcob.setXid(rawMessage.readUnsignedInt());\r
37         // TODO - waiting for enum funcionality\r
38 //        gcob.setFlags(SwitchConfigFlag.values()[rawMessage.readInt()]);\r
39         gcob.setMissSendLen(rawMessage.readUnsignedShort());\r
40         return gcob.build();\r
41     }\r
42     \r
43     \r
44 }\r