a sUgfã@sbddlZddlZddlmZddlmZmZmZmZeeeefZ e  e ¡Z Gdd„dej ƒZdS)éN)ÚUnion)ÚApduÚTpduÚ CardResetÚ TpduFilterc@s>eZdZdd„Zejedœdd„ƒZee e fdœdd„Z dS) Ú ApduSourcecCstdƒ|_dS)N)rÚ apdu_filter©Úself©r ú‡/home/jenkins/workspace/gerrit-pysim-build/JOB_TYPE/test/a1/default/a3/default/a4/default/label/simtester/pySim/apdu_source/__init__.pyÚ__init__ szApduSource.__init__)ÚreturncCsdS)z Read one packet from the source.Nr r r r r Ú read_packetszApduSource.read_packetcCs`d}|s\| ¡}|sqt|tƒr.|j |¡}qt|tƒr>|}qt|tƒrN|}qtd|ƒ‚q|S)zLMain function to call by the user: Blocking read, returns Apdu or CardReset.NzUnknown read_packet() return %s)rÚ isinstancerrÚ input_tpdurrÚ ValueError)r ÚapduÚrr r r Úreads   zApduSource.readN) Ú__name__Ú __module__Ú __qualname__r ÚabcÚabstractmethodÚ PacketTyperrrrrr r r r r sr)rÚloggingÚtypingrÚ pySim.apdurrrrrÚ getLoggerrÚloggerÚABCrr r r r Ús