/*---------------------------------------------------------------------------* Project: Horizon File: boss_NsDataIdList.h Copyright (C)2009 Nintendo Co., Ltd. All rights reserved. These coded instructions, statements, and computer programs contain proprietary information of Nintendo of America Inc. and/or Nintendo Company Ltd., and are protected by Federal copyright law. They may not be disclosed to third parties or copied or duplicated in any form, in whole or in part, without the prior written consent of Nintendo. $Rev: 27041 $ *---------------------------------------------------------------------------*/ #ifndef NN_BOSS_BOSS_NSDATA_ID_LIST_H_ #define NN_BOSS_BOSS_NSDATA_ID_LIST_H_ #include #include #include #ifdef __cplusplus namespace nn { namespace boss { const u32 INVALID_SERIAL_ID = (0xffffffff); // indexが範囲外のためSERIALID取得ができない。 /*! @brief NSデータのIDリストを表すクラスです。処理を行うNSデータのリストを取得するためなどに利用します。 */ class NsDataIdList { public: /*! @brief コンストラクタです。 @param[in] pSerial リストを格納する領域のポインタを指定します。 pSerialの領域はGetNsDataIdList()などNsDataIdListクラスを使用するAPI においてNSデータを格納しますので、アプリで領域を確保し続けて下さい。 @param[in] size 領域の要素数を指定します。 */ explicit NsDataIdList(u32* pSerial, u16 size); /*! @brief デストラクタです。 */ virtual ~NsDataIdList(void); /*! @brief 初期化関数です。(一度使用したインスタンスであっても、本関数を実行することで再度使用可能となります。) */ void Initialize(void); /*! @brief 一覧内のNSデータID個数を返します。 @return 一覧の個数が返ります。
*/ u16 GetSize(void); /*! @brief 指定した位置のNSデータIDを返します。 @param[in] index 一覧内の位置を指定します。 @return NSデータIDが返ります。
*/ u32 GetNsDataId(u16 index); protected: friend class AccessConfig; NsDataIdInfoList m_Nsdata; }; } // end of namespace boss } // end of namespace nn #endif // __cplusplus #endif /* NN_BOSS_BOSS_NSDATA_ID_LIST_H_ */