# WXCStateCode

## 定義

  `#include <nitro/wxc.h>`

      typedef enum
      {
          /* WXC_GetStatus 関数で取得可能な内部状態 */
          WXC_STATE_END,            /* WXCライブラリ初期化前の状態 */
          WXC_STATE_ENDING,         /* WXC_End 関数以降かつ 終了処理実行中 */
          WXC_STATE_READY,          /* WXC_Init 関数以降かつ WXC_Start 関数以前 */
          WXC_STATE_ACTIVE,         /* WXC_Start 関数以降でワイヤレスが有効な状態 */

          /* システムコールバックに通知される内部イベント */
          WXC_STATE_CONNECTED,      /* 接続通知 (引数は接続先の情報を格納したWXCUserInfo構造体ポインタ) */
          WXC_STATE_EXCHANGE_DONE,  /* データ交換完了 (引数はユーザが指定した受信バッファ) */
          WXC_STATE_BEACON_RECV     /* ビーコン受信 (引数はWXCBeaconFoundCallback構造体) */
      }
      WXCStateCode;

## 説明

WXCライブラリの内部状態を表す列挙定数を示します。
各値の意味は以下の通りです。
・WXC_GetStateCode関数で取得される値

値 | 状態 | WXC_Init関数で指定したシステムコールバック
WXC_STATE_END | WXCライブラリを初期化する前の状態、もしくはWXC_End関数による終了処理が完了した状態です。 | WXC_End関数による終了処理が完了した時点で通知されます。 引数は、WXC_Init関数で割り当てたワークメモリのポインタが与えられます。 このメモリは、すでにこのコールバックの時点でユーザアプリケーションへ解放されています。
WXC_STATE_ENDING | WXC_End関数を呼び出してワイヤレスの終了処理を行っている状態です。 | WXC_End関数呼び出しの内部からただちに通知されます。 引数は、常に NULL が与えられます。
WXC_STATE_READY | WXC_Init関数を呼び出し、WXC_Start関数を呼び出す前の状態です。 | WXC_Init関数呼び出しの内部から、あるいはWXC_Stop関数による状態遷移処理が完了した時点で通知されます。 引数は、常に NULL が与えられます。
WXC_STATE_ACTIVE | WXC_Start関数を呼び出して内部のワイヤレスが駆動している状態です。 | WXC_Start関数呼び出しの内部からただちに通知されます。 引数は、常に NULL が与えられます。

・WXC_Init関数で指定したシステムコールバックにのみ通知される値

値 | WXC_Init関数で指定したシステムコールバック
WXC_STATE_CONNECTED | 親機として起動している際、子機が接続するたびに通知されます。 引数は、WXCUserInfo構造体へのポインタが与えられます。
WXC_STATE_BEACON_RECV | 接続対象とみなせる親機のビーコンを検出するたびに通知されます。 引数は、WXCBeaconFoundCallback構造体へのポインタが与えられます。

・WXC_RegisterCommonData関数で指定したユーザコールバックにのみ通知される値

値 | WXC_RegisterCommonData関数で指定したユーザコールバック
WXC_STATE_EXCHANGE_DONE | データ交換が完了するたびに通知されます。 引数は、受信データの情報を格納したWXCBlockDataFormat構造体へのポインタが与えられます。

## 参照

`WXCCallback WXCBeaconFoundCallback WXCUserInfo
WXC_Init WXC_Start WXC_End WXC_GetStateCode`

## 履歴

2006/02/20 WXC_STATE_EXCHANGE_DONEの説明を追加
2005/11/04 WXC_STATE_BEACON_RECVの説明を追加
2005/10/11 WXC_STATE_READYの説明を修正
2005/08/04 初版