CTR-Pia  5.4.3
Game Communication Engine
 全て クラス ネームスペース 関数 変数 型定義 列挙型 列挙型の値 ページ
session_CreateSessionSetting.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 #include <nn/pia/session/session_Types.h>
19 
20 namespace nn
21 {
22 namespace pia
23 {
24 namespace session
25 {
26 /*!
27  @brief セッションの作成処理に関する設定を管理する基底クラスです。
28  @details アプリケーションが本クラスのインスタンスを作成することはありません。 本クラスを継承したクラスを使用する必要があります。
29 
30 @if CTR_DOC
31  @see local::UdsCreateSessionSetting
32 @endif
33 @if NIN_DOC
34  @see local::LdnCreateSessionSetting
35 @endif
36  @see inet::NexCreateSessionSetting
37  @see lan::LanCreateSessionSetting
38  */
40 {
41 public:
42  /*!
43  @brief デストラクタ。
44  */
45  virtual ~CreateSessionSetting();
46 
47  /*!
48  @brief 作成するセッションの最小参加人数を指定します。
49  @param[in] min 作成するセッションに指定する最小参加人数。
50  */
51  void SetMinParticipantNum(uint16_t min);
52 
53  /*!
54  @cond PRIVATE
55  @brief 指定した最小参加人数を取得します。
56  @return 指定した最小参加人数を返します。
57  */
58  uint16_t GetMinParticipantNum() const;
59  //! @endcond
60 
61  /*!
62  @cond PRIVATE
63  @brief 最小参加人数を指定したかどうかを取得します。
64  @return 最小参加人数を指定したかどうかを返します。
65  */
66  bool IsSetMinParticipantNum() const;
67  //! @endcond
68 
69  /*!
70  @brief 作成するセッションの最大参加人数を指定します。
71  @param[in] max 作成するセッションに指定する最大参加人数。
72  */
73  virtual void SetMaxParticipantNum(uint16_t max);
74 
75  /*!
76  @cond PRIVATE
77  @brief 指定した最大参加人数を取得します。
78  @return 指定した最大参加人数を返します。
79  */
80  uint16_t GetMaxParticipantNum() const;
81  //! @endcond
82 
83  /*!
84  @cond PRIVATE
85  @brief 最大参加人数を指定したかどうかを取得します。
86  @return 最大参加人数を指定したかどうかを返します。
87  */
88  bool IsSetMaxParticipantNum() const;
89  //! @endcond
90 
91  /*!
92  @brief アプリケーション定義のデータを指定します。
93  @param[in] pData 構築するセッションに指定するアプリケーション定義データのバッファ。
94  @param[in] size 構築するセッションに指定するアプリケーション定義データのサイズ。
95  @return アプリケーション定義データの設定に成功すれば、成功の Result が返されます。
96 
97  @retval nn::pia::ResultInvalidArgument バッファが NULL ポインタ、または指定したデータサイズが大きすぎます。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
98  */
99  virtual Result SetApplicationData(const void* pData, uint32_t size) = 0;
100 
101  /*!
102  @cond PRIVATE
103  @brief 指定したアプリケーション定義のデータを取得します。
104  @param[in] pDataBuf 指定したアプリケーション定義データのコピー用バッファ。
105  @param[in] dataBufSize コピー用バッファのサイズ。
106  @return アプリケーション定義データの取得に成功すれば、成功の Result が返されます。
107 
108  @retval nn::pia::ResultInvalidArgument バッファが NULL ポインタです。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
109  @retval nn::pia::ResultInvalidState アプリケーション定義データが設定されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
110  @retval nn::pia::ResultBufferShortage 設定されているアプリケーション定義データのサイズがバッファのサイズよりも大きいため、コピーできません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
111  */
112  virtual Result GetApplicationData(void* pDataBuf, uint32_t dataBufSize) const = 0;
113  //! @endcond
114 
115  /*!
116  @cond PRIVATE
117  @brief 指定したアプリケーション定義のデータサイズを取得します。
118  @return アプリケーション定義データサイズが返されます。
119  */
120  virtual uint32_t GetApplicationDataSize() const = 0;
121  //! @endcond
122 
123  /*!
124  @cond PRIVATE
125  @brief アプリケーション定義を指定したかどうかを取得します。
126  @return アプリケーション定義を指定したかどうかが返されます。
127  */
128  virtual bool IsSetApplicationData() const = 0;
129  //! @endcond
130 
131  /*!
132  @brief 設定をリセットします。
133  */
134  virtual void Reset();
135 
136  /*!
137  @cond PRIVATE
138  @brief デバッグに有用な情報をプリント。
139  */
140  virtual void Trace(uint64_t flag) const;
141  //! @endcond
142 
143 protected:
144  // デフォルトコンストラクタ
146 
147  void Copy(const CreateSessionSetting& rhs);
148 
149  uint16_t m_MinParticipantNum;
150  bool m_IsMinParticipantNumSet;
151  uint16_t m_MaxParticipantNum;
152  bool m_IsMaxParticipantNumSet;
153 
154 private:
155  NN_PIA_DISALLOW_COPY(CreateSessionSetting);
156 };
157 }
158 }
159 } // end of namespace session