1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     cfg_Result.h
4 
5   Copyright (C)2009-2012 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: 46347 $
14  *---------------------------------------------------------------------------*/
15 
16 #ifndef NN_CFG_CFG_RESULT_H_
17 #define NN_CFG_CFG_RESULT_H_
18 
19 #ifdef __cplusplus
20 
21 #include <nn/Result.h>
22 
23 namespace nn { namespace cfg {
24 
25     /*
26 
27     */
28     enum Description
29     {
30         DESCRIPTION_NOT_VERIFIED                        = 1,        //
31         DESCRIPTION_VERIFICATION_FAILED                 = 2,        //
32         DESCRIPTION_INVALID_NTR_SETTING                 = 3,        //
33         DESCRIPTION_ALREADY_LATEST_VERSION              = 4,        //
34         DESCRIPTION_MOUNT_CONTENT_FAILED                = 5,        //
35         DESCRIPTION_OBSOLETE_RESULT                     = 1023      //
36     };
37 
38     NN_DEFINE_RESULT_FUNC_LM(MakePermanentResult, Result::LEVEL_PERMANENT, Result::MODULE_NN_CFG);
39 
40 
41     NN_DEFINE_RESULT_CONST(
42         MakeResultOutOfMemory,
43         Result::LEVEL_STATUS, Result::SUMMARY_OUT_OF_RESOURCE, Result::MODULE_NN_CFG, nn::Result::DESCRIPTION_OUT_OF_MEMORY
44     );
45 
46     NN_DEFINE_RESULT_CONST(
47         MakeResultOutOfRange,
48         Result::LEVEL_USAGE, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_CFG, nn::Result::DESCRIPTION_OUT_OF_RANGE
49     );
50 
51 
52     NN_DEFINE_RESULT_CONST_LM(
53         MakeResultNotInitialized,
54         MakePermanentResult, Result::SUMMARY_INVALID_STATE, nn::Result::DESCRIPTION_NOT_INITIALIZED
55     );
56 
57     NN_DEFINE_RESULT_CONST_LM(
58         MakeResultNotVerified,
59         MakePermanentResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_NOT_VERIFIED
60     );
61 
62     NN_DEFINE_RESULT_CONST_LM(
63         MakeResultVerificationFailed,
64         MakePermanentResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_VERIFICATION_FAILED
65     );
66 
67     NN_DEFINE_RESULT_CONST_LM(
68         MakeResultInvalidSize,
69         MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, nn::Result::DESCRIPTION_INVALID_SIZE
70     );
71 
72     NN_DEFINE_RESULT_CONST_LM(
73         MakeResultAlreadyExists,
74         MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, nn::Result::DESCRIPTION_ALREADY_EXISTS
75     );
76 
77     NN_DEFINE_RESULT_CONST_LM(
78         MakeResultNotFound,
79         MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, nn::Result::DESCRIPTION_NOT_FOUND
80     );
81 
82     NN_DEFINE_RESULT_CONST_LM(
83         MakeResultNotAuthorized,
84         MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, nn::Result::DESCRIPTION_NOT_AUTHORIZED
85     );
86 
87     NN_DEFINE_RESULT_CONST_LM(
88         MakeResultInvalidNtrSetting,
89         MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_INVALID_NTR_SETTING
90     );
91 
92     NN_DEFINE_RESULT_CONST_LM(
93         MakeResultAlreadyInitialized,
94         MakePermanentResult, Result::SUMMARY_INVALID_STATE, nn::Result::DESCRIPTION_ALREADY_INITIALIZED
95     );
96 
97     NN_DEFINE_RESULT_CONST_LM(
98         MakeResultInvalidHandle,
99         MakePermanentResult, Result::SUMMARY_INVALID_STATE, nn::Result::DESCRIPTION_INVALID_HANDLE
100     );
101 
102     NN_DEFINE_RESULT_CONST(
103         MakeResultAlreadyLatestVersion,
104         Result::LEVEL_INFO, Result::SUMMARY_SUCCESS, Result::MODULE_NN_CFG, DESCRIPTION_ALREADY_LATEST_VERSION
105     );
106 
107     NN_DEFINE_RESULT_CONST_LM(
108         MakeResultCancelRequested,
109         MakePermanentResult, Result::SUMMARY_CANCELLED, nn::Result::DESCRIPTION_CANCEL_REQUESTED
110     );
111 
112     NN_DEFINE_RESULT_CONST_LM(
113         MakeResultMountContentFailed,
114         MakePermanentResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_MOUNT_CONTENT_FAILED
115     );
116 
117     namespace CTR {
118 
119         /* Please see man pages for details
120 
121 
122 
123         */
124         typedef MakeResultMountContentFailed    ResultOutOfMemory;
125 
126         /* Please see man pages for details
127 
128 
129 
130         */
131         typedef MakeResultNotFound              ResultNotFound;
132 
133         /* Please see man pages for details
134 
135 
136 
137         */
138         typedef MakeResultMountContentFailed    ResultMountContentFailed;
139 
140     }
141 }}
142 
143 #endif // __cplusplus
144 
145 #endif /* NN_CFG_CFG_RESULT_H_ */
146