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: 34180 $
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     @brief Result コードの詳細
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 /*!
41   @name   Result 値
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 /*!
56     @class nn::ptm::CTR::ResultOverWriteAlarm
57     @brief @ref アラームが既に設定されていたことを示します。
58 */
59 NN_DEFINE_RESULT_CONST(
60     ResultOverWriteAlarm,
61     Result::LEVEL_SUCCESS, Result::SUMMARY_SUCCESS, Result::MODULE_NN_PTM, DESCRIPTION_OVERWRITEALARM
62 );
63 
64 /*!
65     @class nn::ptm::CTR::ResultNoAlarm
66     @brief @ref アラームが設定されていなかったことを示します。
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 /*!
79     @class nn::ptm::CTR::ResultNotRegistered
80     @brief @ref アラーム通知用のイベントがセットされていないことを示します。
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 /*!
108     @class nn::ptm::CTR::ResultInvalidAlarm
109     @brief @ref アラームに指定した年月日が範囲外であることを示します。
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 // 内部用
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 // 内部用
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 // 内部用
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