anjana_sreekumar@infosys.com | 991c206 | 2020-01-08 11:42:57 +0530 | [diff] [blame^] | 1 | [% 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 -%] |