1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     boss_TaskError.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: 26265 $
14  *---------------------------------------------------------------------------*/
15 
16 #ifndef NN_BOSS_BOSS_TASK_ERROR_H_
17 #define NN_BOSS_BOSS_TASK_ERROR_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 
29 /*!
30   @brief        タスクのエラーを表すクラスです。タスクのエラー情報を取得する際に利用します。
31 */
32 class TaskError
33 {
34 public:
35 /*!
36   @brief        コンストラクタです。
37 */
38     explicit TaskError(void);
39 
40 /*!
41   @brief        デストラクタです。
42 */
43     virtual ~TaskError(void);
44 
45 /*!
46   @brief        クラス内のプロパティの値を取得します。
47                 下記のプロパティを使用できます。\n
48         識別子                  型 \n
49         TASK_ERROR_RESULT_CODE  TaskResultCode                  \n
50         TASK_COMM_ERROR_CODE    u32                             \n
51         TASK_ERROR_MESSAGE      char message[MAX_ERROR_MESSAGE] \n
52   @param[in]    type    プロパティの識別子を指定します。
53   @param[out]   pValue  値を指定します。
54   @param[in]    size    値のサイズを指定します。
55   @return       処理の結果が返ります。<BR>
56   @retval       Description== @ref ER_INVALID_PROPERTYVALUE 「プロパティ値のポインタがNULLです。」を表すエラー
57   @retval       Description== @ref ER_INVALID_PROPERTYTYPE  「プロパティタイプがサポート外です。」を表すエラー
58 */
59     nn::Result GetProperty(PropertyType type, void* pValue, size_t size);
60 
61 protected:
62     friend class AccessConfig;
63     TaskErrorInfo       m_Error;
64 };
65 
66 } // end of namespace boss
67 } // end of namespace nn
68 
69 #endif // __cplusplus
70 
71 #endif /* NN_BOSS_BOSS_TASK_ERROR_H_ */
72