SGP32Definitions_Templates: improve tr/ts_getEimPackageResponse_euiccPkgReq

The template ts_getEimPackageResponse_euiccPkgReq has a fixed eUICC package,
let's turn the contained eUICC package into a template parameter so that
we can define the eUICC package templates separately. To be complete, let's
also add a tr_getEimPackageResponse_euiccPkgReq

Related: SYS#6824
Change-Id: Ibcea9063f25cc8ba90b53c34218c766fa5cab895
diff --git a/library/euicc/SGP32Definitions_Templates.ttcn b/library/euicc/SGP32Definitions_Templates.ttcn
index fa1f756..191d9e4 100644
--- a/library/euicc/SGP32Definitions_Templates.ttcn
+++ b/library/euicc/SGP32Definitions_Templates.ttcn
@@ -251,9 +251,118 @@
 	}
 }
 
+/* GSMA SGP.32, section 2.11.1.1.3 */
+template (present) EuiccPackage
+tr_euiccPackage_enablePsmo := {
+	psmoList := {
+		{
+			enable := {
+				iccid := ?,
+				rollbackFlag := *
+			}
+		}
+	}
+}
+template (value) EuiccPackage
+ts_euiccPackage_enablePsmo := {
+	psmoList := {
+		{
+			enable := {
+				iccid := '123456789ABCDEFFAAAA'O,
+				rollbackFlag := NULL
+			}
+		}
+	}
+}
+template (present) EuiccPackage
+tr_euiccPackage_disablePsmo := {
+	psmoList := {
+		{
+			disable := {
+				iccid := ?
+			}
+		}
+	}
+}
+template (value) EuiccPackage
+ts_euiccPackage_disablePsmo := {
+	psmoList := {
+		{
+			disable := {
+				iccid := '123456789ABCDEFFAAAA'O
+			}
+		}
+	}
+}
+template (present) EuiccPackage
+tr_euiccPackage_deletePsmo := {
+	psmoList := {
+		{
+			delete := {
+				iccid := ?
+			}
+		}
+	}
+}
+template (value) EuiccPackage
+ts_euiccPackage_deletePsmo := {
+	psmoList := {
+		{
+			delete := {
+				iccid := '123456789ABCDEFFAAAA'O
+			}
+		}
+	}
+}
+template (present) EuiccPackage
+tr_euiccPackage_disableAndDeletePsmo := {
+	psmoList := {
+		{
+			disable := {
+				iccid := ?
+			}
+		},
+		{
+			delete := {
+				iccid := ?
+			}
+		}
+	}
+}
+template (value) EuiccPackage
+ts_euiccPackage_disableAndDeletePsmo := {
+	psmoList := {
+		{
+			disable := {
+				iccid := '123456789ABCDEFFAAAA'O
+			}
+		},
+		{
+			delete := {
+				iccid := '123456789ABCDEFFAAAA'O
+			}
+		}
+	}
+}
+
 /* GSMA SGP.32, section 6.3.2.6 */
+template (present) EsipaMessageFromEimToIpa
+tr_getEimPackageResponse_euiccPkgReq(template (present) EuiccPackage euiccPackage := tr_euiccPackage_enablePsmo) := {
+	getEimPackageResponse := {
+		euiccPackageRequest := {
+			euiccPackageSigned := {
+				eimId := ?,
+				eidValue := ?,
+				counterValue := ?,
+				transactionId := *,
+				euiccPackage := euiccPackage
+			},
+			eimSignature := ?
+		}
+	}
+}
 template (value) EsipaMessageFromEimToIpa
-ts_getEimPackageResponse_euiccPkgReq := {
+ts_getEimPackageResponse_euiccPkgReq(template (value) EuiccPackage euiccPackage := ts_euiccPackage_enablePsmo) := {
 	getEimPackageResponse := {
 		euiccPackageRequest := {
 			euiccPackageSigned := {
@@ -261,16 +370,7 @@
 				eidValue := '00112233445566778899AABBCCDDEEFF'O,
 				counterValue := 123,
 				transactionId := omit,
-				euiccPackage := {
-					psmoList := {
-						{
-							enable := {
-								iccid := '123456789ABCDEFFAAAA'O,
-								rollbackFlag := NULL
-							}
-						}
-					}
-				}
+				euiccPackage := euiccPackage
 			},
 			eimSignature := '1234567890'O
 		}