MME2 changes - Propped commits from openmme/paging branch. Added scripts
for code gen

Change-Id: Ie55032217232214ac8544ca76ea34335205329e4
diff --git a/scripts/GtpV2StackCodeGen/tts/msgDecode.tt b/scripts/GtpV2StackCodeGen/tts/msgDecode.tt
new file mode 100644
index 0000000..bd96798
--- /dev/null
+++ b/scripts/GtpV2StackCodeGen/tts/msgDecode.tt
@@ -0,0 +1,27 @@
+[% IF ieTypeData.ieCardinality == 1 -%][% IF ieTypeData.grouped == "Yes" -%]
+					[% ieTypeData.grpIeInstClassName %] groupedIeInstance =
+					dynamic_cast<
+					[% ieTypeData.grpIeInstClassName %]&>(ieObject.getGroupedIe(msgType, [% ieTypeData.instance %]));
+					rc = groupedIeInstance.decode[% ieTypeData.grpIeInstClassName %](buffer, data.[% ieTypeData.ieVarName %], ieHeader.length);
+[% ELSE -%]
+					rc = ieObject.decode[% ieTypeData.ieType %]Ie(buffer, data.[% ieTypeData.ieVarName %], ieHeader.length);
+[% END -%]
+[% ELSE -%]
+					// First check if we have enough space left to decode and store this instance
+                    if (data.[% ieTypeData.ieVarName %]Count == [% ieTypeData.ieCardinality %])
+                    {
+                        errorStream.add((char *)"More than [% ieTypeData.ieCardinality %] instances of [% ieTypeData.ieVarName %] received\n");
+                        return false;
+                    }
+[% IF ieTypeData.grouped == "Yes" -%]
+                    [% ieTypeData.grpIeInstClassName %] groupedIeInstance =
+                    dynamic_cast<
+                    [% ieTypeData.grpIeInstClassName %]&>(ieObject.getGroupedIe(msgType, [% ieTypeData.instance %]));
+                    rc = groupedIeInstance.decode[% ieTypeData.grpIeInstClassName %](buffer,
+                    data.[% ieTypeData.ieVarName %][data.[% ieTypeData.ieVarName %]Count], ieHeader.length);
+                    data.[% ieTypeData.ieVarName %]Count++; // TODO Count validation
+[% ELSE -%]
+					rc = ieObject.decode[% ieTypeData.ieType %]Ie(buffer, data.[% ieTypeData.ieVarName %][[% ieTypeData.ieVarName %]Count], ieHeader.length);
+					data.[% ieTypeData.ieVarName %]Count++; // TODO Count validation
+[% END -%]
+[% END -%]
\ No newline at end of file