pySim/profile: Change match_with_profile from static to class method

This was suggested by vyanitskiy during gerrit patch review in
https://gerrit.osmocom.org/c/pysim/+/38049 in order to make the
upcoming eUICC CardProfiles simpler.

Change-Id: Ia7c049b31cb1c5c5bb682406d9dd7a73bcd43185
This commit is contained in:
Harald Welte
2024-09-16 13:01:14 +02:00
committed by laforge
parent bd762c77ae
commit 5f2dfc28ff
4 changed files with 8 additions and 8 deletions

View File

@@ -190,8 +190,8 @@ class CardProfileRUIM(CardProfile):
# TODO: Response parameters/data in case of DF_CDMA (section 2.6)
return CardProfileSIM.decode_select_response(data_hex)
@staticmethod
def match_with_card(scc: SimCardCommands) -> bool:
@classmethod
def match_with_card(cls, scc: SimCardCommands) -> bool:
return match_ruim(scc)
class AddonRUIM(CardProfileAddon):

View File

@@ -137,9 +137,9 @@ class CardProfile:
"""
return data_hex
@staticmethod
@classmethod
@abc.abstractmethod
def match_with_card(scc: SimCardCommands) -> bool:
def match_with_card(cls, scc: SimCardCommands) -> bool:
"""Check if the specific profile matches the card. This method is a
placeholder that is overloaded by specific dirived classes. The method
actively probes the card to make sure the profile class matches the

View File

@@ -884,8 +884,8 @@ class CardProfileUICC(CardProfile):
d = t.to_dict()
return flatten_dict_lists(d['fcp_template'])
@staticmethod
def match_with_card(scc: SimCardCommands) -> bool:
@classmethod
def match_with_card(cls, scc: SimCardCommands) -> bool:
return match_uicc(scc)
@with_default_category('TS 102 221 Specific Commands')

View File

@@ -1192,8 +1192,8 @@ class CardProfileSIM(CardProfile):
ret['life_cycle_status_int'] = 'terminated'
return ret
@staticmethod
def match_with_card(scc: SimCardCommands) -> bool:
@classmethod
def match_with_card(cls, scc: SimCardCommands) -> bool:
return match_sim(scc)