1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: boss_NsDataIdList.h 4 5 Copyright (C)2009 Nintendo Co., Ltd. All rights reserved. 6 7 These coded instructions, statements, and computer programs contain 8 proprietary information of Nintendo of America Inc. and/or Nintendo 9 Company Ltd., and are protected by Federal copyright law. They may 10 not be disclosed to third parties or copied or duplicated in any form, 11 in whole or in part, without the prior written consent of Nintendo. 12 13 $Rev: 25917 $ 14 *---------------------------------------------------------------------------*/ 15 16 #ifndef NN_BOSS_BOSS_NSDATA_ID_LIST_H_ 17 #define NN_BOSS_BOSS_NSDATA_ID_LIST_H_ 18 19 #include <nn/boss/boss_Const.h> 20 #include <nn/boss/boss_Result.h> 21 #include <nn/boss/boss_Types.h> 22 23 #ifdef __cplusplus 24 25 namespace nn { 26 namespace boss { 27 28 const u32 INVALID_SERIAL_ID = (0xffffffff); // indexが範囲外のためSERIALID取得ができない。 29 30 /*! 31 @brief NSデータのIDリストを表すクラスです。処理を行うNSデータのリストを取得するためなどに利用します。 32 */ 33 class NsDataIdList 34 { 35 public: 36 /*! 37 @brief コンストラクタです。 38 @param[in] pSerial リストを格納する領域のポインタを指定します。 39 pSerialの領域はGetNsDataIdList()などNsDataIdListクラスを使用するAPI 40 においてNSデータを格納しますので、アプリで領域を確保し続けて下さい。 41 @param[in] size 領域の要素数を指定します。 42 */ 43 explicit NsDataIdList(u32* pSerial, u16 size); 44 45 /*! 46 @brief デストラクタです。 47 */ 48 virtual ~NsDataIdList(void); 49 50 /*! 51 @brief 初期化関数です。(一度使用したインスタンスであっても、本関数を実行することで再度使用可能となります。) 52 */ 53 void Initialize(void); 54 55 56 /*! 57 @brief 一覧内のNSデータID個数を返します。 58 @return 一覧の個数が返ります。<BR> 59 */ 60 u16 GetSize(void); 61 62 /*! 63 @brief 指定した位置のNSデータIDを返します。 64 @param[in] index 一覧内の位置を指定します。 65 @return NSデータIDが返ります。<BR> 66 */ 67 u32 GetNsDataId(u16 index); 68 69 protected: 70 friend class AccessConfig; 71 NsDataIdInfoList m_Nsdata; 72 }; 73 74 75 } // end of namespace boss 76 } // end of namespace nn 77 78 #endif // __cplusplus 79 80 #endif /* NN_BOSS_BOSS_NSDATA_ID_LIST_H_ */ 81