PCSC4Java
0.2
Library PCSC for Java language.
|
00001 /* 00002 * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. 00003 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 00004 * 00005 * This code is free software; you can redistribute it and/or modify it 00006 * under the terms of the GNU General Public License version 2 only, as 00007 * published by the Free Software Foundation. Oracle designates this 00008 * particular file as subject to the "Classpath" exception as provided 00009 * by Oracle in the LICENSE file that accompanied this code. 00010 * 00011 * This code is distributed in the hope that it will be useful, but WITHOUT 00012 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00013 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00014 * version 2 for more details (a copy is included in the LICENSE file that 00015 * accompanied this code). 00016 * 00017 * You should have received a copy of the GNU General Public License version 00018 * 2 along with this work; if not, write to the Free Software Foundation, 00019 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 00020 * 00021 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 00022 * or visit www.oracle.com if you need additional information or have any 00023 * questions. 00024 */ 00025 00026 package fr.redbilled.security.pcscforjava; 00027 00028 import static fr.redbilled.security.pcscforjava.PCSC.*; 00029 00038 final class PCSCException extends Exception { 00039 00040 private static final long serialVersionUID = 4181137171979130432L; 00041 00042 final int code; 00043 00044 PCSCException(int code) { 00045 super(toErrorString(code)); 00046 this.code = code; 00047 } 00048 00049 private static String toErrorString(int code) { 00050 switch (code) { 00051 case SCARD_S_SUCCESS : return "SCARD_S_SUCCESS"; 00052 case SCARD_E_CANCELLED : return "SCARD_E_CANCELLED"; 00053 case SCARD_E_CANT_DISPOSE : return "SCARD_E_CANT_DISPOSE"; 00054 case SCARD_E_INSUFFICIENT_BUFFER : return "SCARD_E_INSUFFICIENT_BUFFER"; 00055 case SCARD_E_INVALID_ATR : return "SCARD_E_INVALID_ATR"; 00056 case SCARD_E_INVALID_HANDLE : return "SCARD_E_INVALID_HANDLE"; 00057 case SCARD_E_INVALID_PARAMETER : return "SCARD_E_INVALID_PARAMETER"; 00058 case SCARD_E_INVALID_TARGET : return "SCARD_E_INVALID_TARGET"; 00059 case SCARD_E_INVALID_VALUE : return "SCARD_E_INVALID_VALUE"; 00060 case SCARD_E_NO_MEMORY : return "SCARD_E_NO_MEMORY"; 00061 case SCARD_F_COMM_ERROR : return "SCARD_F_COMM_ERROR"; 00062 case SCARD_F_INTERNAL_ERROR : return "SCARD_F_INTERNAL_ERROR"; 00063 case SCARD_F_UNKNOWN_ERROR : return "SCARD_F_UNKNOWN_ERROR"; 00064 case SCARD_F_WAITED_TOO_LONG : return "SCARD_F_WAITED_TOO_LONG"; 00065 case SCARD_E_UNKNOWN_READER : return "SCARD_E_UNKNOWN_READER"; 00066 case SCARD_E_TIMEOUT : return "SCARD_E_TIMEOUT"; 00067 case SCARD_E_SHARING_VIOLATION : return "SCARD_E_SHARING_VIOLATION"; 00068 case SCARD_E_NO_SMARTCARD : return "SCARD_E_NO_SMARTCARD"; 00069 case SCARD_E_UNKNOWN_CARD : return "SCARD_E_UNKNOWN_CARD"; 00070 case SCARD_E_PROTO_MISMATCH : return "SCARD_E_PROTO_MISMATCH"; 00071 case SCARD_E_NOT_READY : return "SCARD_E_NOT_READY"; 00072 case SCARD_E_SYSTEM_CANCELLED : return "SCARD_E_SYSTEM_CANCELLED"; 00073 case SCARD_E_NOT_TRANSACTED : return "SCARD_E_NOT_TRANSACTED"; 00074 case SCARD_E_READER_UNAVAILABLE : return "SCARD_E_READER_UNAVAILABLE"; 00075 00076 case SCARD_W_UNSUPPORTED_CARD : return "SCARD_W_UNSUPPORTED_CARD"; 00077 case SCARD_W_UNRESPONSIVE_CARD : return "SCARD_W_UNRESPONSIVE_CARD"; 00078 case SCARD_W_UNPOWERED_CARD : return "SCARD_W_UNPOWERED_CARD"; 00079 case SCARD_W_RESET_CARD : return "SCARD_W_RESET_CARD"; 00080 case SCARD_W_REMOVED_CARD : return "SCARD_W_REMOVED_CARD"; 00081 case SCARD_W_INSERTED_CARD : return "SCARD_W_INSERTED_CARD"; 00082 00083 case SCARD_E_UNSUPPORTED_FEATURE : return "SCARD_E_UNSUPPORTED_FEATURE"; 00084 case SCARD_E_PCI_TOO_SMALL : return "SCARD_E_PCI_TOO_SMALL"; 00085 case SCARD_E_READER_UNSUPPORTED : return "SCARD_E_READER_UNSUPPORTED"; 00086 case SCARD_E_DUPLICATE_READER : return "SCARD_E_DUPLICATE_READER"; 00087 case SCARD_E_CARD_UNSUPPORTED : return "SCARD_E_CARD_UNSUPPORTED"; 00088 case SCARD_E_NO_SERVICE : return "SCARD_E_NO_SERVICE"; 00089 case SCARD_E_SERVICE_STOPPED : return "SCARD_E_SERVICE_STOPPED"; 00090 00091 case SCARD_E_NO_READERS_AVAILABLE: return "SCARD_E_NO_READERS_AVAILABLE"; 00092 case WINDOWS_ERROR_INVALID_HANDLE: return "WINDOWS_ERROR_INVALID_HANDLE"; 00093 case WINDOWS_ERROR_INVALID_PARAMETER: return "WINDOWS_ERROR_INVALID_PARAMETER"; 00094 00095 default: return "Unknown error 0x" + Integer.toHexString(code); 00096 } 00097 } 00098 }