ゲームサーバーとの接続を管理するクラスです。本クラスを継承した NgsFacade クラスを使用してください。 [詳解]
#include <RendezVous/Core/src/Client/BackEndServices.h>
公開メンバ関数 | |
Credentials * | GetCredentials () |
Credentials (クライアントの証明書情報)を取得します。 [詳解] | |
qResult | IsConnected () const |
ゲームサーバーへの接続状態を取得します。 [詳解] | |
qBool | RegisterNotificationEventHandler (NotificationEventHandler *pNotificationEventHandler) |
通知イベントハンドラーを登録します [詳解] | |
qBool | Terminate (CallContext *pContext) |
NgsFacade を終了し、deleteできる状態にします。 [詳解] | |
qBool | UnregisterNotificationEventHandler (NotificationEventHandler *pNotificationEventHandler) |
登録した通知イベントハンドラーを削除します。 [詳解] | |
静的公開メンバ関数 | |
static void | DisableLoginDataCache () |
ログインに必要な情報のキャッシュをクリアします [詳解] | |
static void | EnableLoginDataCache () |
ログインに必要な情報の一部をキャッシュし、2回目以降のログイン時間を短縮できるようにします [詳解] | |
static qBool | IsAbleLoginDataCache () |
ログインに必要な情報のキャッシュを有効化しているかを返します [詳解] | |
ゲームサーバーとの接続を管理するクラスです。本クラスを継承した NgsFacade クラスを使用してください。
qResult nn::nex::BackEndServices::IsConnected | ( | ) | const |
ゲームサーバーへの接続状態を取得します。
ゲームサーバーへの接続状態を取得します。ゲームサーバーへのログイン後に本関数が QSUCCESS(Core, Success) 以外を返した場合は明示的に NgsFacade::Logout() を呼ぶ必要があります。 本関数は毎フレーム呼び出してもパフォーマンスには影響がありません。 ログイン処理が成功した時点から本関数は QSUCCESS(Core, Success) を返すようになります。
ネットワーク接続が切れた場合や、一定時間サーバーとの通信ができない場合にオフラインとなります。
ゲームサーバーと接続されていない場合には、 QERROR(RendezVous, ConnectionDisconnected) が返ります。
ユーザーに対してゲームサーバーとの通信が切断された旨を通知したい場合、 この値を ErrorCodeConverter::ConvertToNetworkErrorCode() でネットワークエラーコードに変換して、エラー・EULAアプレットに渡すことで、 「通信エラーが発生しました」というメッセージが表示されます。
"QSUCCESS(Core, Success)" ゲームサーバーに接続中(オンライン)
"QERROR(RendezVous, ConnectionDisconnected)" オフライン
qBool nn::nex::BackEndServices::Terminate | ( | CallContext * | pContext | ) |
NgsFacade を終了し、deleteできる状態にします。
本関数はログイン処理中・ログアウト処理中・オンライン・オフラインのいずれの状態であっても呼び出し可能で、 非同期処理が完了するとオフライン状態となることが保証されます。
ログイン処理中・ログアウト処理中・ログイン中のいずれかの状態のとき、 NgsFacade のデストラクタ内で NgsFacade::Terminate が呼ばれ、 オフライン状態に遷移するまでブロックします。NgsFacade を破棄する前に NgsFacade::Terminate を呼ぶことを推奨します。
本関数を呼ぶ前に ServiceClient 継承クラス( MatchmakeExtensionClient , NATTraversalClient など)の Unbind() および delete を実行してください。
ネットワークに繋がっていない場合、非同期処理に時間がかかることがあるため、 Core::SetTerminateImmediately() で強制終了モードを設定しても構いません。
[in,out] | pContext | 呼び出し情報。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
Credentials* nn::nex::BackEndServices::GetCredentials | ( | ) |
Credentials (クライアントの証明書情報)を取得します。
Credentials (クライアントの証明書情報)を取得します。有効な Credentials を取得するには、 NGS にログインしている必要があります。
|
static |
ログインに必要な情報の一部をキャッシュし、2回目以降のログイン時間を短縮できるようにします
ログインに必要な情報をキャッシュすることで、本関数の呼び出し後、2回目以降のログインでは ログインに要する時間を 2.0 秒 程度短縮します。
NEX の初期化を行った後(Initialize() などを呼び出した後)の初回ログイン前に呼び出してください。
NEX ライブラリを終了する際には DisableLoginDataCache() を呼び出してください
|
static |
ログインに必要な情報のキャッシュをクリアします
EnableLoginDataCache() を呼び出している場合、NEX の終了処理を行う前(Finalize() などを呼び出す前)に本関数を呼び出してください。
|
static |
ログインに必要な情報のキャッシュを有効化しているかを返します
true キャッシュが有効化されている
false キャッシュが有効化されていない
qBool nn::nex::BackEndServices::RegisterNotificationEventHandler | ( | NotificationEventHandler * | pNotificationEventHandler | ) |
通知イベントハンドラーを登録します
通知イベントハンドラーを登録します。本関数を実行することで、通知イベントを受信するたびに NotificationEventHandler::ProcessNotificationEvent コールバックが実行されるようになります。 すべての通知イベントを受信するためには、本関数を NgsFacade::Login() 呼び出しよりも前に実行してください。 NgsFacade::Login() 実行後に本関数を実行すると、本関数の実行までの間に送られた通知イベントを受信できないことがあります。 イベントハンドラーは複数個登録できます。
[in] | pNotificationEventHandler | 登録する通知イベントハンドラーへのポインタ。 |
true 成功。
false 同じイベントハンドラーを複数個登録しようとした。
qBool nn::nex::BackEndServices::UnregisterNotificationEventHandler | ( | NotificationEventHandler * | pNotificationEventHandler | ) |
登録した通知イベントハンドラーを削除します。
[in] | pNotificationEventHandler | 登録を取り消す通知イベントハンドラーへのポインタ。 |
true 成功。
false 指定したイベントハンドラーが見つからなかった。