AM Daemon ライブラリリファレンス
|
Aimeリーダー単体の処理を提供するクラス。 [詳解]
#include <AimeUnit.h>
公開メンバ関数 | |
AimeUnit (InnerIndexHolder) | |
コンストラクタ。 [詳解] | |
bool | start (AimeCommand command) |
ポーリング処理を開始する。 [詳解] | |
bool | cancel () |
ポーリング処理の中断を開始する。 [詳解] | |
bool | isBusy () const |
ポーリング処理中または中断処理中であるか否かを取得する。 [詳解] | |
AimeCommand | getBusyCommand () const |
ポーリング処理中または中断処理中の処理コマンドを取得する。 [詳解] | |
bool | hasConfirm () const |
Aime登録に関する要確認事項が存在するか否かを取得する。 [詳解] | |
AimeConfirm | getConfirm () const |
Aime登録に関する要確認事項を取得する。 [詳解] | |
bool | acceptConfirm () |
Aime登録に関する要確認事項が承諾されたことを通知する。 [詳解] | |
bool | hasResult () const |
ポーリング処理の結果が存在するか否かを取得する。 [詳解] | |
const AimeResult & | getResult () const |
ポーリング処理の結果を取得する。 [詳解] | |
bool | hasError () const |
ポーリング処理中にエラーが発生したか否かを取得する。 [詳解] | |
const AimeErrorInfo & | getErrorInfo () const |
ポーリング処理中に発生したエラー情報を取得する。 [詳解] | |
AimeLedStatus | getLedStatus () const |
現在のLED点灯ステータスを取得する。 [詳解] | |
bool | setLedStatus (AimeLedStatus status) |
LED点灯ステータスを設定する。 [詳解] | |
bool | setLed (bool onR, bool onG, bool onB) |
LEDの点灯状態をRGB別に設定する。 [詳解] | |
Aimeリーダー単体の処理を提供するクラス。
このクラスのインスタンスをアプリ側で直接生成することはできない。 Aime クラスのメンバ関数 Aime::getUnit から取得すること。
一部の関数は処理完了まで呼び出し元スレッドをブロックする。
|
explicit |
コンストラクタ。
bool amdaemon::AimeUnit::start | ( | AimeCommand | command | ) |
ポーリング処理を開始する。
[in] | command | ポーリング処理コマンド。 |
true | 正常にポーリング開始できた場合。 |
false | ポーリング開始できなかった場合。 |
Exception | 引数 command に不正な値を指定した場合。 |
下記のいずれかを満たす場合、この関数は即座に false を返す。
Daemonプロセスがポーリング開始するまで呼び出し元スレッドをブロックする。
正常にポーリング開始された場合、開始直後は下記のようになる。
ポーリングが進むことでこれらのメンバ関数が返す値は変化する。 詳細は各メンバ関数の説明を参照すること。
bool amdaemon::AimeUnit::cancel | ( | ) |
ポーリング処理の中断を開始する。
true | 正常に中断開始できた場合。 |
false | 中断開始できなかった場合。 |
この関数は中断開始するのみであり、呼び出しただけでは中断完了しない。 メンバ関数 isBusy が false を返すようになって初めて中断完了となる。
下記のいずれかを満たす場合、この関数は即座に false を返す。
中断開始済みかつ中断未完了の状態でこの関数を呼び出した場合、 この関数は true を返すが、内部的には何も行われない。
Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。
bool amdaemon::AimeUnit::isBusy | ( | ) | const |
ポーリング処理中または中断処理中であるか否かを取得する。
true | ポーリング処理中または中断処理中である場合。 |
false | ポーリング処理中でも中断処理中でもない場合。 |
ポーリング処理中であっても各メンバ関数が返す値は変化する場合がある。 詳細は各メンバ関数の説明を参照すること。
AimeCommand amdaemon::AimeUnit::getBusyCommand | ( | ) | const |
ポーリング処理中または中断処理中の処理コマンドを取得する。
ポーリング処理中または中断処理中ではない場合、この関数は不定値を返す。
|
inline |
Aime登録に関する要確認事項が存在するか否かを取得する。
true | 要確認事項が存在する場合。 |
false | 要確認事項が存在しない場合。 |
条件式 (getConfirm() != AimeConfirm::None) の結果を返す。
メンバ関数 start を AimeCommand::Scan を引数として呼び出した後、 そのポーリング処理中にこの関数が true を返す場合がある。
リーダーにかざされたAimeがFeliCaDBやAimeDBに未登録である場合、 それらのDBへ登録して構わないかプレイヤーに確認を取る必要がある。 そういった要確認事項が発生した場合にこの関数が true を返す。
具体的な確認事項はメンバ関数 getConfirm で取得できる。
AimeConfirm amdaemon::AimeUnit::getConfirm | ( | ) | const |
Aime登録に関する要確認事項を取得する。
メンバ関数 hasConfirm が true を返す場合、この関数によって具体的な 確認事項を取得し、アプリ側で適切な確認画面表示を行う。
その結果、確認事項が承諾された場合はメンバ関数 acceptConfirm を呼び出して ポーリング処理を継続すること。 拒否された場合はメンバ関数 cancel を呼び出してポーリング処理を中断すること。
bool amdaemon::AimeUnit::acceptConfirm | ( | ) |
Aime登録に関する要確認事項が承諾されたことを通知する。
true | 正常に通知できた場合。 |
false | 通知できなかった場合。 |
メンバ関数 getConfirm によって取得できる要確認事項に対し、 プレイヤーがその内容を承諾した場合にこの関数を呼び出すこと。 この関数を呼び出すことでポーリング処理が継続される。
要確認事項が存在しない場合は即座に false を返す。
Daemonプロセスが通知を受理するまで呼び出し元スレッドをブロックする。
|
inline |
ポーリング処理の結果が存在するか否かを取得する。
true | ポーリング処理の結果が存在する場合。 |
false | ポーリング処理の結果が存在しない場合。 |
getResult().valid() を返す。
ポーリング処理中であっても、途中経過として結果が設定される場合がある。 そのため、この関数の戻り値でポーリング処理の完了判定を行ってはならない。 ポーリング処理の完了判定はメンバ関数 isBusy で行うこと。
|
inline |
ポーリング処理の結果を取得する。
メンバ関数 start 呼び出しによるポーリング処理中であっても、 内部的なフェーズ完了ごとに情報が更新される。 例えば AimeCommand::Scan を引数としてメンバ関数 start を呼び出した場合、 下記のタイミングで情報が更新される。
メンバ関数 isBusy が false を返す場合、この関数も最終的な結果を返す。
また、ポーリング処理中にエラーが発生した場合や中断された場合であっても、 成功済みの内部フェーズ分の情報は取得可能である。
|
inline |
|
inline |
ポーリング処理中に発生したエラー情報を取得する。
AimeLedStatus amdaemon::AimeUnit::getLedStatus | ( | ) | const |
現在のLED点灯ステータスを取得する。
メンバ関数 setLedStatus で設定したか、 もしくはDaemonプロセスが自動で設定したLED点灯ステータスを取得できる。
AimeLedStatus::Scanning 以外の点灯ステータスは、一定時間点灯後に自動で消灯して AimeLedStatus::None を返すようになる。 そのため、LEDが自動消灯するまで待機するためにこの関数を利用することもできる。
bool amdaemon::AimeUnit::setLedStatus | ( | AimeLedStatus | status | ) |
LED点灯ステータスを設定する。
[in] | status | 要求するLED点灯ステータス。 |
true | 正常に処理要求できた場合。 |
false | 処理要求に失敗した場合。 |
Exception | 引数 status に不正な値を指定した場合。 |
LED点灯処理の詳細は、当クラスの説明およびAime作成基準を参照すること。
引数 status に AimeLedStatus::Scanning 以外の点灯ステータスを渡した場合、 一定時間点灯後にDaemonプロセスが自動で消灯処理を行い、点灯ステータスを AimeLedStatus::None に移行させる。 そのため明示的に消灯処理を行う必要はない。
ファームウェア更新処理中である場合、この関数は即座に false を返す。 更新処理中であるか否かは Aime クラスのメンバ関数 Aime::isFirmUpdating で取得できる。
Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。
bool amdaemon::AimeUnit::setLed | ( | bool | onR, |
bool | onG, | ||
bool | onB | ||
) |
LEDの点灯状態をRGB別に設定する。
[in] | onR | 赤成分を点灯させるならば true 。 |
[in] | onG | 緑成分を点灯させるならば true 。 |
[in] | onB | 青成分を点灯させるならば true 。 |
true | 正常に点灯させることができた場合。 |
false | 処理に失敗した場合。 |
この関数はゲームテストモードでのLED点灯確認処理のために用意されている。 通常シーケンスではこちらではなくメンバ関数 setLedStatus を用いること。
この関数が成功すると、LED点灯ステータスは AimeLedStatus::None となる。
ファームウェア更新処理中である場合、この関数は即座に false を返す。 更新処理中であるか否かは Aime クラスのメンバ関数 Aime::isFirmUpdating で取得できる。
Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。