libicdlc
library for IC driving license card
Public メソッド | Static Public メソッド

クラス scard

スマートカード制御クラス [詳細]

#include <scard.hpp>

すべてのメンバ一覧

Public メソッド

 scard ()
 コンストラクタ
 ‾scard ()
 デストラクタ
bool connect (const char_type *reader_name)
 スマートカードへ接続
bool disconnect ()
 スマートカードから切断
bool connected () const
 スマートカードに接続しているか否か
template<typename T >
bool transmit (T cb, const uint8_t *data, size_t length)
 スマートカードへデータを送信
LONG get_last_error () const
 最後に実行した処理のエラー値を取得

Static Public メソッド

template<typename T >
static bool enumeration (T cb, bool check_card=false, LONG *result=NULL)
 スマートカードリーダーを列挙
static uint16_t read_status_byte (const void *data, size_t length)
 スマートカードの戻り値(SW1とSW2)を取得

説明

スマートカード制御クラス


コンストラクタとデストラクタ

scard::scard ( ) [inline]

コンストラクタ


関数

bool scard::connect ( const char_type *  reader_name) [inline]

スマートカードへ接続

引数:
[in]reader_nameカードリーダー名称
戻り値:
true処理成功
false処理失敗、get_last_error()で失敗原因を取得できます。
覚え書き:
カードリーダー名称は、scard::enumeration()で列挙した名称を使用してください。
bool scard::connected ( ) const [inline]

スマートカードに接続しているか否か

戻り値:
trueスマートカードリーダーへ接続済み
falseスマートカードリーダーへ接続していない
bool scard::disconnect ( ) [inline]

スマートカードから切断

戻り値:
true処理成功
false処理失敗、get_last_error()で失敗原因を取得できます。
template<typename T >
static bool scard::enumeration ( cb,
bool  check_card = false,
LONG *  result = NULL 
) [inline, static]

スマートカードリーダーを列挙

Template Parameters:
Tカードリーダーの取得メソッドの型
引数:
[in]cbカードリーダーの取得メソッド
[in]check_cardカードの挿入をチェックするか?
[in]result戻り値
戻り値:
true処理成功
false処理失敗
LONG scard::get_last_error ( ) const [inline]

最後に実行した処理のエラー値を取得

戻り値:
エラー値
覚え書き:
通常は、SCARD_で始まる定数値
uint16_t scard::read_status_byte ( const void *  data,
size_t  length 
) [inline, static]

スマートカードの戻り値(SW1とSW2)を取得

引数:
[in]data戻り値データ列
[in]length戻り値データ列長
戻り値:
SW1とSW2
template<typename T >
bool scard::transmit ( cb,
const uint8_t *  data,
size_t  length 
) [inline]

スマートカードへデータを送信

Template Parameters:
T戻り値の取得メソッドの型
引数:
[in]cb戻り値の取得メソッド
[in]data送信を行うデータ
[in]length送信を行うデータ長
戻り値:
true処理成功
false処理失敗、get_last_error()で失敗原因を取得できます。
覚え書き:
このメソッドの実行に成功しても送信が完了しているとは限らない。 cbは参照渡しではなく値渡しなので注意!
scard::‾scard ( ) [inline]

デストラクタ


このクラスの説明は次のファイルから生成されました:
 全て クラス ファイル 関数 変数 マクロ定義