1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     ptm_Result.h
4 
5   Copyright (C)2010 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: 34104 $
14  *---------------------------------------------------------------------------*/
15 
16 #ifndef NN_PTM_CTR_PTM_RESULT_H_
17 #define NN_PTM_CTR_PTM_RESULT_H_
18 
19 #ifdef __cplusplus
20 
21 #include <nn/Result.h>
22 
23 namespace nn {
24 namespace ptm {
25 
26 /*
27 
28 */
29 enum Description
30 {
31     DESCRIPTION_INVALID_SYSTEMTIME = 1,
32     DESCRIPTION_NOALARM,
33     DESCRIPTION_OVERWRITEALARM,
34     DESCRIPTION_FILEERROR,
35     DESCRIPTION_NOT_SLEEPING,
36     DESCRIPTION_INVALID_TRIGGER,
37     DESCRIPTION_MCU_FATAL_ERROR
38 };
39 
40 /* Please see man pages for details
41 
42 
43 */
44 
45 NN_DEFINE_RESULT_CONST(
46     ResultNotImplemented,
47     Result::LEVEL_FATAL, Result::SUMMARY_NOT_SUPPORTED, Result::MODULE_NN_PTM, nn::Result::DESCRIPTION_NOT_IMPLEMENTED
48 );
49 
50 NN_DEFINE_RESULT_CONST(
51     ResultInvalidSystemTime,
52     Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_PTM, DESCRIPTION_INVALID_SYSTEMTIME
53 );
54 
55 /* Please see man pages for details
56 
57 
58 */
59 NN_DEFINE_RESULT_CONST(
60     ResultOverWriteAlarm,
61     Result::LEVEL_SUCCESS, Result::SUMMARY_SUCCESS, Result::MODULE_NN_PTM, DESCRIPTION_OVERWRITEALARM
62 );
63 
64 /* Please see man pages for details
65 
66 
67 */
68 NN_DEFINE_RESULT_CONST(
69     ResultNoAlarm,
70     Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_PTM, DESCRIPTION_NOALARM
71 );
72 
73 NN_DEFINE_RESULT_CONST(
74     ResultAlreadyRegistered,
75     Result::LEVEL_PERMANENT, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_PTM, Result::DESCRIPTION_ALREADY_INITIALIZED
76 );
77 
78 /* Please see man pages for details
79 
80 
81 */
82 NN_DEFINE_RESULT_CONST(
83     ResultNotRegistered,
84     Result::LEVEL_PERMANENT, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_PTM, Result::DESCRIPTION_NOT_INITIALIZED
85 );
86 
87 NN_DEFINE_RESULT_CONST(
88     ResultFileError,
89     Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_PTM, DESCRIPTION_FILEERROR
90 );
91 
92 NN_DEFINE_RESULT_CONST(
93     ResultWrongArgument,
94     Result::LEVEL_USAGE, Result::SUMMARY_WRONG_ARGUMENT, Result::MODULE_NN_PTM, Result::DESCRIPTION_NO_DATA
95 );
96 
97 NN_DEFINE_RESULT_CONST(
98     ResultNotSleeping,
99     Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_PTM, DESCRIPTION_NOT_SLEEPING
100 );
101 
102 NN_DEFINE_RESULT_CONST(
103     ResultInvalidTrigger,
104     Result::LEVEL_USAGE, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_PTM, DESCRIPTION_INVALID_TRIGGER
105 );
106 
107 /* Please see man pages for details
108 
109 
110 */
111 NN_DEFINE_RESULT_CONST(
112     ResultInvalidAlarm,
113     Result::LEVEL_USAGE, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_PTM, Result::DESCRIPTION_OUT_OF_RANGE
114 );
115 
116 NN_DEFINE_RESULT_CONST(
117     ResultOutOfRange,
118     Result::LEVEL_USAGE, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_PTM, Result::DESCRIPTION_OUT_OF_RANGE
119 );
120 
121 NN_DEFINE_RESULT_CONST(
122     ResultInvalidSize,
123     Result::LEVEL_USAGE, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_PTM, Result::DESCRIPTION_INVALID_SIZE
124 );
125 
126 // For internal use
127 NN_DEFINE_RESULT_CONST(
128     ResultMcuFatalError,
129     Result::LEVEL_FATAL, Result::SUMMARY_INTERNAL, Result::MODULE_NN_PTM, DESCRIPTION_MCU_FATAL_ERROR
130 );
131 
132 // For internal use
133 NN_DEFINE_RESULT_CONST(
134     ResultNotWrite,
135     Result::LEVEL_SUCCESS, Result::SUMMARY_NOTHING_HAPPENED, Result::MODULE_NN_PTM, Result::DESCRIPTION_SUCCESS
136 );
137 
138 // For internal use
139 NN_DEFINE_RESULT_CONST(
140     ResultNotFound,
141     Result::LEVEL_PERMANENT, Result::SUMMARY_NOT_FOUND, Result::MODULE_NN_PTM, Result::DESCRIPTION_NOT_FOUND
142 );
143 
144 } // end of namespace ptm
145 } // end of namespace nn
146 
147 #endif // #ifdef __cplusplus
148 #endif // #ifndef NN_PTM_CTR_PTM_RESULT_H_
149