CTR-Pia  5.4.3
Game Communication Engine
 全て クラス ネームスペース 関数 変数 型定義 列挙型 列挙型の値 ページ
inet_NexCommunitySearchCriteriaCommunityId.h
1 /*--------------------------------------------------------------------------------*
2  Copyright (C)Nintendo All rights reserved.
3 
4  These coded instructions, statements, and computer programs contain proprietary
5  information of Nintendo and/or its licensed developers and are protected by
6  national and international copyright laws. They may not be disclosed to third
7  parties or copied or duplicated in any form, in whole or in part, without the
8  prior written consent of Nintendo.
9 
10  The content herein is highly confidential and should be handled accordingly.
11  *--------------------------------------------------------------------------------*/
12 
13 
14 #pragma once
15 
16 #include <nn/pia/inet/inet_Definitions.h>
17 
18 #if NN_PIA_ENABLE_NEX
19 
20 #include <nn/pia/inet/inet_NexSessionTypes.h>
21 #include <nn/pia/session/session_CommunitySearchCriteria.h>
22 
23 namespace nn
24 {
25 namespace pia
26 {
27 namespace inet
28 {
29 
30 /*!
31  @brief コミュニティ ID をコミュニティの検索条件に指定するクラスです。
32  @details 検索結果として得られるコミュニティの最大数は SetResultRange で指定する値になりますが、
33  nn::pia::session::Session::CreateInstance 呼び出し時に指定する
34  nn::pia::session::Session::Setting 構造体の browsedCommunityInfoListNum 以下の値を
35  指定する必要があります。
36 
37  @see nn::pia::session::CommunitySearchCriteria
38  */
40 {
41 public:
42  /*!
43  @brief デフォルトコンストラクタ。
44  */
46 
47  /*!
48  @brief コンストラクタ。
49  @param[in] communityIdArray 指定するコミュニティIDのリスト。
50  @param[in] communityIdArraySize 指定するコミュニティIDの個数。
51  session::Session::Setting 構造体の browsedCommunityInfoListNum 以下、かつCommunityInfoListSizeMax 以下の値である必要があります。
52  */
53  NexCommunitySearchCriteriaCommunityId(uint32_t* communityIdArray, uint32_t communityIdArraySize);
54 
55  /*!
56  @brief デストラクタ。
57  */
59 
60  /*!
61  @brief コピーコンストラクタ。
62  @param[in] rhs コピー元のオブジェクトです。
63  */
65 
66  /*!
67  @brief 検索条件として指定するコミュニティ ID のリストをセットします。
68  @param[in] communityIdArray 指定するコミュニティIDのリスト。
69  @param[in] communityIdArraySize 指定するコミュニティIDの個数。
70  session::Session::Setting 構造体の browsedCommunityInfoListNum 以下、かつCommunityInfoListSizeMax 以下の値である必要があります。
71 
72  @return コミュニティ ID のリストの指定に成功すれば、成功の Result が返されます。
73  @retval nn::pia::ResultInvalidArgument コミュニティ ID のリストが NULL、または ID の個数が多すぎます。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
74  */
75  Result SetCommunityIdList(uint32_t* communityIdArray, uint32_t communityIdArraySize);
76 
77  /*!
78  @brief 検索結果の取得範囲を指定します。
79  @details offset に 0xFFFFFFFF を指定すると、検索結果をランダムに並び替えた上で
80  指定されたエントリー数を取得するように振る舞います。
81  @param[in] offset 検索条件にマッチしたエントリーリストから検索結果として取得するエントリー群の開始位置。
82  @param[in] size 検索条件にマッチしたエントリーリストから検索結果として取得するエントリー数。
83  session::Session::Setting 構造体の browsedCommunityInfoListNum 以下、かつSearchCriteriaResultSizeMax 以下の値である必要があります。
84 
85  @return 処理に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
86  @retval nn::pia::ResultInvalidArgument 引数の値が範囲外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
87  */
88  virtual Result SetResultRange(uint32_t offset, uint32_t size);
89 
90  /*!
91  @brief 代入演算子です。
92  @param[in] rhs 代入するオブジェクトです。
93  @return 本オブジェクトへの参照。
94  */
96 
97  /*!
98  @brief 設定をコピーします。
99  @param[in] rhs コピー元のオブジェクトです。
100  */
102 
103  /*!
104  @cond PRIVATE
105  @brief 指定したコミュニティ ID のリストを取得します。
106  @return コミュニティ ID のリスト。
107  */
108  const uint32_t* GetCommunityIdList() const;
109  //! @endcond
110 
111  /*!
112  @cond PRIVATE
113  @brief 指定したコミュニティ ID のリストのサイズを取得します。
114  @return コミュニティ ID のリストのサイズ。
115  */
116  uint32_t GetCommunityIdListSize() const;
117  //! @endcond
118 
119  /*!
120  @brief 検索条件をリセットします。
121  */
122  virtual void Reset();
123 
124 private:
125  uint32_t m_CommunityIdArray[CommunityInfoListSizeMax];
126  uint32_t m_CommunityIdArraySize;
127 };
128 }
129 }
130 } // end of namespace nn::pia::inet
131 
132 #endif