laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/pysim/+/37660?usp=email )

Change subject: pySim.esim.saip: Add subclasses for gsm-access, phonebook, 5gs, 
saip
......................................................................

pySim.esim.saip: Add subclasses for gsm-access, phonebook, 5gs, saip

Those are all optional ProfileElements related to the USIM NAA.

Change-Id: I621cc3d2440babdc11b4b038f16acf418bbc88ad
---
M pySim/esim/saip/__init__.py
1 file changed, 63 insertions(+), 4 deletions(-)

Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved




diff --git a/pySim/esim/saip/__init__.py b/pySim/esim/saip/__init__.py
index 9185e36..81fef84 100644
--- a/pySim/esim/saip/__init__.py
+++ b/pySim/esim/saip/__init__.py
@@ -296,13 +296,13 @@
             'opt-usim': ProfileElementOptUSIM,
             'isim': ProfileElementISIM,
             'opt-isim': ProfileElementOptISIM,
-            # TODO: phonebook
-            # TODO: gsm-access
+            'phonebook': ProfileElementPhonebook,
+            'gsm-access': ProfileElementGsmAccess,
             # TODO: csim
             # TODO: opt-csim
             # TODO: eap
-            # TODO: df-5gs
-            # TODO: df-saip
+            'df-5gs': ProfileElementDf5GS,
+            'df-saip': ProfileElementDfSAIP,
             }
         if pe_type in class4petype:
             return class4petype[pe_type]
@@ -517,6 +517,54 @@
         for fname in ['df-telecom', 'ef-arr']:
             self.decoded[fname] = []

+class ProfileElementPhonebook(FsProfileElement):
+    type = 'phonebook'
+
+    def __init__(self, decoded: Optional[dict] = None):
+        super().__init__(decoded)
+        if decoded:
+            return
+        # provide some reasonable defaults
+        self.decoded['templateID'] = str(oid.DF_PHONEBOOK_ADF_USIM)
+        for fname in ['df-phonebook']:
+            self.decoded[fname] = []
+
+class ProfileElementGsmAccess(FsProfileElement):
+    type = 'gsm-access'
+
+    def __init__(self, decoded: Optional[dict] = None):
+        super().__init__(decoded)
+        if decoded:
+            return
+        # provide some reasonable defaults
+        self.decoded['templateID'] = str(oid.DF_GSM_ACCESS_ADF_USIM)
+        for fname in ['df-gsm-access']:
+            self.decoded[fname] = []
+
+class ProfileElementDf5GS(FsProfileElement):
+    type = 'df-5gs'
+
+    def __init__(self, decoded: Optional[dict] = None):
+        super().__init__(decoded)
+        if decoded:
+            return
+        # provide some reasonable defaults
+        self.decoded['templateID'] = str(oid.DF_5GS_v3)
+        for fname in ['df-5gs']:
+            self.decoded[fname] = []
+
+class ProfileElementDfSAIP(FsProfileElement):
+    type = 'df-saip'
+
+    def __init__(self, decoded: Optional[dict] = None):
+        super().__init__(decoded)
+        if decoded:
+            return
+        # provide some reasonable defaults
+        self.decoded['templateID'] = str(oid.DF_SAIP)
+        for fname in ['df-saip']:
+            self.decoded[fname] = []
+

 class SecurityDomainKeyComponent:
     """Representation of a key-component of a key for a security domain."""

--
To view, visit https://gerrit.osmocom.org/c/pysim/+/37660?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I621cc3d2440babdc11b4b038f16acf418bbc88ad
Gerrit-Change-Number: 37660
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-MessageType: merged

Reply via email to