/*---------------------------------------------------------------------------* Project: Horizon File: applet_Result.h Copyright (C)2010 Nintendo Co., Ltd. All rights reserved. These coded instructions, statements, and computer programs contain proprietary information of Nintendo of America Inc. and/or Nintendo Company Ltd., and are protected by Federal copyright law. They may not be disclosed to third parties or copied or duplicated in any form, in whole or in part, without the prior written consent of Nintendo. $Rev: 31413 $ *---------------------------------------------------------------------------*/ #ifndef NN_APPLET_CTR_APPLET_RESULT_H_ #define NN_APPLET_CTR_APPLET_RESULT_H_ #include /*! @namespace nn::applet @brief APPLET の名前空間 */ /*! @namespace nn::applet::CTR @brief CTR の APPLET の名前空間です。
("::CTR" の部分は省略して記述可能です。) */ namespace nn { namespace applet { namespace CTR { using namespace nn; /*! @brief @ref nn::Result の Description のうちモジュール依存の値です。 */ enum ResultDescription { DESCRIPTION_APPLET_NO_AREA_TO_REGISTER = 1, ///< 登録するためのテーブルに空きがない DESCRIPTION_APPLET_PARAMETER_BUFFER_NOT_EMPTY = 2, ///< パラメータ領域が空でない DESCRIPTION_APPLET_CALLER_NOT_FOUND = 3, ///< アプレットを呼び出したプロセスがない DESCRIPTION_APPLET_NOT_ALLOWED = 4, ///< アクセスが許可されていない DESCRIPTION_APPLET_DIFFERENT_MODE = 5, ///< 異なるモードである DESCRIPTION_APPLET_DIFFERENT_VERSION = 6, ///< 異なるバージョンである DESCRIPTION_APPLET_TRANSITION_BUSY = 8 ///< 他のものが遷移中 }; // 0 は SUCCESS に予約されているので 1 から始まります。 /*! @name Result 値 @{ */ /*! @class nn::applet::CTR::ResultNotFound @brief @ref 取得しようとしたりその対象となるものが存在しなかったことを示します。 */ NN_DEFINE_RESULT_CONST ( ResultNotFound, Result::LEVEL_STATUS, Result::SUMMARY_NOT_FOUND, Result::MODULE_NN_APPLET, Result::DESCRIPTION_NOT_FOUND ); /*! @class nn::applet::CTR::ResultAlreadyExist @brief @ref 新規に作成したり、登録しようとしたものがすでに存在していることを示します。 */ NN_DEFINE_RESULT_CONST ( ResultAlreadyExist, Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, Result::DESCRIPTION_ALREADY_EXISTS ); /*! @class nn::applet::CTR::ResultNoArea @brief @ref 行おうとした処理で必要とされる領域やリソースの空きがなかったことを示します。 */ NN_DEFINE_RESULT_CONST ( ResultNoArea, Result::LEVEL_STATUS, Result::SUMMARY_OUT_OF_RESOURCE, Result::MODULE_NN_APPLET, DESCRIPTION_APPLET_NO_AREA_TO_REGISTER ); /*! @class nn::applet::CTR::ResultNotEmpty @brief @ref 行おうとした処理で必要とされるバッファが使用中で空でなかったことを示します。 */ NN_DEFINE_RESULT_CONST ( ResultNotEmpty, Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, DESCRIPTION_APPLET_PARAMETER_BUFFER_NOT_EMPTY ); /*! @class nn::applet::CTR::ResultNoData @brief @ref データがなかったことを示します。 */ NN_DEFINE_RESULT_CONST ( ResultNoData, Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, Result::DESCRIPTION_NO_DATA); /*! @class nn::applet::CTR::ResultNoCaller @brief @ref 呼び出し元や送信元が存在しないことを示します。 */ NN_DEFINE_RESULT_CONST ( ResultNoCaller, Result::LEVEL_PERMANENT, Result::SUMMARY_NOT_FOUND, Result::MODULE_NN_APPLET, DESCRIPTION_APPLET_CALLER_NOT_FOUND); /*! @class nn::applet::CTR::ResultNotAllowed @brief @ref 行おうとした処理がその状況で許可されていないものだったことを示します。 */ NN_DEFINE_RESULT_CONST ( ResultNotAllowed, Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, DESCRIPTION_APPLET_NOT_ALLOWED); /*! @class nn::applet::CTR::ResultBusy @brief @ref 行おうとした処理が排他処理などでビジー状態にあることを示します。 この場合、再度処理を試みることができます。 */ NN_DEFINE_RESULT_CONST ( ResultBusy, Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, Result::DESCRIPTION_BUSY); /*! @class nn::applet::CTR::ResultAlreadyInit @brief @ref すでに初期化されていることを示します。 */ NN_DEFINE_RESULT_CONST ( ResultAlreadyInit, Result::LEVEL_USAGE, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, Result::DESCRIPTION_ALREADY_INITIALIZED); /*! @class nn::applet::CTR::ResultDifferentMode @brief @ref モードが異なっていることを示します。 */ NN_DEFINE_RESULT_CONST ( ResultDifferentMode, Result::LEVEL_USAGE, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, DESCRIPTION_APPLET_DIFFERENT_MODE); /*! @class nn::applet::CTR::ResultDifferentVersion @brief @ref バージョンが異なっていることを示します。 */ NN_DEFINE_RESULT_CONST ( ResultDifferentVersion, Result::LEVEL_USAGE, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, DESCRIPTION_APPLET_DIFFERENT_VERSION); /*! @class nn::applet::CTR::ResultTransitionBusy @brief @ref 他の遷移が起こっていることを示します。 */ NN_DEFINE_RESULT_CONST ( ResultTransitionBusy, Result::LEVEL_USAGE, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_APPLET, DESCRIPTION_APPLET_TRANSITION_BUSY); /*! @} */ } // namespace CTR } // namespace applet } // namespace nn #define NN_APPLET_RESULT_NOT_FOUND (nn::applet::CTR::ResultNotFound()) #define NN_APPLET_RESULT_ALREADY_EXIST (nn::applet::CTR::ResultAlreadyExist()) #define NN_APPLET_RESULT_NO_AREA (nn::applet::CTR::ResultNoArea()) #define NN_APPLET_RESULT_NOT_EMPTY (nn::applet::CTR::ResultNotEmpty()) #define NN_APPLET_RESULT_NO_DATA (nn::applet::CTR::ResultNoData()) #define NN_APPLET_RESULT_NO_CALLER (nn::applet::CTR::ResultNoCaller()) #define NN_APPLET_RESULT_NOT_ALLOWED (nn::applet::CTR::ResultNotAllowed()) #define NN_APPLET_RESULT_BUSY (nn::applet::CTR::ResultBusy()) #define NN_APPLET_RESULT_ALREADY_INIT (nn::applet::CTR::ResultAlreadyInit()) #define NN_APPLET_RESULT_DIFFERENT_MODE (nn::applet::CTR::ResultDifferentMode()) #define NN_APPLET_RESULT_DIFFERENT_VERSION (nn::applet::CTR::ResultDifferentVersion()) #define NN_APPLET_RESULT_TRANSITION_BUSY (nn::applet::CTR::ResultTransitionBusy()) #endif //NN_APPLET_CTR_APPLET_RESULT_H_