blob: a404ebbb202b63a2f40cf20f02911eb9f8ae453a [file] [log] [blame]
anjana_sreekumar@infosys.com991c2062020-01-08 11:42:57 +05301/*
2 * Copyright 2019-present Infosys Limited  
3 *   
4 * SPDX-License-Identifier: Apache-2.0    
5 */
6/******************************************************************************
7 *
8 * This is an auto generated file.
9 * Please do not edit this file.
10 * All edits to be made through template source file
11 * <TOP-DIR/scripts/GtpV2StackCodeGen/tts/ietemplate.cpp.tt>
12 ******************************************************************************/
13
14#include "bearerFlagsIe.h"
15#include "dataTypeCodecUtils.h"
16
17BearerFlagsIe::BearerFlagsIe()
18{
19 ieType = 97;
20 // TODO
21
22}
23
24BearerFlagsIe::~BearerFlagsIe() {
25 // TODO Auto-generated destructor stub
26}
27
28bool BearerFlagsIe::encodeBearerFlagsIe(MsgBuffer &buffer, BearerFlagsIeData const &data)
29{
30 buffer.skipBits(6);
31
32 if(!(buffer.writeBits(data.vb, 1)))
33 {
34 errorStream.add((char *)"Encoding of vb failed\n");
35 return false;
36 }
37 if(!(buffer.writeBits(data.ppc, 1)))
38 {
39 errorStream.add((char *)"Encoding of ppc failed\n");
40 return false;
41 }
42
43 return true;
44}
45
46bool BearerFlagsIe::decodeBearerFlagsIe(MsgBuffer &buffer, BearerFlagsIeData &data, Uint16 length)
47{
48 // TODO optimize the length checks
49
50 Uint16 ieBoundary = buffer.getCurrentIndex() + length;
51 buffer.skipBits(6);
52 if (buffer.getCurrentIndex() > ieBoundary)
53 {
54 errorStream.add((char *)"Attempt to read beyond IE boundary: \n");
55 return false;
56 }
57
58 data.vb = buffer.readBits(1);
59 // confirm that we are not reading beyond the IE boundary
60 if (buffer.getCurrentIndex() > ieBoundary)
61 {
62 errorStream.add((char *)"Attempt to read beyond IE boundary: vb\n");
63 return false;
64 }
65 data.ppc = buffer.readBits(1);
66 // confirm that we are not reading beyond the IE boundary
67 if (buffer.getCurrentIndex() > ieBoundary)
68 {
69 errorStream.add((char *)"Attempt to read beyond IE boundary: ppc\n");
70 return false;
71 }
72
73 // The IE is decoded now. The buffer index should be pointing to the
74 // IE Boundary. If not, we have some more data left for the IE which we don't know
75 // how to decode
76 if (ieBoundary == buffer.getCurrentIndex())
77 {
78 return true;
79 }
80 else
81 {
82 errorStream.add((char *)"Unable to decode IE BearerFlagsIe\n");
83 return false;
84 }
85}
86void BearerFlagsIe::displayBearerFlagsIe_v(BearerFlagsIeData const &data, Debug &stream)
87{
88 stream.incrIndent();
89 stream.add((char *)"BearerFlagsIeData:");
90 stream.incrIndent();
91 stream.endOfLine();
92
93 stream.add( (char *)"vb: ");
94 stream.add((Uint8)data.vb);
95 stream.endOfLine();
96
97 stream.add( (char *)"ppc: ");
98 stream.add((Uint8)data.ppc);
99 stream.endOfLine();
100 stream.decrIndent();
101 stream.decrIndent();
102}