1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     camera_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: 31562 $
14  *---------------------------------------------------------------------------*/
15 
16 #ifndef NN_CAMERA_CAMERA_RESULT_H_
17 #define NN_CAMERA_CAMERA_RESULT_H_
18 
19 #include <nn/Result.h>
20 
21 /*! @file
22     @brief      CAMERA ライブラリの Result 群です。
23 */
24 
25 
26 namespace nn {
27 namespace camera {
28 namespace CTR {
29 
30     /*
31         @brief Result コードの詳細
32     */
33     enum Description
34     {
35         DESCRIPTION_CAMERA_IS_SLEEPING = 1,
36         DESCRIPTION_CAMERA_FATAL_ERROR
37     };
38 
39 /*!
40   @name   Result 値
41   @{
42 */
43 
44 /*!
45     @class nn::camera::CTR::ResultIsSleeping
46     @brief @ref 蓋閉じ中であるためカメラを使用できないことを示します。
47 */
48     NN_DEFINE_RESULT_CONST(
49         ResultIsSleeping,
50         Result::LEVEL_STATUS, Result::SUMMARY_STATUS_CHANGED, Result::MODULE_NN_CAMERA, DESCRIPTION_CAMERA_IS_SLEEPING
51     );
52 
53 /*!
54     @class nn::camera::CTR::ResultFatalError
55     @brief @ref カメラの再起動処理に失敗したことを示します。カメラが物理的に故障している可能性があります。
56 */
57     NN_DEFINE_RESULT_CONST(
58         ResultFatalError,
59         Result::LEVEL_FATAL, Result::SUMMARY_INTERNAL, Result::MODULE_NN_CAMERA, DESCRIPTION_CAMERA_FATAL_ERROR
60     );
61 
62 /*!
63     @class nn::camera::CTR::ResultAlreadyInitialized
64     @brief @ref カメラライブラリが初期化済みであることを示します。
65 */
66     NN_DEFINE_RESULT_CONST(
67         ResultAlreadyInitialized,
68         Result::LEVEL_PERMANENT, Result::SUMMARY_NOTHING_HAPPENED, Result::MODULE_NN_CAMERA, Result::DESCRIPTION_ALREADY_INITIALIZED
69     );
70 
71 /*!
72     @class nn::camera::CTR::ResultUsingOtherProcess
73     @brief @ref 他のプロセスがカメラを使用中であるため、自分は使えないことを示します。
74 */
75     NN_DEFINE_RESULT_CONST(
76         ResultUsingOtherProcess,
77         Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_CAMERA, Result::DESCRIPTION_ALREADY_INITIALIZED
78     );
79 
80     // 内部用
81     // 指定された引数がenum値の範囲でなかったことを示す。
82     NN_DEFINE_RESULT_CONST(
83         ResultInvalidEnumValue,
84         Result::LEVEL_USAGE, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_CAMERA, Result::DESCRIPTION_INVALID_ENUM_VALUE
85     );
86 
87     // 内部用
88     // csnd経由のシャッター音再生が失敗したことを示す。
89     // これを受け取ったシムレイヤ側のライブラリは一度だけリトライを試みるので、即アプリ側にFATALを返すことはない。
90     NN_DEFINE_RESULT_CONST(
91         ResultBusy,
92         Result::LEVEL_STATUS, Result::SUMMARY_INTERNAL, Result::MODULE_NN_CAMERA, Result::DESCRIPTION_BUSY
93     );
94 
95     // 内部用
96     // 接続ポートに対して権限のない関数を呼び出したことを示す。
97     NN_DEFINE_RESULT_CONST(
98         ResultNotAuthorized,
99         Result::LEVEL_PERMANENT, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_CAMERA, Result::DESCRIPTION_NOT_AUTHORIZED
100     );
101 
102     // 内部用
103     // GetLatestVsyncTiming()に指定したデータ取得サイズが最大保持サイズよりも大きかったことを示す。
104     NN_DEFINE_RESULT_CONST(
105         ResultOutOfRange,
106         Result::LEVEL_USAGE, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_CAMERA, Result::DESCRIPTION_OUT_OF_RANGE
107     );
108 
109     // 内部用
110     // リトライ処理が所定の回数を超えたことを示す。
111     NN_DEFINE_RESULT_CONST(
112         ResultTimeout,
113         Result::LEVEL_FATAL, Result::SUMMARY_INTERNAL, Result::MODULE_NN_CAMERA, Result::DESCRIPTION_TIMEOUT
114     );
115 
116     // 内部用
117     // プロセスでの初期化がされていないことを示す。
118     NN_DEFINE_RESULT_CONST(
119         ResultNotInitialized,
120         Result::LEVEL_PERMANENT, Result::SUMMARY_NOTHING_HAPPENED, Result::MODULE_NN_CAMERA, Result::DESCRIPTION_NOT_INITIALIZED
121     );
122 
123 }
124 }
125 }
126 
127 #endif /* NN_CAMERA_CAMERA_RESULT_H_ */
128