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: 29771 $
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 enum Description
27 {
28     DESCRIPTION_INVALID_SYSTEMTIME = 1,
29     DESCRIPTION_NOALARM,
30     DESCRIPTION_OVERWRITEALARM,
31     DESCRIPTION_FILEERROR,
32     DESCRIPTION_NOT_SLEEPING,
33     DESCRIPTION_INVALID_TRIGGER,
34     DESCRIPTION_MCU_FATAL_ERROR
35 };
36 
37 /*!
38     @class ResultNotImplemented
39 
40     @brief 未実装であることを表すエラー値です。
41 */
42 NN_DEFINE_RESULT_CONST(
43     ResultNotImplemented,
44     Result::LEVEL_FATAL, Result::SUMMARY_NOT_SUPPORTED, Result::MODULE_NN_PTM, nn::Result::DESCRIPTION_NOT_IMPLEMENTED
45 );
46 
47 NN_DEFINE_RESULT_CONST(
48     ResultInvalidSystemTime,
49     Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_PTM, DESCRIPTION_INVALID_SYSTEMTIME
50 );
51 
52 NN_DEFINE_RESULT_CONST(
53     ResultOverWriteAlarm,
54     Result::LEVEL_SUCCESS, Result::SUMMARY_SUCCESS, Result::MODULE_NN_PTM, DESCRIPTION_OVERWRITEALARM
55 );
56 
57 NN_DEFINE_RESULT_CONST(
58     ResultNoAlarm,
59     Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_PTM, DESCRIPTION_NOALARM
60 );
61 
62 NN_DEFINE_RESULT_CONST(
63     ResultAlreadyRegistered,
64     Result::LEVEL_PERMANENT, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_PTM, Result::DESCRIPTION_ALREADY_INITIALIZED
65 );
66 
67 NN_DEFINE_RESULT_CONST(
68     ResultNotRegistered,
69     Result::LEVEL_PERMANENT, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_PTM, Result::DESCRIPTION_NOT_INITIALIZED
70 );
71 
72 NN_DEFINE_RESULT_CONST(
73     ResultFileError,
74     Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_PTM, DESCRIPTION_FILEERROR
75 );
76 
77 NN_DEFINE_RESULT_CONST(
78     ResultWrongArgument,
79     Result::LEVEL_USAGE, Result::SUMMARY_WRONG_ARGUMENT, Result::MODULE_NN_PTM, Result::DESCRIPTION_NO_DATA
80 );
81 
82 NN_DEFINE_RESULT_CONST(
83     ResultNotSleeping,
84     Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_PTM, DESCRIPTION_NOT_SLEEPING
85 );
86 
87 NN_DEFINE_RESULT_CONST(
88     ResultInvalidTrigger,
89     Result::LEVEL_USAGE, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_PTM, DESCRIPTION_INVALID_TRIGGER
90 );
91 
92 NN_DEFINE_RESULT_CONST(
93     ResultInvalidAlarm,
94     Result::LEVEL_USAGE, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_PTM, Result::DESCRIPTION_OUT_OF_RANGE
95 );
96 
97 NN_DEFINE_RESULT_CONST(
98     ResultOutOfRange,
99     Result::LEVEL_USAGE, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_PTM, Result::DESCRIPTION_OUT_OF_RANGE
100 );
101 
102 NN_DEFINE_RESULT_CONST(
103     ResultInvalidSize,
104     Result::LEVEL_USAGE, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_PTM, Result::DESCRIPTION_INVALID_SIZE
105 );
106 
107 // 内部用
108 NN_DEFINE_RESULT_CONST(
109     ResultMcuFatalError,
110     Result::LEVEL_FATAL, Result::SUMMARY_INTERNAL, Result::MODULE_NN_PTM, DESCRIPTION_MCU_FATAL_ERROR
111 );
112 
113 // 内部用
114 NN_DEFINE_RESULT_CONST(
115     ResultNotWrite,
116     Result::LEVEL_SUCCESS, Result::SUMMARY_NOTHING_HAPPENED, Result::MODULE_NN_PTM, Result::DESCRIPTION_SUCCESS
117 );
118 
119 // 内部用
120 NN_DEFINE_RESULT_CONST(
121     ResultNotFound,
122     Result::LEVEL_PERMANENT, Result::SUMMARY_NOT_FOUND, Result::MODULE_NN_PTM, Result::DESCRIPTION_NOT_FOUND
123 );
124 
125 } // end of namespace ptm
126 } // end of namespace nn
127 
128 #endif // #ifdef __cplusplus
129 #endif // #ifndef NN_PTM_CTR_PTM_RESULT_H_
130