CTR NEX API Reference
nn::nex::BackEndServices クラス

ゲームサーバーとの接続を管理するクラスです。本クラスを継承した NgsFacade クラスを使用してください。 [詳解]

#include <RendezVous/Core/src/Client/BackEndServices.h>

+ nn::nex::BackEndServices の継承関係図

公開メンバ関数

CredentialsGetCredentials ()
 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

ゲームサーバーへの接続状態を取得します。

ゲームサーバーへの接続状態を取得します。本関数が false を返した場合でも明示的に NgsFacade::Logout() を呼ぶ必要があります。 本関数は毎フレーム呼び出してもパフォーマンスには影響がありません。 ログイン処理が終了するまでtrueとなりません。

ネットワーク接続が切れた場合や、一定時間サーバーとの通信ができない場合にオフラインとなります。

失敗時には、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 にログインしている必要があります。

戻り値
Credentials (クライアントの証明書情報)。ログインしていない場合は NULL が返ります。
static void nn::nex::BackEndServices::EnableLoginDataCache ( )
static

ログインに必要な情報の一部をキャッシュし、2回目以降のログイン時間を短縮できるようにします

ログインに必要な情報をキャッシュすることで、本関数の呼び出し後、2回目以降のログインでは ログインに要する時間を 2.0 秒 程度短縮します。

NEX の初期化を行った後(Initialize() などを呼び出した後)の初回ログイン前に呼び出してください。

NEX ライブラリを終了する際には DisableLoginDataCache() を呼び出してください

static void nn::nex::BackEndServices::DisableLoginDataCache ( )
static

ログインに必要な情報のキャッシュをクリアします

EnableLoginDataCache() を呼び出している場合、NEX の終了処理を行う前(Finalize() などを呼び出す前)に本関数を呼び出してください。

static qBool nn::nex::BackEndServices::IsAbleLoginDataCache ( )
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 指定したイベントハンドラーが見つからなかった。