//--------------------------------------------------------------
//  初めに
//--------------------------------------------------------------
・WBは常時通信が基本である
・通信前のセーブも無くしたい方向で動いている。(Wi-Fi除く)

  その為、
    エラーが発生した後も安全にゲームが進行できる必要がある
    通信を使用するアプリは常にエラー発生後、安全に終了処理を行う必要がある


//--------------------------------------------------------------
//  前提
//--------------------------------------------------------------
１．エラーが発生した場合、アプリを終了する必要がある
    今までの用に「エラー＞リセット」とはしない

２．Wi-Fiも規約にのっとり修正。
    受付でセーブ。エラー発生後は、ガイドラインに乗っ取った動きにする。

３．エラー表示は、エラー発生後、即表示させない。
    基本、アプリを終了後、安全な場所で表示。


//--------------------------------------------------------------
//  ルール
//--------------------------------------------------------------
１．エラー検出は基本各アプリのPROC_MAINで常時監視。
    エラー発生後、即PROC_ENDに処理を移し安全に終了する事が出来る仕組みになっていることを推奨。
      アプリによってはエラーの検出は即時検出でなくてよい。(エラー発生後もゲームが続く侵入など)
      各アプリの安全なタイミングで対応して、出来る限り早いタイミングで終了してくれればよい。
      (同期取りや相手のデータ受信待ちなどしていると、
       エラー発生後はずっと待ちになってしまうため、注意する必要はある)

　　　※PROC_Endを呼び出せばいつでも安全に終了できるようになるのが理想だが、
        それに対応するにはプログラマの負担が大きい為「１」案、PROC_Mainで各自で監視し、
        処理移行してもらう、というのが落としどころ。

２．「１」の理由からPROC_InitやPROC_Endでは同期取りや送受信、エラー監視を行う事を禁止。
      Init時やEnd時に、強制終了に移行する必要が出てくる為、
      強制終了のバリエーションの増大に繋がりデバッグ漏れの発生にも繋がる。

３．通信中であってもデータの送受信や同期取りなど、通信関連の処理を全く行わないような
    サブアプリではエラー検出をする必要は無い。※ポケモンリスト、バッグ等
    サブアプリ中に通信エラーが発生した場合は親アプリに処理が戻った時に親アプリが検出する。
    ※エラー検出のデバッグ処理の範囲を限定化、全体での作業負荷の軽減。


//--------------------------------------------------------------
//  エラー画面の出し方
//--------------------------------------------------------------
ProcMainで常時
  BOOL NetErr_App_CheckError(void)
関数を使用してエラーの検出チェックを行ってください

エラーが検出されたら
  void NetErr_App_ReqErrorDisp(void)
関数を呼び出してください。
この関数が呼ばれることでPROC_Change時に自動的にエラー画面がはさまれます

※最もオーソドックスな書き方
PROC_RESULT test_ProcMain(...)
{
  if(NetErr_App_CheckError() == TRUE){
    NetErr_App_ReqErrorDisp();
    return PROC_RESULT_FINISH;
  }
    ・
    ・
    ・
}


//--------------------------------------------------------------
//  通信ライブラリ側の動作
//--------------------------------------------------------------
エラーが発生した場合、通信ライブラリの内部でGFL_NET_Exitに相当する処理を行います。
従ってエラー発生後はGFL_NET_Exitを呼ぶ必要はありません。
なお、この場合は切断時のコールバック関数などは呼ばれません。

static const GFLNetInitializeStruct aGFLNetInit = {
ここで設定されているエラー時のコールバック関数は基本NULLでよい。
アプリで何か呼びたいものがあるなら、それぞれ自由に使用してください。

致命的エラーの場合はNetErr_Mainで強制エラー画面を呼び出すようにして、
リセットに移行する。


//--------------------------------------------------------------
//  通信班による対応
//--------------------------------------------------------------
検出漏れがあった時の為に大本には通信チームが
「一定時間経ってもエラー画面が表示されていなければ強制的にエラー画面を出す」
といった対策を入れる
