CTR-Pia  5.4.3
Game Communication Engine
 全て クラス ネームスペース 関数 変数 型定義 列挙型 列挙型の値 ページ
session_CommunitySearchCriteria.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/session/session_Definitions.h>
17 
18 namespace nn
19 {
20 namespace pia
21 {
22 namespace session
23 {
24 /*!
25  @brief コミュニティを検索する際に使用する検索条件の基底クラスです。
26  @details アプリケーションが本クラスのインスタンスを作成することはありません。 本クラスを継承したクラスを使用する必要があります。
27  @see nn::pia::inet::NexCommunitySearchCriteriaCommunityId
28  @see nn::pia::inet::NexCommunitySearchCriteriaParticipant
29  @see nn::pia::inet::NexCommunitySearchCriteriaOwner
30  @see nn::pia::inet::NexCommunitySearchCriteriaOfficial
31  */
33 {
34 public:
35  /*!
36  @cond PRIVATE
37  @brief 検索条件の種類。
38  */
39  enum SearchCriteriaKey
40  {
41  SearchCriteriaKey_None = 0,
42  SearchCriteriaKey_CommunityId, //!< コミュニティ ID を検索条件に指定します。
43  SearchCriteriaKey_ParticipantPrincipalId, //!< コミュニティ参加者のプリンシパル ID を検索条件に指定します。
44  SearchCriteriaKey_OwnerPrincipalId, //!< コミュニティのオーナーの プリンシパル ID を検索条件に指定します。
45  SearchCriteriaKey_Official //!< 公式コミュニティを検索条件に指定します。
46  };
47  //! @endcond
48 
49  /*!
50  @brief デストラクタ
51  */
52  virtual ~CommunitySearchCriteria();
53 
54  /*!
55  @brief 検索結果の取得範囲を指定します。
56  @details offset に 0xFFFFFFFF を指定すると、検索結果をランダムに並び替えた上で
57  指定されたエントリー数を取得するように振る舞います。
58  @param[in] offset 検索条件にマッチしたエントリーリストから検索結果として取得するエントリー群の開始位置。
59  @param[in] size 検索条件にマッチしたエントリーリストから検索結果として取得するエントリー数。
60 
61  @return 処理に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
62  @retval nn::pia::ResultInvalidArgument 引数の値が範囲外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
63  */
64  virtual Result SetResultRange(uint32_t offset, uint32_t size);
65 
66  /*!
67  @cond PRIVATE
68  @brief 検索条件の種類を取得します。
69  */
70  SearchCriteriaKey GetKeyType() const;
71  //! @endcond
72 
73  /*!
74  @cond PRIVATE
75  @brief 検索条件にマッチしたエントリーリストから検索結果として取得するエントリー群の開始位置を取得します。
76  */
77  uint32_t GetResultRangeOffset() const;
78  //! @endcond
79 
80  /*!
81  @cond PRIVATE
82  @brief 検索条件にマッチしたエントリーリストから検索結果として取得するエントリー数を取得します。
83  */
84  uint32_t GetResultRangeSize() const;
85  //! @endcond
86 
87  /*!
88  @brief 検索条件をリセットします。
89  */
90  virtual void Reset();
91 
92 protected:
93  // デフォルトコンストラクタ。
95 
96  // コンストラクタ
97  CommunitySearchCriteria(SearchCriteriaKey key);
98 
99  void Copy(const CommunitySearchCriteria& rhs);
100 
101  // 検索キーのタイプ
102  SearchCriteriaKey m_KeyType;
103  // 検索範囲
104  uint32_t m_ResultOffset;
105  uint32_t m_ResultSize;
106 
107 private:
108  NN_PIA_DISALLOW_COPY(CommunitySearchCriteria);
109 };
110 }
111 }
112 } // end of namespace nn::pia::session