AM Daemon ライブラリリファレンス
公開メンバ関数 | 全メンバ一覧

USBデバイス関連処理を提供するMonostateクラス。 [詳解]

#include <UsbDevice.h>

公開メンバ関数

bool startReconnect (std::uint16_t vendorId, std::uint16_t productId)
 USBデバイスの再検出処理を開始する。 [詳解]
 
bool isReconnectBusy () const
 USBデバイスの再検出処理中であるか否かを取得する。 [詳解]
 
UsbDeviceReconnectResult getLastReconnectResult () const
 直近のUSBデバイス再検出処理結果を取得する。 [詳解]
 

詳解

USBデバイス関連処理を提供するMonostateクラス。

Core クラスのメンバ関数 Core::execute 呼び出しによって内容が更新される。

このクラスはUSBデバイス全般に対する処理を行う。 セガ標準 USB I/O ボードへの入出力処理については、このクラスではなく UsbIO クラスやその関連クラスを用いること。

関数詳解

bool amdaemon::UsbDevice::startReconnect ( std::uint16_t  vendorId,
std::uint16_t  productId 
)

USBデバイスの再検出処理を開始する。

引数
[in]vendorId対象デバイスのベンダーID。
[in]productId対象デバイスのプロダクトID。
戻り値
true処理の開始に成功した場合。
false処理の開始に失敗したか、既に処理中である場合。
参照
isReconnectBusy, getLastReconnectResult

この関数は再検出処理の開始のみを行う。 この関数の呼び出し後にメンバ関数 isReconnectBusy を用いて 再検出処理中であるか否かを定期的に確認し、処理完了後にメンバ関数 getLastReconnectResult を用いて処理結果を確認すること。

再検出処理には最長で 50 秒程度掛かる場合がある。

メンバ関数 isReconnectBusy が true を返す状態でこの関数を呼び出すと、 何も行わずに false を返す。

Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。

bool amdaemon::UsbDevice::isReconnectBusy ( ) const

USBデバイスの再検出処理中であるか否かを取得する。

戻り値
true再検出処理中である場合。
false再検出処理中ではない場合。
参照
startReconnect, getLastReconnectResult

メンバ関数 startReconnect の呼び出しに成功すると true を返すようになる。

再検出処理が完了すると false を返すようになり、同時にメンバ関数 getLastReconnectResult で処理結果を取得できるようになる。

UsbDeviceReconnectResult amdaemon::UsbDevice::getLastReconnectResult ( ) const

直近のUSBデバイス再検出処理結果を取得する。

戻り値
直近のUSBデバイス再検出処理結果。 まだ一度も処理完了していない場合は UsbDeviceReconnectResult::None 。
参照
startReconnect, isReconnectBusy

メンバ関数 isReconnectBusy の戻り値が true から false に変化したタイミングで、この関数の戻り値も更新される。


このクラス詳解は次のファイルから抽出されました: