MatchmakeExtensionClient のベースクラスです。 [詳解]
#include <RendezVous/Services/MatchMaking/src/Client/MatchMakingClient.h>
公開メンバ関数 | |
virtual qBool | Bind (Credentials *pCredentials) |
サービスを利用するための証明書を登録します。 [詳解] | |
qBool | EndParticipation (ProtocolCallContext *pContext, GatheringID id, const String &strMessage=NEX_T("")) |
ギャザリング(マッチメイクセッション)から退出します。 [詳解] | |
qBool | FindByID (ProtocolCallContext *pContext, const qList< GatheringID > &lstID, qList< GatheringHolder > *plstGatherings) |
ギャザリングをIDで検索します [詳解] | |
qBool | FindByID (ProtocolCallContext *pContext, GatheringID id, GatheringHolder *pGathering) |
ギャザリングをIDで検索します [詳解] | |
qBool | FindByOwner (ProtocolCallContext *pContext, PrincipalID pidOwner, const ResultRange &resultRange, qList< GatheringHolder > *plstGatherings) |
ギャザリングのオーナーの PrincipalId で検索します。 [詳解] | |
Credentials * | GetCredentials () const |
Bind() された Credentials オブジェクトを取得します。 [詳解] | |
qBool | GetDetailedParticipants (ProtocolCallContext *pContext, GatheringID id, qList< ParticipantDetails > *pParticipants, qBool bOnlyActive=true) |
ギャザリングの参加者の情報を取得します [詳解] | |
qBool | GetParticipantsURLs (ProtocolCallContext *pContext, GatheringID id, qList< StationURL > *plstParticipantsURLs) |
指定したギャザリングの全ての参加者の StationURL を取得します。 [詳解] | |
qBool | GetSessionURLs (ProtocolCallContext *pContext, GatheringID gid, qList< StationURL > *lstUrls) |
ギャザリングのホストの StationURL を取得します。 [詳解] | |
qBool | MigrateGatheringOwnership (ProtocolCallContext *pContext, GatheringID id, const qList< PrincipalID > &lstPotentialOwnersID) |
ギャザリングのオーナーを別の参加者に変更します。 [詳解] | |
void | SetDefaultCredentials (Credentials *pCredentials) |
virtual qBool | Unbind () |
証明書の登録を解除します。 [詳解] | |
qBool | UnregisterGathering (ProtocolCallContext *pContext, GatheringID idGathering) |
ギャザリングをゲームサーバーから削除します。 [詳解] | |
qBool | UpdateGatheringOwnership (ProtocolCallContext *pContext, GatheringID id) |
ギャザリングのオーナーを呼び出したユーザーへ変更します。 [詳解] | |
qBool | UpdateSessionHost (ProtocolCallContext *pContext, GatheringID gid, qBool isMigrateOwner=false) |
ギャザリングのホストを変更します。 [詳解] | |
静的公開メンバ関数 | |
static qBool | StaticUpdateSessionHost (void *pMatchMakingClient, qUnsignedInt32 gatheringID) |
ホストマイグレーション発生時に呼び出されるコールバック向けの関数です。 [詳解] | |
static qBool | StaticUpdateSessionHostWithOwner (void *pMatchMakingClient, qUnsignedInt32 gatheringID) |
ホストマイグレーション発生時に呼び出されるコールバック向けの関数です。 [詳解] | |
MatchmakeExtensionClient のベースクラスです。
本クラスを直接使用しないでください。また、 API リファレンスに記載されている API 以外のものを使用しないでください
qBool nn::nex::MatchMakingClient::UnregisterGathering | ( | ProtocolCallContext * | pContext, |
GatheringID | idGathering | ||
) |
ギャザリングをゲームサーバーから削除します。
指定した ID のギャザリングをゲームサーバーから削除します。ギャザリングのオーナーのみ実行可能です。 非同期処理が成功すると、ギャザリングの参加者全員に NotificationEvents::GatheringUnregistered イベントが通知されます。
非同期処理の結果、以下の Result が返ることがあります。これらはアプリケーション側でハンドリングしてください。
[in,out] | pContext | 呼び出し情報 |
[in] | idGathering | 削除したいギャザリングの ID |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::MatchMakingClient::FindByID | ( | ProtocolCallContext * | pContext, |
const qList< GatheringID > & | lstID, | ||
qList< GatheringHolder > * | plstGatherings | ||
) |
ギャザリングをIDで検索します
指定したIDのギャザリングを検索します。
非同期処理の結果、以下の Result が返ることがあります。これらはアプリケーション側でハンドリングしてください。
[in,out] | pContext | 呼び出し情報 |
[in] | lstID | ギャザリングのIDのリスト |
[out] | plstGatherings | 見つかったギャザリングのリスト |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::MatchMakingClient::FindByID | ( | ProtocolCallContext * | pContext, |
GatheringID | id, | ||
GatheringHolder * | pGathering | ||
) |
ギャザリングをIDで検索します
指定したIDのギャザリングを検索します。
非同期処理の結果、以下の Result が返ることがあります。これらはアプリケーション側でハンドリングしてください。
[in,out] | pContext | 呼び出し情報 |
[in] | id | ギャザリングのID |
[out] | pGathering | 見つかったギャザリング |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::MatchMakingClient::FindByOwner | ( | ProtocolCallContext * | pContext, |
PrincipalID | pidOwner, | ||
const ResultRange & | resultRange, | ||
qList< GatheringHolder > * | plstGatherings | ||
) |
ギャザリングのオーナーの PrincipalId で検索します。
指定した PrincipalId のユーザーがオーナーとなっているギャザリングを検索します。
取得したギャザリングが PersistentGathering か判断する場合には Gathering::IsA() に "PersistentGathering" を指定して判断してください。
非同期処理の結果、以下の Result が返ることがあります。これらはアプリケーション側でハンドリングしてください。
[in,out] | pContext | 呼び出し情報。 |
[in] | pidOwner | 検索キーとなる PrincipalId |
[in] | resultRange | 検索範囲 |
[out] | plstGatherings | 見つかったギャザリング |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::MatchMakingClient::EndParticipation | ( | ProtocolCallContext * | pContext, |
GatheringID | id, | ||
const String & | strMessage = NEX_T("") |
||
) |
ギャザリング(マッチメイクセッション)から退出します。
指定したIDのギャザリングから退出します。ギャザリングの参加者が 0 人になる場合、自動的にギャザリングが削除されます。
[in,out] | pContext | 呼び出し情報。 |
[in] | id | 退出するギャザリングのID。 |
[in] | strMessage | ギャザリングのオーナーもしくは参加者に通知されるメッセージ。最大 MATCHMAKE_STRING_MAX_LENGTH 文字。 |
非同期処理の結果、以下の Result が返ることがあります。これらはアプリケーション側でハンドリングしてください。
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::MatchMakingClient::GetParticipantsURLs | ( | ProtocolCallContext * | pContext, |
GatheringID | id, | ||
qList< StationURL > * | plstParticipantsURLs | ||
) |
指定したギャザリングの全ての参加者の StationURL を取得します。
本関数で取得した StationURL のリストは VSocket::ProbeStations() に渡すことを想定しています。 StationURL は参加者一人につき複数存在する事があります。 StationURL は対象のギャザリングに参加した順に格納されます。
非同期処理の結果、以下の Result が返ることがあります。これらはアプリケーション側でハンドリングしてください。
[in,out] | pContext | 呼び出し情報。 |
[in] | id | 取得するギャザリングの ID。 |
[out] | plstParticipantsURLs | 全ての参加者の StationURL のリストが格納されます。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::MatchMakingClient::GetDetailedParticipants | ( | ProtocolCallContext * | pContext, |
GatheringID | id, | ||
qList< ParticipantDetails > * | pParticipants, | ||
qBool | bOnlyActive = true |
||
) |
ギャザリングの参加者の情報を取得します
指定したIDのギャザリング参加者の情報を取得します。本関数で取得できる ParticipantDetails には、参加者の プリンシパル ID , 参加者の プリンシパル ID を文字列化したもの、MatchmakeExtensionClient::CreateMatchmakeSession() , MatchmakeExtensionClient::JoinMatchmakeSession() , MatchmakeExtensionClient::AutoMatchmake() , EndParticipation() で与えられた文字列がセットされます。
最大参加人数が 無制限(0) または 128 人を超えるギャザリングについては本関数は適用できません。
[in,out] | pContext | 呼び出し情報 |
[in] | id | 詳細情報を取得するギャザリングのID |
[out] | pParticipants | 参加者の詳細情報 |
[in] | bOnlyActive | 現時点で参加しているユーザー情報のみを取得するかどうか |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::MatchMakingClient::MigrateGatheringOwnership | ( | ProtocolCallContext * | pContext, |
GatheringID | id, | ||
const qList< PrincipalID > & | lstPotentialOwnersID | ||
) |
ギャザリングのオーナーを別の参加者に変更します。
指定したギャザリングのオーナーを別の参加者に変更します。ギャザリングのオーナーしか行えません。 オーナーの変更に成功すると、ギャザリングの参加者全員に NotificationEvents::OwnershipChangeEvent が通知されます。
非同期処理の結果、以下の Result が返ることがあります。これらはアプリケーション側でハンドリングしてください。
[in,out] | pContext | 呼び出し情報。 |
[in] | id | オーナーを変更するギャザリングのID。 |
[in] | lstPotentialOwnersID | オーナーを移譲する候補リスト。リストが空の場合、自動的にギャザリングの参加者の中から選ばれます。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::MatchMakingClient::UpdateGatheringOwnership | ( | ProtocolCallContext * | pContext, |
GatheringID | id | ||
) |
ギャザリングのオーナーを呼び出したユーザーへ変更します。
指定したギャザリングのオーナーを呼び出したユーザーへ変更します。 Gathering の flags の GatheringFlags::ChangeOwnerByOtherHost が設定されている必要があります。 オーナーの変更に成功すると、ギャザリングの参加者全員に NotificationEvents::OwnershipChangeEvent が通知されます。 本関数を呼び出したユーザーがすでにオーナーである場合は特に何も行われません。
非同期処理の結果、以下の Result が返ることがあります。これらはアプリケーション側でハンドリングしてください。
[in,out] | pContext | 呼び出し情報。 |
[in] | id | オーナーを変更するギャザリングのID。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::MatchMakingClient::UpdateSessionHost | ( | ProtocolCallContext * | pContext, |
GatheringID | gid, | ||
qBool | isMigrateOwner = false |
||
) |
ギャザリングのホストを変更します。
指定したギャザリングのホストを、関数を呼び出したユーザーに変更します。 ギャザリングの参加者のみ呼び出し可能です。 オプションにより、Gathering の flags で、 GatheringFlags::ChangeOwnerByOtherHost が設定されている場合に、オーナーを同時に変更可能です。 オーナーが変更された場合はギャザリングの参加者全員に NotificationEvents::OwnershipChangeEvent が通知されます。
非同期処理の結果、以下の Result が返ることがあります。これらはアプリケーション側でハンドリングしてください。
[in,out] | pContext | 呼び出し情報。 |
[in] | gid | 変更するギャザリングの ID |
[in] | isMigrateOwner | ギャザリングのオーナーも同時に関数を呼び出したユーザーに変更するか指定します |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
|
static |
ホストマイグレーション発生時に呼び出されるコールバック向けの関数です。
ホストマイグレーション拡張使用時に P2P セッションの親になったときに呼び出されるコールバック向けの関数です。 関数の内部で UpdateSessionHost() を自動的に呼び出し、ゲームサーバーにホストの変更を通知します。
HostMigrationCallback のコンストラクタに渡してください。
[in] | pMatchMakingClient | MatchMakingClientClient のポインタ |
[in] | gatheringID | 変更するギャザリングの ID |
true 非同期処理の開始に成功。
false 指定した pMatchMakingClient が NULL。
|
static |
ホストマイグレーション発生時に呼び出されるコールバック向けの関数です。
ホストマイグレーション拡張使用時に P2P セッションの親になったときに呼び出されるコールバック向けの関数です。 関数の内部で UpdateSessionHost() を自動的に呼び出し、ゲームサーバーにホストの変更を通知します。 同時にギャザリングのオーナーを自分自身に変更します。 対象のギャザリングの flags で、 GatheringFlags::ChangeOwnerByOtherHost が設定されている必要があります。
HostMigrationCallback のコンストラクタに渡してください
[in] | pMatchMakingClient | MatchMakingClientClient のポインタ |
[in] | gatheringID | 変更するギャザリングの ID |
true 非同期処理の開始に成功。
false 指定した pMatchMakingClient が NULL。
qBool nn::nex::MatchMakingClient::GetSessionURLs | ( | ProtocolCallContext * | pContext, |
GatheringID | gid, | ||
qList< StationURL > * | lstUrls | ||
) |
ギャザリングのホストの StationURL を取得します。
ギャザリングのホストの StationURL を取得します。 ギャザリングの参加者のみ呼び出し可能です。 本関数で取得したURLリストは、加工せずにそのまま Session::JoinSession() や VSocket::ProbeStations() に渡すようにしてください。
非同期処理の結果、以下の Result が返ることがあります。これらはアプリケーション側でハンドリングしてください。
[in,out] | pContext | 呼び出し情報。 |
[in] | gid | 取得するギャザリングの ID |
[out] | lstUrls | ホストの URL のリスト |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
|
inherited |
pCredentials | The default Credentials for this service. |
|
virtualinherited |
サービスを利用するための証明書を登録します。
サービスを利用するための証明書をセットします。 機能を利用する前にセットする必要があります。NgsFacade::Login() の非同期処理に成功後、 NgsFacade::GetCredentials() で取得した証明書を引数に指定してください。 Bind() で証明書をセットした後もう一度 Bind() を呼び出すと証明書を差し替える事ができます。
[in] | pCredentials | サービスにアクセスするための証明書。 |
true 成功。pCredentials が NULL でない場合は必ず成功します。
false pCredentials に NULL が指定された。
|
virtualinherited |
|
inherited |
Bind() された Credentials オブジェクトを取得します。