1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     cfg_Result.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: 23684 $
14  *---------------------------------------------------------------------------*/
15 /*!
16     @file
17 
18     :include nn/cfg.h
19  */
20 
21 #ifndef NN_CFG_CFG_RESULT_H_
22 #define NN_CFG_CFG_RESULT_H_
23 
24 #ifdef __cplusplus
25 
26 #include <nn/Result.h>
27 
28 namespace nn { namespace cfg {
29 
30     /*
31         @brief Result コードの詳細
32     */
33     enum Description
34     {
35         DESCRIPTION_NOT_VERIFIED                        = 1,        //!< 署名検証が行われていない。
36         DESCRIPTION_VERIFICATION_FAILED                 = 2,        //!< 署名検証に失敗した。
37         DESCRIPTION_INVALID_NTR_SETTING                 = 3,        //!< 有効な NTR 設定がない。
38         DESCRIPTION_ALREADY_LATEST_VERSION              = 4,        //!< すでに最新のバージョンになっている。
39         DESCRIPTION_OBSOLETE_RESULT                     = 1023      //!< Obsolete できるだけ早く他のエラーに修正すべき。
40     };
41 
42     NN_DEFINE_RESULT_FUNC_LM(MakePermanentResult, Result::LEVEL_PERMANENT, Result::MODULE_NN_CFG);
43 
44 
45     NN_DEFINE_RESULT_CONST(
46         MakeResultOutOfMemory,
47         Result::LEVEL_STATUS, Result::SUMMARY_OUT_OF_RESOURCE, Result::MODULE_NN_CFG, nn::Result::DESCRIPTION_OUT_OF_MEMORY
48     );
49 
50 
51     NN_DEFINE_RESULT_CONST_LM(
52         MakeResultNotInitialized,
53         MakePermanentResult, Result::SUMMARY_INVALID_STATE, nn::Result::DESCRIPTION_NOT_INITIALIZED
54     );
55 
56     NN_DEFINE_RESULT_CONST_LM(
57         MakeResultNotVerified,
58         MakePermanentResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_NOT_VERIFIED
59     );
60 
61     NN_DEFINE_RESULT_CONST_LM(
62         MakeResultVerificationFailed,
63         MakePermanentResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_VERIFICATION_FAILED
64     );
65 
66     NN_DEFINE_RESULT_CONST_LM(
67         MakeResultInvalidSize,
68         MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, nn::Result::DESCRIPTION_INVALID_SIZE
69     );
70 
71     NN_DEFINE_RESULT_CONST_LM(
72         MakeResultAlreadyExists,
73         MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, nn::Result::DESCRIPTION_ALREADY_EXISTS
74     );
75 
76     NN_DEFINE_RESULT_CONST_LM(
77         MakeResultNotFound,
78         MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, nn::Result::DESCRIPTION_NOT_FOUND
79     );
80 
81     NN_DEFINE_RESULT_CONST_LM(
82         MakeResultNotAuthorized,
83         MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, nn::Result::DESCRIPTION_NOT_AUTHORIZED
84     );
85 
86     NN_DEFINE_RESULT_CONST_LM(
87         MakeResultInvalidNtrSetting,
88         MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_INVALID_NTR_SETTING
89     );
90 
91     NN_DEFINE_RESULT_CONST_LM(
92         MakeResultAlreadyInitialized,
93         MakePermanentResult, Result::SUMMARY_INVALID_STATE, nn::Result::DESCRIPTION_ALREADY_INITIALIZED
94     );
95 
96     NN_DEFINE_RESULT_CONST_LM(
97         MakeResultInvalidHandle,
98         MakePermanentResult, Result::SUMMARY_INVALID_STATE, nn::Result::DESCRIPTION_INVALID_HANDLE
99     );
100 
101     NN_DEFINE_RESULT_CONST(
102         MakeResultAlreadyLatestVersion,
103         Result::LEVEL_INFO, Result::SUMMARY_SUCCESS, Result::MODULE_NN_CFG, DESCRIPTION_ALREADY_LATEST_VERSION
104     );
105 }}
106 
107 #endif // __cplusplus
108 
109 #endif /* NN_CFG_CFG_RESULT_H_ */
110