PCSC4Java  0.2
Library PCSC for Java language.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
D:/Affaire/Perso/SmartCardToolBox/pcsc4java-framework-0.2/src/fr/redbilled/pcscforjava/NewMain.java
Go to the documentation of this file.
00001 package fr.redbilled.pcscforjava;
00002 
00003 import static fr.redbilled.pcscforjava.PCSCDefines.*;
00004 import java.util.List;
00005 import java.util.logging.Level;
00006 import java.util.logging.Logger;
00007 /*import javax.smartcardio.Card;
00008 import javax.smartcardio.CardException;
00009 import javax.smartcardio.CardTerminal;
00010 import javax.smartcardio.CardTerminals;
00011 import javax.smartcardio.TerminalFactory;*/
00012 
00013 /*
00014  * To change this template, choose Tools | Templates
00015  * and open the template in the editor.
00016  */
00017 
00022 public class NewMain {
00023 
00027     public static void main(String[] args) throws InterruptedException
00028     {
00029         boolean _bTest = true;
00030                
00031         System.out.println(TerminalFactory.getDefault());
00032         CardTerminals _cardTerminals = TerminalFactory.getDefault().terminals();
00033         List<CardTerminal> _list = null;
00034         while (_bTest)
00035         {
00036             try
00037             {
00038                if(_list == null)
00039                     _list = _cardTerminals.list();
00040              CardTerminal _cardTerminal = _list.get(1);
00041 
00042                 if (!_list.isEmpty()) {
00043                     boolean _bIsPresent = _cardTerminal.isCardPresent();
00044                     //_bIsPresent = true;
00045                     if (_bIsPresent) {
00046                         Card _card = _cardTerminal.connect("*");
00047                         _card.getATR();
00048                         _card.getBasicChannel();
00049                         _card.getProtocol();
00050                         //_card.openLogicalChannel();
00051                         _card.transmitControlCommand(0x31 << 16 | (3400) << 2, new byte[0]);
00052                         _card.beginExclusive();
00053                         _card.endExclusive();
00054                         _cardTerminal.isCardPresent();
00055                         _card.reconnect(SCARD_SHARE_SHARED, SCARD_RESET_CARD);
00056                         _card.disconnect(SCARD_UNPOWER_CARD);
00057                     }
00058                     _cardTerminal.getName();
00059                     //_cardTerminal.waitForCardAbsent(0);
00060                     _cardTerminal.waitForCardPresent(0);
00061                     //_cardTerminals.waitForChange(0);
00062                 }
00063             }catch (CardException ex) { }
00064 
00065             Thread.sleep(200);
00066         }
00067     }
00068 }