laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/39424?usp=email )
Change subject: pySim/transport: add abstract get_atr method to LinkBase ......................................................................
pySim/transport: add abstract get_atr method to LinkBase
The implementations that inheret from the LinkBase class are expected to implement a get_atr method. This method is mandatory, since it is one of the most basic functionalities of pySim to display an ATR. Also the ATR is sometimes needed to distinguish between different card models.
The modem_atcmd and calypso implementation completely lack the get_atr method. Apparantly it is not possible to get an ATR in those environments, so lets add a dummy method there.
Related: OS#6322 Change-Id: I4fc020ca45658af78e495a5c1b985213f83cbb50 --- M pySim/transport/__init__.py M pySim/transport/calypso.py M pySim/transport/modem_atcmd.py 3 files changed, 11 insertions(+), 0 deletions(-)
Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve
diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py index 8055306..5b0ee07 100644 --- a/pySim/transport/__init__.py +++ b/pySim/transport/__init__.py @@ -120,6 +120,11 @@ """
@abc.abstractmethod + def get_atr(self) -> Hexstr: + """Retrieve card ATR + """ + + @abc.abstractmethod def disconnect(self): """Disconnect from card """ diff --git a/pySim/transport/calypso.py b/pySim/transport/calypso.py index fa3a9f2..f28e40c 100644 --- a/pySim/transport/calypso.py +++ b/pySim/transport/calypso.py @@ -123,6 +123,9 @@ def connect(self): self.reset_card()
+ def get_atr(self) -> Hexstr: + return "3b00" # Dummy ATR + def disconnect(self): pass # Nothing to do really ...
diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index e7614c0..440ec77 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -139,6 +139,9 @@ def connect(self): pass # Nothing to do really ...
+ def get_atr(self) -> Hexstr: + return "3b00" # Dummy ATR + def disconnect(self): pass # Nothing to do really ...