blob: bd9679893f37c63443ca6c344c2d71cb00d037a3 [file] [log] [blame]
anjana_sreekumar@infosys.com991c2062020-01-08 11:42:57 +05301[% IF ieTypeData.ieCardinality == 1 -%][% IF ieTypeData.grouped == "Yes" -%]
2 [% ieTypeData.grpIeInstClassName %] groupedIeInstance =
3 dynamic_cast<
4 [% ieTypeData.grpIeInstClassName %]&>(ieObject.getGroupedIe(msgType, [% ieTypeData.instance %]));
5 rc = groupedIeInstance.decode[% ieTypeData.grpIeInstClassName %](buffer, data.[% ieTypeData.ieVarName %], ieHeader.length);
6[% ELSE -%]
7 rc = ieObject.decode[% ieTypeData.ieType %]Ie(buffer, data.[% ieTypeData.ieVarName %], ieHeader.length);
8[% END -%]
9[% ELSE -%]
10 // First check if we have enough space left to decode and store this instance
11 if (data.[% ieTypeData.ieVarName %]Count == [% ieTypeData.ieCardinality %])
12 {
13 errorStream.add((char *)"More than [% ieTypeData.ieCardinality %] instances of [% ieTypeData.ieVarName %] received\n");
14 return false;
15 }
16[% IF ieTypeData.grouped == "Yes" -%]
17 [% ieTypeData.grpIeInstClassName %] groupedIeInstance =
18 dynamic_cast<
19 [% ieTypeData.grpIeInstClassName %]&>(ieObject.getGroupedIe(msgType, [% ieTypeData.instance %]));
20 rc = groupedIeInstance.decode[% ieTypeData.grpIeInstClassName %](buffer,
21 data.[% ieTypeData.ieVarName %][data.[% ieTypeData.ieVarName %]Count], ieHeader.length);
22 data.[% ieTypeData.ieVarName %]Count++; // TODO Count validation
23[% ELSE -%]
24 rc = ieObject.decode[% ieTypeData.ieType %]Ie(buffer, data.[% ieTypeData.ieVarName %][[% ieTypeData.ieVarName %]Count], ieHeader.length);
25 data.[% ieTypeData.ieVarName %]Count++; // TODO Count validation
26[% END -%]
27[% END -%]