laforge submitted this change.
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(-)
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 ...
To view, visit change 39424. To unsubscribe, or for help writing mail filters, visit settings.