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

MatchmakeExtensionClient のベースクラスです。 [詳解]

#include <RendezVous/Services/MatchMaking/src/Client/MatchMakingClient.h>

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

公開メンバ関数

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 で検索します。 [詳解]
 
CredentialsGetCredentials () 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 以外のものを使用しないでください

関数詳解

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で検索します

非推奨:
これは互換性のために残されている古い関数です。MatchmakeExtensionClient::FindMatchmakeSessionByGatheringId()もしくはMatchmakeExtensionClient::FindPersistentGatheringByGatheringId()を利用して下さい。

指定した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で検索します

非推奨:
これは互換性のために残されている古い関数です。MatchmakeExtensionClient::FindMatchmakeSessionByGatheringId()もしくはMatchmakeExtensionClient::FindPersistentGatheringByGatheringId()を利用して下さい。

指定した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 で検索します。

非推奨:
これは互換性のために残されている古い関数です。MatchmakeExtensionClient::FindMatchmakeSessionByOwner()もしくはMatchmakeExtensionClient::FindPersistentGatheringByOwner()を利用して下さい。

指定した 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 人を超えるギャザリングについては本関数は適用できません。

  • QERROR(Core, InvalidArgument) : 最大参加人数が 無制限(0) または 128 人を超えるギャザリングを指定した。id に INVALID_GATHERINGID を指定した。
引数
[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 により停止します。

参照
GatheringFlags
qBool nn::nex::MatchMakingClient::UpdateSessionHost ( ProtocolCallContext pContext,
GatheringID  gid,
qBool  isMigrateOwner = false 
)

ギャザリングのホストを変更します。

指定したギャザリングのホストを、関数を呼び出したユーザーに変更します。 ギャザリングの参加者のみ呼び出し可能です。 オプションにより、Gathering の flags で、 GatheringFlags::ChangeOwnerByOtherHost が設定されている場合に、オーナーを同時に変更可能です。 オーナーが変更された場合はギャザリングの参加者全員に NotificationEvents::OwnershipChangeEvent が通知されます。

非同期処理の結果、以下の Result が返ることがあります。これらはアプリケーション側でハンドリングしてください。

覚え書き
ホストマイグレーション拡張機能を利用すると、P2P の ホストの変更を検知し、自動的に新しいホストがゲームサーバーに通知します。
引数
[in,out]pContext呼び出し情報。
[in]gid変更するギャザリングの ID
[in]isMigrateOwnerギャザリングのオーナーも同時に関数を呼び出したユーザーに変更するか指定します


戻り値一覧:

true 非同期処理の開始に成功。

false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。

参照
HostMigrationExtension
GatheringFlags
static qBool nn::nex::MatchMakingClient::StaticUpdateSessionHost ( void *  pMatchMakingClient,
qUnsignedInt32  gatheringID 
)
static

ホストマイグレーション発生時に呼び出されるコールバック向けの関数です。

ホストマイグレーション拡張使用時に P2P セッションの親になったときに呼び出されるコールバック向けの関数です。 関数の内部で UpdateSessionHost() を自動的に呼び出し、ゲームサーバーにホストの変更を通知します。

HostMigrationCallback のコンストラクタに渡してください。

引数
[in]pMatchMakingClientMatchMakingClientClient のポインタ
[in]gatheringID変更するギャザリングの ID


戻り値一覧:

true 非同期処理の開始に成功。

false 指定した pMatchMakingClient が NULL。

参照
HostMigrationExtension MatchMakingClient::StaticUpdateSessionHostWithOwner()
static qBool nn::nex::MatchMakingClient::StaticUpdateSessionHostWithOwner ( void *  pMatchMakingClient,
qUnsignedInt32  gatheringID 
)
static

ホストマイグレーション発生時に呼び出されるコールバック向けの関数です。

ホストマイグレーション拡張使用時に P2P セッションの親になったときに呼び出されるコールバック向けの関数です。 関数の内部で UpdateSessionHost() を自動的に呼び出し、ゲームサーバーにホストの変更を通知します。 同時にギャザリングのオーナーを自分自身に変更します。 対象のギャザリングの flags で、 GatheringFlags::ChangeOwnerByOtherHost が設定されている必要があります。

HostMigrationCallback のコンストラクタに渡してください

引数
[in]pMatchMakingClientMatchMakingClientClient のポインタ
[in]gatheringID変更するギャザリングの ID


戻り値一覧:

true 非同期処理の開始に成功。

false 指定した pMatchMakingClient が NULL。

参照
HostMigrationExtension MatchMakingClient::StaticUpdateSessionHost()
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 により停止します。

void nn::nex::ServiceClient::SetDefaultCredentials ( Credentials pCredentials)
inherited
引数
pCredentialsThe default Credentials for this service.
注釈
It is up to each ServiceClient to use this method to set the current Credentials in each of his protocols.
virtual qBool nn::nex::ServiceClient::Bind ( Credentials pCredentials)
virtualinherited

サービスを利用するための証明書を登録します。

サービスを利用するための証明書をセットします。 機能を利用する前にセットする必要があります。NgsFacade::Login() の非同期処理に成功後、 NgsFacade::GetCredentials() で取得した証明書を引数に指定してください。 Bind() で証明書をセットした後もう一度 Bind() を呼び出すと証明書を差し替える事ができます。

引数
[in]pCredentialsサービスにアクセスするための証明書。


戻り値一覧:

true 成功。pCredentials が NULL でない場合は必ず成功します。

false pCredentials に NULL が指定された。

nn::nex::MatchmakeExtensionClient, nn::nex::RankingClient, nn::nex::DebugClient, nn::nex::ServiceItemInternalClient, nn::nex::MatchmakeRefereeClient, nn::nex::DataStoreLogicServerClient, nn::nex::Ranking2Client, nn::nex::SubscriberClient, nn::nex::UtilityClientで再実装されています。

virtual qBool nn::nex::ServiceClient::Unbind ( )
virtualinherited

証明書の登録を解除します。

Bind() でセットされた証明書を解除します。Bind() が呼び出されていなくても本関数を呼び出すことができます。 本オブジェクトを破棄する際に自動的に Unbind() が呼び出されるため、明示的に呼び出す必要はありません。


戻り値一覧:

true 証明書の解除を行った。

false Bind() が行われていないため何も行わなかった。

nn::nex::MatchmakeExtensionClient, nn::nex::RankingClient, nn::nex::DebugClient, nn::nex::ServiceItemInternalClient, nn::nex::MatchmakeRefereeClient, nn::nex::DataStoreLogicServerClient, nn::nex::Ranking2Client, nn::nex::SubscriberClient, nn::nex::UtilityClientで再実装されています。

Credentials* nn::nex::ServiceClient::GetCredentials ( ) const
inherited

Bind() された Credentials オブジェクトを取得します。

戻り値
Bind() された Credentials オブジェクト。Bind() されていない場合、NULL を返します。