[Pcsclite-cvs-commit] r3285 - /trunk/PCSC/UnitaryTests/SCardCancel.py
rousseau at users.alioth.debian.org
rousseau at users.alioth.debian.org
Tue Jan 20 15:00:21 UTC 2009
Author: rousseau
Date: Tue Jan 20 15:00:21 2009
New Revision: 3285
URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=3285
Log:
improved version
Modified:
trunk/PCSC/UnitaryTests/SCardCancel.py
Modified: trunk/PCSC/UnitaryTests/SCardCancel.py
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/UnitaryTests/SCardCancel.py?rev=3285&op=diff
==============================================================================
--- trunk/PCSC/UnitaryTests/SCardCancel.py (original)
+++ trunk/PCSC/UnitaryTests/SCardCancel.py Tue Jan 20 15:00:21 2009
@@ -2,10 +2,14 @@
from smartcard.scard import *
import threading
+import time
def cancel():
+ time.sleep(1)
print "cancel"
- #SCardCancel(hcontext)
+ hresult = SCardCancel(hcontext)
+ if hresult!=0:
+ print 'Failed to SCardCancel: ' + SCardGetErrorMessage(hresult)
hresult, hcontext = SCardEstablishContext(SCARD_SCOPE_USER)
if hresult!=0:
@@ -16,28 +20,23 @@
raise error, 'Failed to list readers: ' + SCardGetErrorMessage(hresult)
print 'PC/SC Readers:', readers
-hresult, hcard, proto = SCardConnect(hcontext, "toto", SCARD_SHARE_SHARED, SCARD_PROTOCOL_T0)
-print hresult, SCardGetErrorMessage(hresult)
-
readerstates = {}
for reader in readers:
readerstates[reader] = (reader, SCARD_STATE_UNAWARE)
hresult, newstates = SCardGetStatusChange(hcontext, 0, readerstates.values())
if hresult!=SCARD_S_SUCCESS:
- raise 'Failed to : SCardGetStatusChange' + SCardGetErrorMessage(hresult)
+ raise 'Failed to SCardGetStatusChange: ' + SCardGetErrorMessage(hresult)
print newstates
for state in newstates:
readername, eventstate, atr = state
readerstates[readername] = ( readername, eventstate )
-hresult, newstates = SCardGetStatusChange(hcontext, 100, readerstates.values())
-print hresult, SCARD_E_TIMEOUT
-if hresult!=SCARD_S_SUCCESS and hresult!=SCARD_E_TIMEOUT:
- raise 'Failed to : SCardGetStatusChange' + SCardGetErrorMessage(hresult)
-
t = threading.Thread(target=cancel)
t.start()
+hresult, newstates = SCardGetStatusChange(hcontext, 10000, readerstates.values())
+if hresult!=SCARD_S_SUCCESS and hresult!=SCARD_E_TIMEOUT:
+ raise 'Failed to SCardGetStatusChange: ' + SCardGetErrorMessage(hresult)
hresult = SCardReleaseContext(hcontext)
if hresult!=SCARD_S_SUCCESS:
More information about the Pcsclite-cvs-commit
mailing list