CTR-Pia  5.4.3
Game Communication Engine
 全て クラス ネームスペース 関数 変数 型定義 列挙型 列挙型の値 ページ
session_JoinSessionSetting.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 class ISessionInfo;
28 /*!
29  @brief セッション参加処理に関する設定を管理する基底クラスです。
30  @details アプリケーションが本クラスのインスタンスを作成することはありません。 本クラスを継承したクラスを使用する必要があります。
31 
32 @if CTR_DOC
33  @see nn::pia::local::UdsJoinSessionSetting
34 @endif
35 @if NIN_DOC
36  @see nn::pia::local::LdnJoinSessionSetting
37 @endif
38  @see nn::pia::inet::NexJoinSessionSetting
39  @see nn::pia::lan::LanJoinSessionSetting
40  */
42 {
43 public:
44  /*!
45  @brief デストラクタ
46  */
47  virtual ~JoinSessionSetting();
48 
49  /*!
50  @cond PRIVATE
51  @brief 参加先のセッションの情報を取得します。
52 
53  @return 参加先のセッションの情報を返します。
54  */
55  virtual const ISessionInfo* GetSessionInfoPtr() const;
56  //! @endcond
57 
58  /*!
59  @brief 参加先のセッションの ID を設定します。
60  */
61  virtual void SetSessionId(uint32_t id);
62 
63  /*!
64  @cond PRIVATE
65  @brief 参加先のセッションの ID を取得します。
66  @return 参加先のセッションの ID を返します。
67  */
68  virtual uint32_t GetSessionId() const;
69  //! @endcond
70 
71  /*!
72  @cond PRIVATE
73  @brief 参加先のセッションの最大参加者数を設定します。
74  */
75  virtual void SetMaxParticipantNum(uint16_t num);
76  //! @endcond
77 
78  /*!
79  @cond PRIVATE
80  @brief 参加先のセッションの最大参加者数を取得します。
81  @return 参加先のセッションの最大参加者数を返します。
82  */
83  virtual uint16_t GetMaxParticipantNum() const;
84  //! @endcond
85 
86  /*!
87  @brief 参加先のセッションの情報を指定します。
88  @details @ref Session::BrowseSessionAsync で検索したセッションの情報を指定します。
89 
90  @param[in] pSessionInfo 参加先のセッションの情報。
91 
92  @see Session::JoinSessionAsync, Session::BrowseSessionAsync
93  */
94  virtual void SetSessionInfoPtr(const ISessionInfo* pSessionInfo);
95 
96  /*!
97  @brief 設定をリセットします。
98  */
99  virtual void Reset();
100 
101  /*!
102  @cond PRIVATE
103  @brief デバッグに有用な情報をプリント。
104  */
105  void Trace(uint64_t flag) const;
106  //! @endcond
107 
108 protected:
109  const ISessionInfo* m_pSessionInfo;
110  uint32_t m_SessionId;
111  uint16_t m_MaxParticipantNum;
112 
113  // コンストラクタ。
115 
116  void Copy(const JoinSessionSetting& rhs);
117 
118 private:
119  NN_PIA_DISALLOW_COPY(JoinSessionSetting);
120 };
121 }
122 }
123 } // end of namespace nn::pia::session