mirror of
https://gitea.osmocom.org/sim-card/pysim.git
synced 2026-03-24 14:28:32 +03:00
filesystem: keep track of currently selected ADF
As it is possible to select files relative to the currently selected ADF, we should keep track of that. Change-Id: I83c93fdcd23b1d3877644ef0bf72d330343fbbc7
This commit is contained in:
@@ -1253,6 +1253,7 @@ class RuntimeState:
|
|||||||
self.mf = CardMF(profile=profile)
|
self.mf = CardMF(profile=profile)
|
||||||
self.card = card
|
self.card = card
|
||||||
self.selected_file = self.mf # type: CardDF
|
self.selected_file = self.mf # type: CardDF
|
||||||
|
self.selected_adf = None
|
||||||
self.profile = profile
|
self.profile = profile
|
||||||
self.selected_file_fcp = None
|
self.selected_file_fcp = None
|
||||||
self.selected_file_fcp_hex = None
|
self.selected_file_fcp_hex = None
|
||||||
@@ -1337,6 +1338,7 @@ class RuntimeState:
|
|||||||
atr = i2h(self.card.reset())
|
atr = i2h(self.card.reset())
|
||||||
# select MF to reset internal state and to verify card really works
|
# select MF to reset internal state and to verify card really works
|
||||||
self.select('MF', cmd_app)
|
self.select('MF', cmd_app)
|
||||||
|
self.selected_adf = None
|
||||||
return atr
|
return atr
|
||||||
|
|
||||||
def get_cwd(self) -> CardDF:
|
def get_cwd(self) -> CardDF:
|
||||||
@@ -1445,6 +1447,7 @@ class RuntimeState:
|
|||||||
try:
|
try:
|
||||||
if isinstance(p, CardADF):
|
if isinstance(p, CardADF):
|
||||||
(data, sw) = self.card.select_adf_by_aid(p.aid)
|
(data, sw) = self.card.select_adf_by_aid(p.aid)
|
||||||
|
self.selected_adf = p
|
||||||
else:
|
else:
|
||||||
(data, sw) = self.card._scc.select_file(p.fid)
|
(data, sw) = self.card._scc.select_file(p.fid)
|
||||||
self.selected_file = p
|
self.selected_file = p
|
||||||
|
|||||||
Reference in New Issue
Block a user