org.eclipse.keyple.plugin.pcsc.PcscSupportedContactProtocol Maven / Gradle / Ivy
/* **************************************************************************************
* Copyright (c) 2020 Calypso Networks Association https://calypsonet.org/
*
* See the NOTICE file(s) distributed with this work for additional information
* regarding copyright ownership.
*
* This program and the accompanying materials are made available under the terms of the
* Eclipse Public License 2.0 which is available at http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
************************************************************************************** */
package org.eclipse.keyple.plugin.pcsc;
/**
* Non-exhaustive list of protocols supported by common contact PC/SC readers.
*
* TODO Improve protocol identification
*
* @since 2.0.0
*/
public enum PcscSupportedContactProtocol {
/**
* ISO7816-3 Card (unspecified communication protocol)
* Default rule = {@code 3.*}
*
* @since 2.0.0
*/
ISO_7816_3("3.*"),
/**
* ISO7816-3 Card communicating with T=0 protocol
* Default rule = {@code 3.*}
*
* @since 2.0.0
*/
ISO_7816_3_T0("3.*"),
/**
* ISO7816-3 Card communicating with T=1 protocol
* Default rule = {@code 3.*}
*
* @since 2.0.0
*/
ISO_7816_3_T1("3.*");
private final String defaultRule;
/**
* (private-package)
* Gets the default associated to the protocol.
*
* @return A byte
* @since 2.0.0
*/
String getDefaultRule() {
return defaultRule;
}
/**
* Constructor
*
* @param defaultRule The default rule.
* @since 2.0.0
*/
PcscSupportedContactProtocol(String defaultRule) {
this.defaultRule = defaultRule;
}
}