1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     mic_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_MIC_MIC_RESULT_H_
17 #define NN_MIC_MIC_RESULT_H_
18 
19 #include <nn/Result.h>
20 
21 /*! @file
22     @brief      MIC ライブラリの Result 群です。
23 */
24 
25 
26 namespace nn {
27 namespace mic {
28 namespace CTR {
29 
30     /*
31         @brief Result コードの詳細
32     */
33     enum Description
34     {
35         DESCRIPTION_MIC_SHELL_CLOSE = 1
36     };
37 
38 /*!
39   @name   Result 値
40   @{
41 */
42 
43 /*!
44     @class nn::mic::ResultShellClose
45     @brief ふたが閉じられているためマイクが使用できないことを示します。
46 
47            ふたが閉じられる際にマイクのサンプリングが動作していた場合、自動的にサンプリングを停止し、
48            ふたが開けられた際に自動的にサンプリングを再開します。
49 
50            ふた閉じ中に使用できない関数は、@ref StartSampling、@ref StopSampling、@ref AdjustSampling になります。
51 */
52     NN_DEFINE_RESULT_CONST(
53         ResultShellClose,
54         Result::LEVEL_STATUS, Result::SUMMARY_STATUS_CHANGED, Result::MODULE_NN_MIC, DESCRIPTION_MIC_SHELL_CLOSE
55     );
56 
57     NN_DEFINE_RESULT_CONST(
58         ResultNotInitialized,
59         Result::LEVEL_PERMANENT, Result::SUMMARY_NOTHING_HAPPENED, Result::MODULE_NN_MIC, Result::DESCRIPTION_NOT_INITIALIZED
60     );
61 
62     NN_DEFINE_RESULT_CONST(
63         ResultAlreadyInitialized,
64         Result::LEVEL_PERMANENT, Result::SUMMARY_NOTHING_HAPPENED, Result::MODULE_NN_MIC, Result::DESCRIPTION_ALREADY_INITIALIZED
65     );
66 
67     NN_DEFINE_RESULT_CONST(
68         ResultUsingOtherProcess,
69         Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_MIC, Result::DESCRIPTION_ALREADY_INITIALIZED
70     );
71 
72     NN_DEFINE_RESULT_CONST(
73         ResultBusy,
74         Result::LEVEL_STATUS, Result::SUMMARY_NOTHING_HAPPENED, Result::MODULE_NN_MIC, Result::DESCRIPTION_BUSY
75     );
76 
77     NN_DEFINE_RESULT_CONST(
78         ResultMisalignedSize,
79         Result::LEVEL_USAGE, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_MIC, Result::DESCRIPTION_MISALIGNED_SIZE
80     );
81 
82     NN_DEFINE_RESULT_CONST(
83         ResultMisalignedAddress,
84         Result::LEVEL_USAGE, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_MIC, Result::DESCRIPTION_MISALIGNED_ADDRESS
85     );
86 
87     NN_DEFINE_RESULT_CONST(
88         ResultOutOfMemory,
89         Result::LEVEL_USAGE, Result::SUMMARY_WRONG_ARGUMENT, Result::MODULE_NN_MIC, Result::DESCRIPTION_OUT_OF_MEMORY
90     );
91 
92     NN_DEFINE_RESULT_CONST(
93         ResultOutOfRange,
94         Result::LEVEL_USAGE, Result::SUMMARY_WRONG_ARGUMENT, Result::MODULE_NN_MIC, Result::DESCRIPTION_OUT_OF_RANGE
95     );
96 
97     NN_DEFINE_RESULT_CONST(
98         ResultInvalidSize,
99         Result::LEVEL_USAGE, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_MIC, Result::DESCRIPTION_INVALID_SIZE
100     );
101 
102     NN_DEFINE_RESULT_CONST(
103         ResultInvalidHandle,
104         Result::LEVEL_USAGE, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_MIC, Result::DESCRIPTION_INVALID_HANDLE
105     );
106 
107 }
108 }
109 }
110 
111 #endif /* NN_MIC_MIC_RESULT_H_ */
112