ランキングデータを管理するライブラリです。 [詳解]
#include <RendezVous/Services/Jugem/Ranking/src/Client/RankingClient.h>
ランキングデータを管理するライブラリです。
本ライブラリは、以下の機能を提供しています。
|
virtual |
デストラクタです。
内部で Unbind() を呼び出します。
|
virtual |
サービスを利用するための証明書を登録します。
サービスを利用するための証明書をセットします。 機能を利用する前にセットする必要があります。NgsFacade::Login() の非同期処理に成功後、 NgsFacade::GetCredentials() で取得した証明書を引数に指定してください。 Bind() で証明書をセットした後もう一度 Bind() を呼び出すと証明書を差し替える事ができます。
[in] | pCredentials | サービスにアクセスするための証明書。 |
true 成功。pCredentials が NULL でない場合は必ず成功します。
false pCredentials に NULL が指定された。
nn::nex::ServiceClientを再実装しています。
|
virtual |
qBool nn::nex::RankingClient::UploadScore | ( | ProtocolCallContext * | pContext, |
const RankingScoreData & | scoreData, | ||
UniqueId | nexUniqueId = INVALID_UNIQUEID |
||
) |
スコアを登録します。
本関数では自分と同じ プリンシパルID のスコアのみ登録することができます。
[in,out] | pContext | 呼び出し情報。 |
[in] | scoreData | スコアデータ。 |
[in] | nexUniqueId | NEXユニークID。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::RankingClient::DeleteScore | ( | ProtocolCallContext * | pContext, |
qUnsignedInt32 | category, | ||
UniqueId | nexUniqueId = INVALID_UNIQUEID |
||
) |
スコアを削除します。
指定したカテゴリーのスコアを削除します。 本関数では自分と同じ プリンシパルID のスコアのみ削除することができます。
[in,out] | pContext | 呼び出し情報。 |
[in] | category | カテゴリー。 |
[in] | nexUniqueId | NEXユニークID。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::RankingClient::DeleteScore | ( | ProtocolCallContext * | pContext, |
UniqueId | nexUniqueId = INVALID_UNIQUEID |
||
) |
全カテゴリーのスコアを一括削除します。
本関数では自分と同じ プリンシパルID のスコアのみ削除することができます。
[in,out] | pContext | 呼び出し情報。 |
[in] | nexUniqueId | NEXユニークID。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::RankingClient::UploadCommonData | ( | ProtocolCallContext * | pContext, |
const qVector< qByte > & | commonData, | ||
UniqueId | nexUniqueId = INVALID_UNIQUEID |
||
) |
ランキング共通データを登録します。
本関数では自分と同じ プリンシパルID の共通データのみ登録することができます。
[in,out] | pContext | 呼び出し情報。 |
[in] | commonData | ランキング共通データ。 |
[in] | nexUniqueId | NEXユニークID。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::RankingClient::UploadCommonData | ( | ProtocolCallContext * | pContext, |
const void * | pCommonData, | ||
qByte | commonDataSize, | ||
UniqueId | nexUniqueId = INVALID_UNIQUEID |
||
) |
ランキング共通データを登録します。
本関数では自分と同じ プリンシパルID の共通データのみ登録することができます。
[in,out] | pContext | 呼び出し情報。 |
[in] | pCommonData | ランキング共通データとしてアップロードするバイナリデータのポインタ。 |
[in] | commonDataSize | アップロードするバイナリデータのデータサイズ(0-255) |
[in] | nexUniqueId | NEXユニークID。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::RankingClient::DeleteCommonData | ( | ProtocolCallContext * | pContext, |
UniqueId | nexUniqueId = INVALID_UNIQUEID |
||
) |
ランキング共通データを削除します。
本関数では自分と同じ プリンシパルID の共通データのみ削除することができます。
[in,out] | pContext | 呼び出し情報。 |
[in] | nexUniqueId | NEXユニークID。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::RankingClient::ChangeAttributes | ( | ProtocolCallContext * | pContext, |
qUnsignedInt32 | category, | ||
const RankingChangeAttributesParam & | changeParam, | ||
UniqueId | nexUniqueId = INVALID_UNIQUEID |
||
) |
スコアの属性値を変更します。
指定したカテゴリーのスコアの属性値を変更します。
本関数では自分と同じ プリンシパルID のスコアの属性値のみ変更することができます。
[in,out] | pContext | 呼び出し情報。 |
[in] | category | カテゴリー。 |
[in] | changeParam | 変更の詳細情報。 |
[in] | nexUniqueId | NEXユニークID。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::RankingClient::ChangeAttributes | ( | ProtocolCallContext * | pContext, |
const RankingChangeAttributesParam & | changeParam, | ||
UniqueId | nexUniqueId = INVALID_UNIQUEID |
||
) |
全カテゴリーのスコアの属性値を一括変更します。
本関数では自分と同じ プリンシパルID のスコアの属性値のみ変更することができます。
[in,out] | pContext | 呼び出し情報。 |
[in] | changeParam | 変更の詳細情報。 |
[in] | nexUniqueId | NEXユニークID。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::RankingClient::GetCommonData | ( | ProtocolCallContext * | pContext, |
qVector< qByte > * | pCommonData, | ||
UniqueId | nexUniqueId = INVALID_UNIQUEID |
||
) |
ランキング共通データを取得します。
本関数では自分と同じ プリンシパルID の共通データのみ取得できます。
[in,out] | pContext | 呼び出し情報。 |
[out] | pCommonData | ランキング共通データ。 |
[in] | nexUniqueId | NEXユニークID。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::RankingClient::GetRanking | ( | ProtocolCallContext * | pContext, |
RankingConstants::RankingMode | rankingMode, | ||
qUnsignedInt32 | category, | ||
const RankingOrderParam & | orderParam, | ||
RankingResult * | pResult, | ||
UniqueId | nexUniqueId = INVALID_UNIQUEID , |
||
PrincipalID | principalId = INVALID_PRINCIPALID |
||
) |
ランキングリストを取得します。
指定したカテゴリーのランキングリストを取得します。
rankingMode に RankingConstants::RANKING_MODE_RANGE(範囲ランキング) を指定した場合、 1位から RankingConstants::MAX_RANGE_RANKING_ORDER 位までのランキングの範囲から、 指定したオフセットと長さのスコアのリストを取得します。 オフセットを RankingConstants::MAX_RANGE_RANKING_ORDER - 1 より大きく指定することはできません。 範囲ランキングでは、nexUniqueId と principalId の値は無視されます。
RankingConstants::RANKING_MODE_NEAR (周辺ランキング)を指定した場合、 指定した プリンシパルID と NEXユニークID のユーザーがリストの中央に来るようなランキングを 取得します(指定したユーザーが最上位や最下位周辺にいる場合、中央に来ないことがあります)。 principalId に nn::nex::INVALID_PRINCIPALID を指定した場合、自分のプリンシパルIDが利用されます。 範囲ランキングと異なり、取得可能な順位の制限はありません。 指定したユーザーの順位が RankingConstants::MAX_RANGE_RANKING_ORDER 位より低くても、 周辺ランキングを取得できます(結果が RankingConstants::MAX_ACCURATE_ORDER より低い順位の場合、 取得タイミングによっては順位に微妙な誤差が生じている可能性があります)。 周辺ランキングでは、orderParam の offset の値は無視されます。
RankingConstants::RANKING_MODE_FRIEND_RANGE(フレンドランキング)を指定した場合、 自分のフレンド内でのランキングを取得します。 フレンドが1人もいない場合は、自分のデータのみ取得されます。 自分やフレンドが同じ プリンシパルID 内で複数の NEXユニークID のスコアを登録している場合には、 すべての NEXユニークID のデータがランキングに含まれます。 フレンドランキングでは、nexUniqueId と principalId の値は無視されます。
RankingConstants::RANKING_MODE_FRIEND_NEAR(フレンド周辺ランキング)を指定した場合、 フレンドランキング内での自分の周辺のランキングを取得します。 自分の プリンシパルID 内で複数の NEXユニークID のスコアが登録されている場合には、 引数に指定した NEXユニーク ID のデータを中心とした周辺ランキングになります。 フレンド周辺ランキングでは、principalId と orderParam の offset の値は無視されます。
RankingConstants::RANKING_MODE_USER(個人のランキングデータ取得)を指定した場合、 指定した プリンシパル ID と NEXユニークID のランキングデータを1つ取得します。 orderParam の offset は無視されます。
[in,out] | pContext | 呼び出し情報。 |
[in] | rankingMode | ランキングの取得モード。 |
[in] | category | カテゴリー。 |
[in] | orderParam | 順位計算用パラメータ。 |
[out] | pResult | ランキングの取得結果。 |
[in] | nexUniqueId | NEXユニークID。 |
[in] | principalId | プリンシパルID。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::RankingClient::GetCachedTopXRankings | ( | ProtocolCallContext * | pContext, |
const qVector< qUnsignedInt32 > & | categories, | ||
const qVector< RankingOrderParam > & | orderParams, | ||
qVector< RankingCachedResult > * | pResults | ||
) |
あらかじめ指定された長さ分のキャッシュされた Top ランキングのリストを複数取得します。
指定した複数のカテゴリーのランキングリストを取得します。
最大 5 分間サーバーでキャッシュされるランキングを取得します。サーバーでキャッシュされる代わりに、 他のランキング API と別にガイドラインチェック用にアクセス数がカウントされます。 RankingOrderParam の オフセットと長さは無視され、オフセットは、 0 となり、NMAS で設定されている長さが指定されます。 長さにより、同時に取得可能な種類が異なり、長さとカテゴリー数を掛け合わせて最大 100 まで取得できます。 初期では、長さ 20 の 5 つのカテゴリーのランキングを同時に取得可能です。 カテゴリー と、 RankingOrderParam の組み合わせごとに異なるキャッシュが作られます。ゲーム全体で、最大200キャッシュ程度まで利用可能です。
ユーザーが作ったコミュニティに結びつくランキングなど、ユーザーの利用に応じて数が不定な場合は、数が多くなる可能性があり、 キャッシュ効果が薄いので、利用しないでください。
categories と orderParams は、指定順に組となります。
[in,out] | pContext | 呼び出し情報。 |
[in] | categories | カテゴリー。 |
[in] | orderParams | 順位計算用パラメータ。 |
[out] | pResults | ランキングの取得結果。 要素が見つからない場合には、該当箇所にサイズ0のリストが入ります。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::RankingClient::GetCachedTopXRankings | ( | ProtocolCallContext * | pContext, |
const qVector< qUnsignedInt32 > & | categories, | ||
const RankingOrderParam & | orderParam, | ||
qVector< RankingCachedResult > * | pResults | ||
) |
あらかじめ指定されたサイズ分のキャッシュされた Top ランキングのリストを複数取得します。 orderParam は、ひとつ指定可能です。
指定した複数のカテゴリーのランキングリストを取得します。RankingOrderParam は、異なるカテゴリーで、同じ値が使われます。
最大 5 分間サーバーでキャッシュされるランキングを取得します。サーバーでキャッシュされる代わりに、 他のランキング API と別にガイドラインチェック用にアクセス数がカウントされます。 RankingOrderParam の オフセットと長さは無視され、オフセットは、 0 となり、NMAS で設定されている長さが指定されます。 長さにより、同時に取得可能な種類が異なり、長さとカテゴリー数を掛け合わせて最大 100 まで取得できます。 初期では、長さ 20 の 5 つのカテゴリーのランキングを同時に取得可能です。 カテゴリー と、 RankingOrderParam の組み合わせごとに異なるキャッシュが作られます。ゲーム全体で、最大200キャッシュ程度まで利用可能です。
ユーザーが作ったコミュニティに結びつくランキングなど、ユーザーの利用に応じて数が不定な場合は、数が多くなる可能性があり、 キャッシュ効果が薄いので、利用しないでください。
[in,out] | pContext | 呼び出し情報。 |
[in] | categories | カテゴリー。 |
[in] | orderParam | 順位計算用パラメータ(カテゴリー共通) |
[out] | pResults | ランキングの取得結果。 要素が見つからない場合には、該当箇所にサイズ0のリストが入ります。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::RankingClient::GetCachedTopXRanking | ( | ProtocolCallContext * | pContext, |
qUnsignedInt32 | category, | ||
const RankingOrderParam & | orderParam, | ||
RankingCachedResult * | pResult | ||
) |
あらかじめ指定されたサイズ分のキャッシュされた Top ランキングのリストを取得します。
指定したカテゴリーのランキングリストを取得します。
最大5分間サーバーでキャッシュされるランキングを取得します。サーバーでキャッシュされる代わりに、 他のランキング API と別にガイドラインチェック用にアクセス数がカウントされます。 RankingOrderParam の オフセットと長さは無視され、オフセットは、 0 となり、NMAS で設定されている長さが指定されます。 初期では、長さ 20 のランキングを取得可能です。 カテゴリー と、 RankingOrderParam の組み合わせごとに異なるキャッシュが作られれます。ゲーム全体で、最大 200 キャッシュ程度まで利用可能です。
ユーザーが作ったコミュニティに結びつくランキングなど、ユーザーの利用に応じて数が不定な場合は、数が多くなる可能性があり、 キャッシュ効果が薄いので、利用しないでください。
[in,out] | pContext | 呼び出し情報。 |
[in] | category | カテゴリー。 |
[in] | orderParam | 順位計算用パラメータ。 |
[out] | pResult | ランキングの取得結果。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::RankingClient::GetApproxOrder | ( | ProtocolCallContext * | pContext, |
qUnsignedInt32 | category, | ||
const RankingOrderParam & | orderParam, | ||
qUnsignedInt32 | score, | ||
qUnsignedInt32 * | pOrder, | ||
UniqueId | nexUniqueId = INVALID_UNIQUEID , |
||
PrincipalID | principalId = INVALID_PRINCIPALID |
||
) |
指定したスコアを元にした予測順位を取得します。
指定したカテゴリーの、 orderParam の条件で絞り込まれたランキングに対して、 引数に指定したスコアが仮に登録された場合の順位を推定して返します。
NEXユニークID と プリンシパルID は、同じスコアの人がランキングに存在する場合の 詳細な順位計算を行うために利用されますが、基本的にはデフォルト引数のまま利用してください。
この関数により実際にスコアが登録されることはありません。
※ 結果が RankingConstants::MAX_ACCURATE_ORDER より低い順位の場合、 取得タイミングによっては微妙な誤差が生じている可能性があります。
[in,out] | pContext | 呼び出し情報。 |
[in] | category | カテゴリー。 |
[in] | orderParam | 順位計算用パラメータ。 |
[in] | score | スコア。 |
[out] | pOrder | 推定された順位。 |
[in] | nexUniqueId | NEXユニークID。 |
[in] | principalId | プリンシパルID。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::RankingClient::GetStats | ( | ProtocolCallContext * | pContext, |
qUnsignedInt32 | category, | ||
const RankingOrderParam & | orderParam, | ||
qUnsignedInt32 | flags, | ||
RankingStats * | pStats | ||
) |
スコアの統計を取得します。
指定したカテゴリーのスコアの統計を取得します。 RankingConstants::StatsFlag に対するビット単位の論理和を用いて取得する統計値を指定します。
orderParamの RankingOrderParam::SetFilterGroupIndex, RankingOrderParam::SetFilterGroupNum, RankingOrderParam::SetTimeScope で設定した条件に基づいた統計値が返されます。
[in,out] | pContext | 呼び出し情報。 |
[in] | category | カテゴリー。 |
[in] | orderParam | 順位計算用パラメータ。 |
[in] | flags | 取得する統計値を指定するフラグ。 RankingConstants::StatsFlag に対するビット単位の論理和です。 |
[out] | pStats | 統計結果。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::RankingClient::GetRankingByPIDList | ( | ProtocolCallContext * | pContext, |
qVector< PrincipalID > & | principalIdList, | ||
RankingConstants::RankingMode | rankingMode, | ||
qUnsignedInt32 | category, | ||
const RankingOrderParam & | orderParam, | ||
RankingResult * | pResult, | ||
UniqueId | nexUniqueId = INVALID_UNIQUEID |
||
) |
指定したプリンシパル ID のユーザを母集団とするランキングリストを取得します。
プリンシパル ID で指定されたユーザ内での、指定したカテゴリーのランキングリストを取得します。 自分自身は自動的にランキングリストの中に含まれます。
rankingMode に RankingConstants::RANKING_MODE_RANGE (範囲ランキング) を指定した場合、 指定したプリンシパル ID のユーザ内でのランキングを取得します。 自分や指定したプリンシパル ID 内で複数の NEX ユニーク ID のスコアを登録している場合には、 すべての NEX ユニーク ID のデータがランキングに含まれます。 範囲ランキングでは、nexUniqueId の値は無視されます。
rankingMode に RankingConstants::RANKING_MODE_NEAR (周辺ランキング)を指定した場合、 指定したプリンシパル IDのユーザ内での自分の周辺のランキングを取得します。 自分の プリンシパル ID 内で複数の NEXユニーク ID のスコアが登録されている場合には、 引数に指定した NEX ユニーク ID のデータを中心とした周辺ランキングになります。 周辺ランキングでは、orderParam の offset の値は無視されます。
[in,out] | pContext | 呼び出し情報。 |
[in] | principalIdList | ランキング対象にするプリンシパル ID。 |
[in] | rankingMode | ランキングの取得モード。 |
[in] | category | カテゴリー。 |
[in] | orderParam | 順位計算用パラメータ。 |
[out] | pResult | ランキングの取得結果。 |
[in] | nexUniqueId | 自分の NEX ユニーク ID。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
qBool nn::nex::RankingClient::GetRankingByUniqueIdList | ( | ProtocolCallContext * | pContext, |
qVector< UniqueId > & | nexUniqueIdList, | ||
RankingConstants::RankingMode | rankingMode, | ||
qUnsignedInt32 | category, | ||
const RankingOrderParam & | orderParam, | ||
RankingResult * | pResult, | ||
UniqueId | nexUniqueId = INVALID_UNIQUEID |
||
) |
指定した NEX ユニーク ID のユーザを母集団とするランキングリストを取得します。
NEX ユニーク ID で指定されたユーザ内での、指定したカテゴリーのランキングリストを取得します。 自分自身は自動的にランキングリストの中に含まれます。
rankingMode に RankingConstants::RANKING_MODE_RANGE (範囲ランキング) を指定した場合、 指定した NEX ユニーク ID のユーザ内でのランキングを取得します。
rankingMode に RankingConstants::RANKING_MODE_NEAR (周辺ランキング)を指定した場合、 指定した NEX ユニーク ID のユーザ内での自分の周辺のランキングを取得します。 周辺ランキングでは、orderParam の offset の値は無視されます。
[in,out] | pContext | 呼び出し情報。 |
[in] | nexUniqueIdList | ランキング対象にする NEX ユニーク ID。 |
[in] | rankingMode | ランキングの取得モード。 |
[in] | category | カテゴリー。 |
[in] | orderParam | 順位計算用パラメータ。 |
[out] | pResult | ランキングの取得結果。 |
[in] | nexUniqueId | 自分の NEX ユニーク ID。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
|
inherited |
pCredentials | The default Credentials for this service. |
|
inherited |
Bind() された Credentials オブジェクトを取得します。