CTR-Pia  5.4.3
Game Communication Engine
 全て クラス ネームスペース 関数 変数 型定義 列挙型 列挙型の値 ページ
local_LdnUpdateSessionSetting.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/local/local_Definitions.h>
17 
18 #if NN_PIA_LOCAL_ENABLE_LDN
19 
20 #include <nn/pia/local/local_LocalUpdateSessionSetting.h>
21 #include <nn/pia/local/local_LdnNetworkSetting.h>
22 
23 namespace nn
24 {
25 namespace pia
26 {
27 namespace local
28 {
29 
30 /*!
31  @brief セッションの条件更新処理に関する設定を管理するクラスです。
32  */
33 
34 class LdnUpdateSessionSetting : public LocalUpdateSessionSetting
35 {
36 public:
37  /*!
38  @brief デフォルトコンストラクタ。
39  */
40  LdnUpdateSessionSetting();
41 
42  /*!
43  @brief デストラクタ
44  */
45  virtual ~LdnUpdateSessionSetting();
46 
47  /*!
48  @brief アプリケーション定義のデータを指定します。
49  @details inet::ApplicationDataBufferSizeMax を超えないサイズを指定する必要があります。
50  更新したアプリケーションデータはホストマイグレーション後には引き継がれず、セッション参加時の値になります。
51  @param[in] pData セッションに指定するアプリケーション定義データのバッファ。
52  @param[in] size セッションに指定するアプリケーション定義データのサイズ。
53  @return アプリケーション定義データの設定に成功すれば、成功の Result が返されます。
54 
55  @retval nn::pia::ResultInvalidArgument バッファが NULL ポインタ、または指定したデータサイズが大きすぎます。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
56  */
57  virtual Result SetApplicationData(const void* pData, uint32_t size);
58 
59  /*!
60  @cond PRIVATE
61  @brief 指定したアプリケーション定義のデータを取得します。
62  @param[in] pDataBuf 指定したアプリケーション定義データのコピー用バッファ。
63  @param[in] dataBufSize コピー用バッファのサイズ。
64  @return アプリケーション定義データの取得に成功すれば、成功の Result が返されます。
65 
66  @retval nn::pia::ResultInvalidArgument バッファが NULL ポインタです。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
67  @retval nn::pia::ResultInvalidState アプリケーション定義データが設定されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
68  @retval nn::pia::ResultBufferShortage 設定されているアプリケーション定義データのサイズがバッファのサイズよりも大きいため、コピーできません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
69  */
70  virtual Result GetApplicationData(void* pDataBuf, uint32_t dataBufSize) const;
71  //! @endcond
72 
73  /*!
74  @cond PRIVATE
75  @brief アプリケーション定義データのバッファへのポインタを取得します。
76  @return アプリケーション定義データのバッファへのポインタが返されます。
77  */
78  virtual const uint8_t* GetApplicationDataPtr() const;
79  //! @endcond
80 
81  /*!
82  @cond PRIVATE
83  @brief アプリケーション定義データのバッファサイズを取得します。
84  @return アプリケーション定義データのバッファサイズが返されます。
85  */
86  virtual uint32_t GetApplicationDataSizeMax() const;
87  //! @endcond
88 
89  /*!
90  @brief 代入演算子です。
91  @param[in] rhs 代入するオブジェクトです。
92  @return 本オブジェクトへの参照。
93  */
94  LdnUpdateSessionSetting& operator=(const LdnUpdateSessionSetting& rhs);
95 
96  /*!
97  @brief 設定をコピーします。
98  @param[in] rhs コピー元のオブジェクトです。
99  */
100  void Copy(const LdnUpdateSessionSetting& rhs);
101 
102  /*!
103  @brief コピーコンストラクタ。
104  @param[in] rhs コピー元のオブジェクトです。
105  */
106  LdnUpdateSessionSetting(const LdnUpdateSessionSetting& rhs);
107 
108  /*!
109  @brief 設定をリセットします。
110  */
111  virtual void Reset();
112 
113 protected:
114  uint8_t m_ApplicationDataBuffer[LdnBeaconApplicationDataSizeMax];
115 };
116 }
117 }
118 } // end of namespace local
119 
120 #endif