1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: applet_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: 31413 $ 14 *---------------------------------------------------------------------------*/ 15 16 #ifndef NN_APPLET_CTR_APPLET_RESULT_H_ 17 #define NN_APPLET_CTR_APPLET_RESULT_H_ 18 19 #include <nn/Result.h> 20 21 /*! @namespace nn::applet 22 @brief APPLET の名前空間 23 */ 24 /*! 25 @namespace nn::applet::CTR 26 @brief CTR の APPLET の名前空間です。 27 <BR>("::CTR" の部分は省略して記述可能です。) 28 */ 29 30 namespace nn { 31 namespace applet { 32 namespace CTR { 33 34 using namespace nn; 35 36 /*! 37 @brief @ref nn::Result の Description のうちモジュール依存の値です。 38 */ 39 enum ResultDescription 40 { 41 DESCRIPTION_APPLET_NO_AREA_TO_REGISTER = 1, ///< 登録するためのテーブルに空きがない 42 DESCRIPTION_APPLET_PARAMETER_BUFFER_NOT_EMPTY = 2, ///< パラメータ領域が空でない 43 DESCRIPTION_APPLET_CALLER_NOT_FOUND = 3, ///< アプレットを呼び出したプロセスがない 44 DESCRIPTION_APPLET_NOT_ALLOWED = 4, ///< アクセスが許可されていない 45 DESCRIPTION_APPLET_DIFFERENT_MODE = 5, ///< 異なるモードである 46 DESCRIPTION_APPLET_DIFFERENT_VERSION = 6, ///< 異なるバージョンである 47 DESCRIPTION_APPLET_TRANSITION_BUSY = 8 ///< 他のものが遷移中 48 }; 49 // 0 は SUCCESS に予約されているので 1 から始まります。 50 51 /*! 52 @name Result 値 53 @{ 54 */ 55 /*! 56 @class nn::applet::CTR::ResultNotFound 57 @brief @ref 取得しようとしたりその対象となるものが存在しなかったことを示します。 58 */ 59 NN_DEFINE_RESULT_CONST 60 ( ResultNotFound, 61 Result::LEVEL_STATUS, Result::SUMMARY_NOT_FOUND, Result::MODULE_NN_APPLET, Result::DESCRIPTION_NOT_FOUND ); 62 63 /*! 64 @class nn::applet::CTR::ResultAlreadyExist 65 @brief @ref 新規に作成したり、登録しようとしたものがすでに存在していることを示します。 66 */ 67 NN_DEFINE_RESULT_CONST 68 ( ResultAlreadyExist, 69 Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, Result::DESCRIPTION_ALREADY_EXISTS ); 70 71 /*! 72 @class nn::applet::CTR::ResultNoArea 73 @brief @ref 行おうとした処理で必要とされる領域やリソースの空きがなかったことを示します。 74 */ 75 NN_DEFINE_RESULT_CONST 76 ( ResultNoArea, 77 Result::LEVEL_STATUS, Result::SUMMARY_OUT_OF_RESOURCE, Result::MODULE_NN_APPLET, DESCRIPTION_APPLET_NO_AREA_TO_REGISTER ); 78 79 /*! 80 @class nn::applet::CTR::ResultNotEmpty 81 @brief @ref 行おうとした処理で必要とされるバッファが使用中で空でなかったことを示します。 82 */ 83 NN_DEFINE_RESULT_CONST 84 ( ResultNotEmpty, 85 Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, DESCRIPTION_APPLET_PARAMETER_BUFFER_NOT_EMPTY ); 86 87 /*! 88 @class nn::applet::CTR::ResultNoData 89 @brief @ref データがなかったことを示します。 90 */ 91 NN_DEFINE_RESULT_CONST 92 ( ResultNoData, 93 Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, Result::DESCRIPTION_NO_DATA); 94 95 /*! 96 @class nn::applet::CTR::ResultNoCaller 97 @brief @ref 呼び出し元や送信元が存在しないことを示します。 98 */ 99 NN_DEFINE_RESULT_CONST 100 ( ResultNoCaller, 101 Result::LEVEL_PERMANENT, Result::SUMMARY_NOT_FOUND, Result::MODULE_NN_APPLET, DESCRIPTION_APPLET_CALLER_NOT_FOUND); 102 103 /*! 104 @class nn::applet::CTR::ResultNotAllowed 105 @brief @ref 行おうとした処理がその状況で許可されていないものだったことを示します。 106 */ 107 NN_DEFINE_RESULT_CONST 108 ( ResultNotAllowed, 109 Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, DESCRIPTION_APPLET_NOT_ALLOWED); 110 111 /*! 112 @class nn::applet::CTR::ResultBusy 113 @brief @ref 行おうとした処理が排他処理などでビジー状態にあることを示します。 114 この場合、再度処理を試みることができます。 115 */ 116 NN_DEFINE_RESULT_CONST 117 ( ResultBusy, 118 Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, Result::DESCRIPTION_BUSY); 119 120 /*! 121 @class nn::applet::CTR::ResultAlreadyInit 122 @brief @ref すでに初期化されていることを示します。 123 */ 124 NN_DEFINE_RESULT_CONST 125 ( ResultAlreadyInit, 126 Result::LEVEL_USAGE, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, Result::DESCRIPTION_ALREADY_INITIALIZED); 127 128 /*! 129 @class nn::applet::CTR::ResultDifferentMode 130 @brief @ref モードが異なっていることを示します。 131 */ 132 NN_DEFINE_RESULT_CONST 133 ( ResultDifferentMode, 134 Result::LEVEL_USAGE, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, DESCRIPTION_APPLET_DIFFERENT_MODE); 135 136 /*! 137 @class nn::applet::CTR::ResultDifferentVersion 138 @brief @ref バージョンが異なっていることを示します。 139 */ 140 NN_DEFINE_RESULT_CONST 141 ( ResultDifferentVersion, 142 Result::LEVEL_USAGE, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, DESCRIPTION_APPLET_DIFFERENT_VERSION); 143 144 /*! 145 @class nn::applet::CTR::ResultTransitionBusy 146 @brief @ref 他の遷移が起こっていることを示します。 147 */ 148 NN_DEFINE_RESULT_CONST 149 ( ResultTransitionBusy, 150 Result::LEVEL_USAGE, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, DESCRIPTION_APPLET_TRANSITION_BUSY); 151 152 /*! 153 @} 154 */ 155 156 } // namespace CTR 157 } // namespace applet 158 } // namespace nn 159 160 161 #define NN_APPLET_RESULT_NOT_FOUND (nn::applet::CTR::ResultNotFound()) 162 #define NN_APPLET_RESULT_ALREADY_EXIST (nn::applet::CTR::ResultAlreadyExist()) 163 #define NN_APPLET_RESULT_NO_AREA (nn::applet::CTR::ResultNoArea()) 164 #define NN_APPLET_RESULT_NOT_EMPTY (nn::applet::CTR::ResultNotEmpty()) 165 #define NN_APPLET_RESULT_NO_DATA (nn::applet::CTR::ResultNoData()) 166 #define NN_APPLET_RESULT_NO_CALLER (nn::applet::CTR::ResultNoCaller()) 167 #define NN_APPLET_RESULT_NOT_ALLOWED (nn::applet::CTR::ResultNotAllowed()) 168 #define NN_APPLET_RESULT_BUSY (nn::applet::CTR::ResultBusy()) 169 #define NN_APPLET_RESULT_ALREADY_INIT (nn::applet::CTR::ResultAlreadyInit()) 170 #define NN_APPLET_RESULT_DIFFERENT_MODE (nn::applet::CTR::ResultDifferentMode()) 171 #define NN_APPLET_RESULT_DIFFERENT_VERSION (nn::applet::CTR::ResultDifferentVersion()) 172 #define NN_APPLET_RESULT_TRANSITION_BUSY (nn::applet::CTR::ResultTransitionBusy()) 173 174 #endif //NN_APPLET_CTR_APPLET_RESULT_H_ 175