laforge has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/pysim/+/38055?usp=email )


Change subject: pySim.transport: Also trace card reset events in ApduTracer
......................................................................

pySim.transport: Also trace card reset events in ApduTracer

Change-Id: Ia46b65124520eb2b8015dfa3f0a135b497668b92
---
M pySim/transport/__init__.py
M pySim/transport/calypso.py
M pySim/transport/modem_atcmd.py
M pySim/transport/pcsc.py
M pySim/transport/serial.py
5 files changed, 19 insertions(+), 6 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/55/38055/1

diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py
index 856e86e..9482528 100644
--- a/pySim/transport/__init__.py
+++ b/pySim/transport/__init__.py
@@ -40,12 +40,18 @@
     def trace_response(self, cmd, sw, resp):
         pass

+    def trace_reset(self):
+        pass
+
 class StdoutApduTracer(ApduTracer):
     """Minimalistic APDU tracer, printing commands to stdout."""
     def trace_response(self, cmd, sw, resp):
         print("-> %s %s" % (cmd[:10], cmd[10:]))
         print("<- %s: %s" % (sw, resp))

+    def trace_reset(self):
+        print("-- RESET")
+
 class ProactiveHandler(abc.ABC):
     """Abstract base class representing the interface of some code that handles
     the proactive commands, as returned by the card in responses to the FETCH
@@ -117,9 +123,16 @@
         """

     @abc.abstractmethod
+    def _reset_card(self):
+        """Resets the card (power down/up)
+        """
+
     def reset_card(self):
         """Resets the card (power down/up)
         """
+        if self.apdu_tracer:
+            self.apdu_tracer.trace_reset()
+        return self._reset_card()

     def send_apdu_raw(self, pdu: Hexstr) -> ResTuple:
         """Sends an APDU with minimal processing
diff --git a/pySim/transport/calypso.py b/pySim/transport/calypso.py
index d8e5b89..9462939 100644
--- a/pySim/transport/calypso.py
+++ b/pySim/transport/calypso.py
@@ -109,7 +109,7 @@
         rsp = self.sock.recv(exp_len)
         return rsp

-    def reset_card(self):
+    def _reset_card(self):
         # Request FULL reset
         req_msg = L1CTLMessageReset()
         self.sock.send(req_msg.gen_msg())
diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py
index 882cb65..8970f7d 100644
--- a/pySim/transport/modem_atcmd.py
+++ b/pySim/transport/modem_atcmd.py
@@ -125,7 +125,7 @@
                 return
         raise ReaderError('Interface \'%s\' does not respond to \'AT\' 
command' % self._device)
 
-    def reset_card(self):
+    def _reset_card(self):
         # Reset the modem, just to be sure
         if self.send_at_cmd('ATZ') != [b'OK']:
             raise ReaderError('Failed to reset the modem')
diff --git a/pySim/transport/pcsc.py b/pySim/transport/pcsc.py
index 7843f7f..207cf6c 100644
--- a/pySim/transport/pcsc.py
+++ b/pySim/transport/pcsc.py
@@ -97,7 +97,7 @@
     def disconnect(self):
         self._con.disconnect()

-    def reset_card(self):
+    def _reset_card(self):
         self.disconnect()
         self.connect()
         return 1
diff --git a/pySim/transport/serial.py b/pySim/transport/serial.py
index e155226..04b4ab7 100644
--- a/pySim/transport/serial.py
+++ b/pySim/transport/serial.py
@@ -101,15 +101,15 @@
     def disconnect(self):
         pass  # Nothing to do really ...

-    def reset_card(self):
-        rv = self._reset_card()
+    def _reset_card(self):
+        rv = self.__reset_card()
         if rv == 0:
             raise NoCardError()
         if rv < 0:
             raise ProtocolError()
         return rv

-    def _reset_card(self):
+    def __reset_card(self):
         self._atr = None
         rst_meth_map = {
             'rts': self._sl.setRTS,

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

Gerrit-MessageType: newchange
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Ia46b65124520eb2b8015dfa3f0a135b497668b92
Gerrit-Change-Number: 38055
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <[email protected]>

Reply via email to