/*---------------------------------------------------------------------------* Project: Horizon File: boss_Result.h Copyright (C)2009 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: 34430 $ *---------------------------------------------------------------------------*/ #ifndef NN_BOSS_BOSS_RESULT_H_ #define NN_BOSS_BOSS_RESULT_H_ #include #include #ifdef __cplusplus /*! @file @brief BOSS ライブラリの Result 群です。 */ namespace nn { namespace boss { /*! * @brief APIの結果コード。boss::Resultのdescriptionとして設定され、boss APIの戻り値として使用される。 */ enum ResultCode { ER_NONE = 0 ,//!< エラー無し // Boss libraries Argument Error //ポインタNULLエラー ER_INVALID_POLICY ,//!< ポリシィ情報のポインタがNULLです。 ER_INVALID_ACTION ,//!< タスクアクションのポインタがNULLです。 ER_INVALID_OPTION ,//!< タスクオプションのポインタがNULL,またはoptionコードが範囲外です。 ER_INVALID_APPIDLIST ,//!< アプリケーション一覧取得用のポインタがNULLです。 ER_INVALID_TASKID_LIST ,//!< タスクID一覧取得用のポインタがNULLです。 ER_INVALID_STEPID_LIST ,//!< ステップID一覧取得用のポインタがNULLです。 ER_INVALID_NSDATA_IDLIST ,//!< NSデータリスト情報のポインタがNULLです。 ER_INVALID_TASKSTATUS ,//!< タスクステータスのポインタがNULLです。 ER_INVALID_PROPERTYVALUE ,//!< プロパティ値のポインタがNULLです。 ER_INVALID_NEWARRIVAL_EVENT ,//!< 新着イベントのポインタがNULLです。 ER_INVALID_NEWARRIVAL_FLAG ,//!< 新着フラグのポインタがNULLです。 ER_INVALID_OPTOUT_FLAG ,//!< OPTOUTフラグのポインタがNULLです。 ER_INVALID_TASKERROR ,//!< タスクエラー情報のポインタがNULLです。 ER_INVALID_NSDATA_VALUE ,//!< NSDATA格納領域のポインタがNULLです。 ER_INVALID_NSDATA_INFO ,//!< NSDATA追加情報を格納するポインタがNULLです。 ER_INVALID_NSDATA_READFLAG ,//!< NSDATAリードフラグの格納領域のポインタがNULLです。 ER_INVALID_NSDATA_TIME ,//!< NSDATAのUPDATEタイムの格納領域のポインタがNULLです。 ER_INVALID_NEXTEXECUTETIME ,//!< NEXT EXECUTE TIME のMinutesのポインタがNULLです。 ER_HTTP_REQUEST_HEADER_POINTER_NULL ,//!< HTTPリクエストヘッダのポインタがNULLです。 ER_INVALID_POLICYLIST_AVAILABILITY ,//!< ポリシィリスト使用可能情報のポインタがNULLです。 ER_INVALID_TESTMODE_AVAILABILITY ,//!< テストモード使用可能情報のポインタがNULLです。 ER_INVALID_CONFIG_PARENTAL_CONTROL ,//!< ペアレンタルコントロール設定情報のポインタがNULLです。 ER_INVALID_CONFIG_EULA_AGREEMENT ,//!< EULA同意済設定情報のポインタがNULLです。 ER_INVALID_POLICYLIST_ENV_ID ,//!< ポリシィリストの環境IDのポインタがNULLです。 ER_INVALID_POLICYLIST_URL ,//!< ポリシィリストのURL情報のポインタがNULLです。 //パラメータ範囲チェックエラー ER_INVALID_TASK_ID ,//!< タスクIDのポインタがNULLまたは0文字列です。 ER_INVALID_TASK_STEP ,//!< タスク登録でカレントステップIDが指定されました。 ER_INVALID_PROPERTYTYPE ,//!< プロパティタイプがサポート外です。 ER_INVALID_URL ,//!< URL文字列のポインタがNULLまたは0文字列です。 ER_INVALID_FILEPATH ,//!< ファイルパス文字列のポインタがNULLまたは0文字列です。 ER_INVALID_TASK_PRIORITY ,//!< タスクプライオリティの指定が範囲外です。 ER_INVALID_TASK_TARGETDURATION ,//!< タスク継続時間が範囲外です。 ER_ACTIONCODE_OUT_OF_RANGE ,//!< タスクアクションコードが範囲外です。 ER_INVALID_NSDATA_SEEK_POSITION ,//!< NSDATAのシーク位置がデータサイズを超えています。 ER_INVALID_MAX_HTTP_REQUEST_HEADER ,//!< HTTPリクエストヘッダの登録数が最大数を超えました。 ER_INVALID_MAX_CLIENT_CERT ,//!< ClientCertの最大設定数を超えました。 ER_INVALID_MAX_ROOT_CA ,//!< ルートCAの最大設定数を超えました。 ER_SCHEDULING_POLICY_OUT_OF_RANGE ,//!< スケジュールポリシィが範囲外です ER_APINFOTYPE_OUT_OF_RANGE ,//!< AP情報タイプが範囲外です。 ER_TASK_PERMISSION_OUT_OF_RANGE ,//!< タスク許可情報が範囲外です。 // Boss lib Execute Error ER_WAITFINISH_TIMEOUT ,//!< WaitFinish関数でタイムアウトになりました。 ER_WAITFINISH_TASK_NOT_DONE ,//!< WaitFinish関数で対象タスクの終了結果がTASK_DONE以外で終了しました。 // Boss lib/Process Execute Error ER_IPC_NOT_SESSION_INITIALIZED ,//!< IPCのセッションが初期化されていないか、権限不適合です。 ER_IPC_PROPERTY_SIZE_ERROR ,//!< IPC内部処理においてプロパティサイズがエラーが発生しました。 ER_IPC_TOO_MANY_REQUESTS ,//!< IPCのリクエストの数が多すぎます。(将来的な拡張用ですので使用できません) ER_ALREADY_INITIALIZED ,//!< IPCは、すでに初期化済みです。 // Boss Process Execute Error ER_OUT_OF_MEMORY ,//!< メモリの不足しています。 ER_INVALID_NUMBER_OF_NSD ,//!< NSA内のNSD数が最大数を超えました。 ER_NSDATA_INVALID_FORMAT ,//!< NS Data フォーマット異常が検出されました。 ER_APLI_NOT_EXIST ,//!< 指定されたアプリIDが見つかりません。 ER_TASK_NOT_EXIST ,//!< 指定されたタスクIDが見つかりません。 ER_TASK_STEP_NOT_EXIST ,//!< 指定されたタスクステップが見つかりません。 ER_APLI_ID_ALREADY_EXIST ,//!< 既に同名アプリが登録されています。 ER_TASK_ID_ALREADY_EXIST ,//!< 既に同名タスクが登録されています。 ER_TASK_STEP_ALREADY_EXIST ,//!< 既に同名タスクステップが登録されています。 ER_INVALID_SEQUENCE ,//!< シーケンスエラー(タスク実行中のタスクのスタートなど)が検出されました。 ER_DATABASE_FULL ,//!< アプリID・タスク登録数が上限に達し、ストレージ登録やタスク登録ができません。 ER_CANT_UNREGISTER_TASK ,//!< タスク状態(たとえば、実行中・スケジュール済み)により、タスクの削除ができません。 ER_TASK_NOT_REGISTERED ,//!< データベースファイル中に登録されているはずのタスクが見つかりません。 ER_INVALID_FILEHANDLE ,//!< 不正なファイルハンドルです。 ER_INVALID_TASK_SCHEDULING_POLICY ,//!< スケジュールポリシィリスト中に不正なキーワードが検出されました。 ER_INVALID_HTTP_REQUEST_HEADER ,//!< オプションのHTTPリクエストヘッダ数が上限を超えて指定されました。 ER_INVALID_HEADTYPE ,//!< GetHeaderInfo関数で不正なヘッダタイプが指定されました。 ER_STORAGE_ACCESSPERMISSION ,//!< ストレージのアクセス権がありません。 ER_STORAGE_INSUFFICIENCY ,//!< ストレージの容量が不足しました。 ER_INVALID_APPID_STORAGE_NOTFOUND ,//!< 該当のアプリIDに対応したストレージ登録がされていません。 ER_NSDATA_NOTFOUND ,//!< 指定されたNSDのDataが見つかりません。 ER_INVALID_NSDATA_GETHEAD_SIZE ,//!< GetHeaderInfo関数で指定したヘッダタイプに対応するサイズが一致しません。 ER_NSDATA_LIST_SIZE_SHORTAGE ,//!< NsDataIdListのサイズ不足(すべてのNSDシリアルIDを格納できなかった) ER_NSDATA_LIST_UPDATED ,//!< 前回のリスト取得時以降に、BOSSストレージの対象NSD群が更新されました。 ER_NOT_CONNECT_AP_WITH_LOCATION ,//!< アクセスポイントに接続されていません。 ER_NOT_CONNECT_NETWORK ,//!< ネットワークに接続されていません。 ER_INVALID_FRIENDCODE ,//!< Friendコード異常時のエラー。 ER_FILE_ACCESS ,//!< ファイルアクセスに失敗しました。内部で使用しているデータベースおよび、設定情報のアクセス時にシステムセーブデータの異常が発生しました。通常は起こりえません。システムセーブデータの初期化によって発生しなくなる可能性がありますが、初期化によってタスク情報がすべて(他アプリケーションが登録した情報も含め)削除されます。 ER_TASK_ALREADY_PAUSED ,//!< すでに停止(ポーズ中)されていた ER_TASK_ALREADY_RESUMED ,//!< すでに再開(リジューム済み)されていた ER_UNEXPECT ,//!< 予期しないエラーが発生しました。 RESULT_CODE_LAST ,//!< この値は使用されません。 RESULT_CODE_MAX_VALUE = (0x1u << 10) }; NN_DEFINE_RESULT_FUNC_LM(MakePermanentResult, Result::LEVEL_PERMANENT, Result::MODULE_NN_BOSS); NN_DEFINE_RESULT_FUNC_LSM(MakeInternalResult, Result::LEVEL_STATUS, Result::SUMMARY_INTERNAL, Result::MODULE_NN_BOSS); NN_DEFINE_RESULT_FUNC_LSM(MakeOutOfResourceResult, Result::LEVEL_PERMANENT, Result::SUMMARY_OUT_OF_RESOURCE, Result::MODULE_NN_BOSS); NN_DEFINE_RESULT_FUNC_LSM(MakeInvalidStateResult, Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_BOSS); NN_DEFINE_RESULT_FUNC_LSM(MakeCancelledResult, Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_BOSS); NN_DEFINE_RESULT_FUNC_LSM(MakeInvalidArgumentResult, Result::LEVEL_PERMANENT, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_BOSS); NN_DEFINE_RESULT_FUNC_LSM(MakeNothingHappenedResult, Result::LEVEL_PERMANENT, Result::SUMMARY_NOTHING_HAPPENED, Result::MODULE_NN_BOSS); NN_DEFINE_RESULT_FUNC_LSM(MakeWouldBlockResult, Result::LEVEL_PERMANENT, Result::SUMMARY_WOULD_BLOCK, Result::MODULE_NN_BOSS); /*! @name Result 値 @{ */ /*! :category Result @class nn::boss::ResultInvalidPolicy @brief ポリシィ情報のポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidPolicy, MakeInvalidArgumentResult, ER_INVALID_POLICY ); /*! :category Result @class nn::boss::ResultInvalidAction @brief タスクアクションのポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidAction, MakeInvalidArgumentResult, ER_INVALID_ACTION ); /*! :category Result @class nn::boss::ResultInvalidOption @brief タスクオプションのポインタがNULL,またはoptionコードが範囲外です。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidOption, MakeInvalidArgumentResult, ER_INVALID_OPTION ); /*! :category Result @class nn::boss::ResultInvalidAppIdList @brief アプリケーション一覧取得用のポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidAppIdList, MakeInvalidArgumentResult, ER_INVALID_APPIDLIST ); /*! :category Result @class nn::boss::ResultInvalidTaskIdList @brief タスクID一覧取得用のポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidTaskIdList, MakeInvalidArgumentResult, ER_INVALID_TASKID_LIST ); /*! :category Result @class nn::boss::ResultInvalidStepIdList @brief ステップID一覧取得用のポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidStepIdList, MakeInvalidArgumentResult, ER_INVALID_STEPID_LIST ); /*! :category Result @class nn::boss::ResultInvalidNsDataIdList @brief NSデータリスト情報のポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidNsDataIdList, MakeInvalidArgumentResult, ER_INVALID_NSDATA_IDLIST ); /*! :category Result @class nn::boss::ResultInvalidTaskStatus @brief タスクステータスのポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidTaskStatus, MakeInvalidStateResult, ER_INVALID_TASKSTATUS ); /*! :category Result @class nn::boss::ResultInvalidPropertyValue @brief プロパティ値のポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidPropertyValue, MakeInvalidArgumentResult, ER_INVALID_PROPERTYVALUE ); /*! :category Result @class nn::boss::ResultInvalidNewArrivalEvent @brief 新着イベントのポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidNewArrivalEvent, MakeInvalidArgumentResult, ER_INVALID_NEWARRIVAL_EVENT ); /*! :category Result @class nn::boss::ResultInvalidNewArrivalFlag @brief 新着フラグのポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidNewArrivalFlag, MakeInvalidArgumentResult, ER_INVALID_NEWARRIVAL_FLAG ); /*! :category Result @class nn::boss::ResultInvalidOptoutFlag @brief OPTOUTフラグのポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidOptoutFlag, MakeInvalidArgumentResult, ER_INVALID_OPTOUT_FLAG ); /*! :category Result @class nn::boss::ResultInvalidTaskError @brief タスクエラー情報のポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidTaskError, MakeInvalidStateResult, ER_INVALID_TASKERROR ); /*! :category Result @class nn::boss::ResultInvalidNsDataValue @brief NSDATA格納領域のポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidNsDataValue, MakeInvalidArgumentResult, ER_INVALID_NSDATA_VALUE ); /*! :category Result @class nn::boss::ResultInvalidNsDataInfo @brief NSDATA追加情報を格納するポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidNsDataInfo, MakeInvalidArgumentResult, ER_INVALID_NSDATA_INFO ); /*! :category Result @class nn::boss::ResultInvalidNsDataReadFlag @brief NSDATAリードフラグの格納領域のポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidNsDataReadFlag, MakeInvalidArgumentResult, ER_INVALID_NSDATA_READFLAG ); /*! :category Result @class nn::boss::ResultInvalidNsDataTime @brief NSDATAのUPDATEタイムの格納領域のポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidNsDataTime, MakeInvalidArgumentResult, ER_INVALID_NSDATA_TIME ); /*! :category Result @class nn::boss::ResultInvalidNextExecuteTime @brief NEXT EXECUTE TIME のMinutesのポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidNextExecuteTime, MakeInvalidArgumentResult, ER_INVALID_NEXTEXECUTETIME ); /*! :category Result @class nn::boss::ResultHttpRequestHeaderPointerNull @brief HTTPリクエストヘッダのポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultHttpRequestHeaderPointerNull, MakeInvalidArgumentResult, ER_HTTP_REQUEST_HEADER_POINTER_NULL ); /*! :category Result @class nn::boss::ResultInvalidPolicyListAvailability @brief ポリシィリスト使用可能情報のポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidPolicyListAvailability, MakeInvalidArgumentResult, ER_INVALID_POLICYLIST_AVAILABILITY ); /*! :category Result @class nn::boss::ResultInvalidTestModeAvailability @brief テストモード使用可能情報のポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidTestModeAvailability, MakeInvalidArgumentResult, ER_INVALID_TESTMODE_AVAILABILITY ); /*! :category Result @class nn::boss::ResultInvalidConfigParentalControl @brief ペアレンタルコントロール設定情報のポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidConfigParentalControl, MakeInvalidArgumentResult, ER_INVALID_CONFIG_PARENTAL_CONTROL ); /*! :category Result @class nn::boss::ResultInvalidConfigEulaAgreement @brief EULA同意済設定情報のポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidConfigEulaAgreement, MakeInvalidArgumentResult, ER_INVALID_CONFIG_EULA_AGREEMENT ); /*! :category Result @class nn::boss::ResultInvalidPolicyListEnvId @brief ポリシィリストの環境IDのポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidPolicyListEnvId, MakeInvalidArgumentResult, ER_INVALID_POLICYLIST_ENV_ID ); /*! :category Result @class nn::boss::ResultInvalidPolicyListUrl @brief ポリシィリストのURL情報のポインタがNULLです。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidPolicyListUrl, MakeInvalidArgumentResult, ER_INVALID_POLICYLIST_URL ); /*! :category Result @class nn::boss::ResultInvalidTaskId @brief タスクIDのポインタがNULLまたは0文字列です。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidTaskId, MakeInvalidArgumentResult, ER_INVALID_TASK_ID ); /*! :category Result @class nn::boss::ResultInvalidTaskStep @brief タスク登録でカレントステップIDが指定されました。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidTaskStep, MakeInvalidArgumentResult, ER_INVALID_TASK_STEP ); /*! :category Result @class nn::boss::ResultInvalidPropertyType @brief プロパティタイプがサポート外です。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidPropertyType, MakeInvalidArgumentResult, ER_INVALID_PROPERTYTYPE ); /*! :category Result @class nn::boss::ResultInvalidUrl @brief URL文字列のポインタがNULLまたは0文字列です。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidUrl, MakeInvalidArgumentResult, ER_INVALID_URL ); /*! :category Result @class nn::boss::ResultInvalidFilePath @brief ファイルパス文字列のポインタがNULLまたは0文字列です。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidFilePath, MakeInvalidArgumentResult, ER_INVALID_FILEPATH ); /*! :category Result @class nn::boss::ResultInvalidTaskPriority @brief タスクプライオリティの指定が範囲外です。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidTaskPriority, MakeInvalidArgumentResult, ER_INVALID_TASK_PRIORITY ); /*! :category Result @class nn::boss::ResultInvalidTaskTargetDuration @brief タスク継続時間が範囲外です。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidTaskTargetDuration, MakeInvalidArgumentResult, ER_INVALID_TASK_TARGETDURATION ); /*! :category Result @class nn::boss::ResultActionCodeOutOfRange @brief タスクアクションコードが範囲外です。 */ NN_DEFINE_RESULT_CONST_LSM( ResultActionCodeOutOfRange, MakeInvalidArgumentResult, ER_ACTIONCODE_OUT_OF_RANGE ); /*! :category Result @class nn::boss::ResultInvalidNsDataSeekPosition @brief NSDATAのシーク位置がデータサイズを超えています。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidNsDataSeekPosition, MakeInvalidArgumentResult, ER_INVALID_NSDATA_SEEK_POSITION ); /*! :category Result @class nn::boss::ResultInvalidMaxHttpRequestHeader @brief HTTPリクエストヘッダの登録数が最大設定数を超えました。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidMaxHttpRequestHeader, MakeOutOfResourceResult, ER_INVALID_MAX_HTTP_REQUEST_HEADER ); /*! :category Result @class nn::boss::ResultInvalidMaxClientCert @brief ClientCertの最大設定数を超えました。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidMaxClientCert, MakeOutOfResourceResult, ER_INVALID_MAX_CLIENT_CERT ); /*! :category Result @class nn::boss::ResultInvalidMaxRootCa @brief ルートCAの最大設定数を超えました。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidMaxRootCa, MakeOutOfResourceResult, ER_INVALID_MAX_ROOT_CA ); /*! :category Result @class nn::boss::ResultSchedulingPolicyOutOfRange @brief スケジュールポリシィが範囲外です。 */ NN_DEFINE_RESULT_CONST_LSM( ResultSchedulingPolicyOutOfRange, MakeInvalidArgumentResult, ER_SCHEDULING_POLICY_OUT_OF_RANGE ); /*! :category Result @class nn::boss::ResultApInfoTypeOutOfRange @brief AP情報タイプが範囲外です。 */ NN_DEFINE_RESULT_CONST_LSM( ResultApInfoTypeOutOfRange, MakeInvalidArgumentResult, ER_APINFOTYPE_OUT_OF_RANGE ); /*! :category Result @class nn::boss::ResultTaskPermissionOutOfRange @brief タスク許可情報が範囲外です。 */ NN_DEFINE_RESULT_CONST_LSM( ResultTaskPermissionOutOfRange, MakeInvalidArgumentResult, ER_TASK_PERMISSION_OUT_OF_RANGE ); /*! :category Result @class nn::boss::ResultWaitFinishTimeout @brief WAITFINISHタイムアウト。 */ NN_DEFINE_RESULT_CONST_LSM( ResultWaitFinishTimeout, MakeWouldBlockResult, ER_WAITFINISH_TIMEOUT ); /*! :category Result @class nn::boss::ResultWaitFinishTaskNotDone @brief WAITFINISHタスクがDONE以外で終了。 */ NN_DEFINE_RESULT_CONST_LSM( ResultWaitFinishTaskNotDone, MakeWouldBlockResult, ER_WAITFINISH_TASK_NOT_DONE ); /*! :category Result @class nn::boss::ResultIpcNotSessionInitialized @brief IPCのセッションが初期化されていない。 */ NN_DEFINE_RESULT_CONST_LSM( ResultIpcNotSessionInitialized, MakeInvalidStateResult, ER_IPC_NOT_SESSION_INITIALIZED ); /*! :category Result @class nn::boss::ResultIpcPropertySizeError @brief IPCのプロパティサイズがエラー。 */ NN_DEFINE_RESULT_CONST_LSM( ResultIpcPropertySizeError, MakeOutOfResourceResult, ER_IPC_PROPERTY_SIZE_ERROR ); /*! :category Result @class nn::boss::ResultIpcTooManyRequests @brief IPCのリクエストの数が多すぎる。 */ NN_DEFINE_RESULT_CONST_LSM( ResultIpcTooManyRequests, MakeOutOfResourceResult, ER_IPC_TOO_MANY_REQUESTS ); /*! :category Result @class nn::boss::ResultAlreadyInitialized @brief 初期化済み。 */ NN_DEFINE_RESULT_CONST_LSM( ResultAlreadyInitialized, MakeInvalidStateResult, ER_ALREADY_INITIALIZED ); /*! :category Result @class nn::boss::ResultOutOfMemory @brief メモリの不足。 */ NN_DEFINE_RESULT_CONST_LSM( ResultOutOfMemory, MakeOutOfResourceResult, ER_OUT_OF_MEMORY ); /*! :category Result @class nn::boss::ResultInvalidNumberOfNsd @brief NSA内のNSD数が最大数を超えた。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidNumberOfNsd, MakeOutOfResourceResult, ER_INVALID_NUMBER_OF_NSD ); /*! :category Result @class nn::boss::ResultNsDataInvalidFormat @brief NS Data フォーマット異常。 */ NN_DEFINE_RESULT_CONST_LSM( ResultNsDataInvalidFormat, MakeOutOfResourceResult, ER_NSDATA_INVALID_FORMAT ); /*! :category Result @class nn::boss::ResultAppNotExist @brief 指定されたアプリIDが見つからない。 */ NN_DEFINE_RESULT_CONST_LSM( ResultAppNotExist, MakeInvalidStateResult, ER_APLI_NOT_EXIST ); /*! :category Result @class nn::boss::ResultTaskNotExist @brief 指定されたタスクIDが見つからない。 */ NN_DEFINE_RESULT_CONST_LSM( ResultTaskNotExist, MakeInvalidStateResult, ER_TASK_NOT_EXIST ); /*! :category Result @class nn::boss::ResultTaskStepNotExist @brief 指定されたタスクステップが見つからない。 */ NN_DEFINE_RESULT_CONST_LSM( ResultTaskStepNotExist, MakeInvalidStateResult, ER_TASK_STEP_NOT_EXIST ); /*! :category Result @class nn::boss::ResultApliIdAlreadyExist @brief 既に同名アプリが登録されています。 */ NN_DEFINE_RESULT_CONST_LSM( ResultApliIdAlreadyExist, MakeInvalidStateResult, ER_APLI_ID_ALREADY_EXIST ); /*! :category Result @class nn::boss::ResultTaskIdAlreadyExist @brief 既に同名タスクが登録されています。 */ NN_DEFINE_RESULT_CONST_LSM( ResultTaskIdAlreadyExist, MakeInvalidStateResult, ER_TASK_ID_ALREADY_EXIST ); /*! :category Result @class nn::boss::ResultTaskStepAlreadyExist @brief 既に同名タスクステップが登録されています。 */ NN_DEFINE_RESULT_CONST_LSM( ResultTaskStepAlreadyExist, MakeInvalidStateResult, ER_TASK_STEP_ALREADY_EXIST ); /*! :category Result @class nn::boss::ResultInvalidSequence @brief シーケンスエラー(run 中のタスクのスタートなど)。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidSequence, MakeInvalidStateResult, ER_INVALID_SEQUENCE ); /*! :category Result @class nn::boss::ResultDatabaseFull @brief タスク用データベースに空きがない(タスク用データベースが一杯、かつ、データベースから情報を削除可能なタスクが存在しない)。 */ NN_DEFINE_RESULT_CONST_LSM( ResultDatabaseFull, MakeInvalidStateResult, ER_DATABASE_FULL ); /*! :category Result @class nn::boss::ResultCantUnregisterTask @brief タスク状態により、UnregisterTask 出来ない。 */ NN_DEFINE_RESULT_CONST_LSM( ResultCantUnregisterTask, MakeInvalidStateResult, ER_CANT_UNREGISTER_TASK ); /*! :category Result @class nn::boss::ResultTaskNotRegistered @brief タスク用データベースにタスクが登録されていない。 */ NN_DEFINE_RESULT_CONST_LSM( ResultTaskNotRegistered, MakeInvalidStateResult, ER_TASK_NOT_REGISTERED ); /*! :category Result @class nn::boss::ResultInvalidFileHandle @brief 不正なファイルハンドル。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidFileHandle, MakeInvalidStateResult, ER_INVALID_FILEHANDLE ); /*! :category Result @class nn::boss::ResultInvalidTaskSchedulingPolicy @brief 不正なスケジュールポリシィ。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidTaskSchedulingPolicy, MakeInvalidStateResult, ER_INVALID_TASK_SCHEDULING_POLICY ); /*! :category Result @class nn::boss::ResultInvalidHttpRequestHeader @brief HTTPリクエストヘッダエラー。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidHttpRequestHeader, MakeInvalidStateResult, ER_INVALID_HTTP_REQUEST_HEADER ); /*! :category Result @class nn::boss::ResultInvalidHeadType @brief 不正なヘッドタイプ。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidHeadType, MakeInvalidStateResult, ER_INVALID_HEADTYPE ); /*! :category Result @class nn::boss::ResultStorageAccessPermission @brief ストレージのアクセス権なし。 */ NN_DEFINE_RESULT_CONST_LSM( ResultStorageAccessPermission, MakeInvalidStateResult, ER_STORAGE_ACCESSPERMISSION ); /*! :category Result @class nn::boss::ResultStorageInsufficiency @brief ストレージの容量不足。 */ NN_DEFINE_RESULT_CONST_LSM( ResultStorageInsufficiency, MakeInvalidStateResult, ER_STORAGE_INSUFFICIENCY ); /*! :category Result @class nn::boss::ResultStorageNotFound @brief APPIDに対応したストレージがない。 */ NN_DEFINE_RESULT_CONST_LSM( ResultStorageNotFound, MakeInvalidStateResult, ER_INVALID_APPID_STORAGE_NOTFOUND ); /*! :category Result @class nn::boss::ResultNsDataNotFound @brief NS Data なし。 */ NN_DEFINE_RESULT_CONST_LSM( ResultNsDataNotFound, MakeInvalidStateResult, ER_NSDATA_NOTFOUND ); /*! :category Result @class nn::boss::ResultInvalidNsDataGetHeadSize @brief 不正なNSDATAのSIZEパラメータ指定。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidNsDataGetHeadSize, MakeInternalResult, ER_INVALID_NSDATA_GETHEAD_SIZE ); /*! :category Result @class nn::boss::ResultNsDataListSizeShortage @brief NsDataIdListのサイズ不足(すべてのNSDシリアルIDを格納できなかった)。 */ NN_DEFINE_RESULT_CONST_LSM( ResultNsDataListSizeShortage, MakeWouldBlockResult, ER_NSDATA_LIST_SIZE_SHORTAGE ); /*! :category Result @class nn::boss::ResultNsDataListUpdated @brief 前回のリスト取得時以降に、BOSSストレージの対象NSD群が更新された。 */ NN_DEFINE_RESULT_CONST_LSM( ResultNsDataListUpdated, MakeWouldBlockResult, ER_NSDATA_LIST_UPDATED ); /*! :category Result @class nn::boss::ResultNotConnectApWithLocation @brief アクセスポイントに接続されていない。 */ NN_DEFINE_RESULT_CONST_LSM( ResultNotConnectApWithLocation, MakeInvalidStateResult, ER_NOT_CONNECT_AP_WITH_LOCATION ); /*! :category Result @class nn::boss::ResultNotConnectNetwork @brief ネットワークに接続されていない。 */ NN_DEFINE_RESULT_CONST_LSM( ResultNotConnectNetwork, MakeInvalidStateResult, ER_NOT_CONNECT_NETWORK ); /*! :category Result @class nn::boss::ResultInvalidFriendcode @brief Friendコード異常時のエラー。 */ NN_DEFINE_RESULT_CONST_LSM( ResultInvalidFriendcode, MakeInvalidStateResult, ER_INVALID_FRIENDCODE ); /*! :category Result @class nn::boss::ResultFileAccess @brief ファイルアクセスに失敗。 */ NN_DEFINE_RESULT_CONST_LSM( ResultFileAccess, MakeInternalResult, ER_FILE_ACCESS ); /*! :category Result @class nn::boss::ResultTaskAlreadyPaused @brief すでに停止されていた。 */ NN_DEFINE_RESULT_CONST_LSM( ResultTaskAlreadyPaused, MakeInternalResult, ER_TASK_ALREADY_PAUSED ); /*! :category Result @class nn::boss::ResultTaskAlreadyResumed @brief すでに再開されていた。 */ NN_DEFINE_RESULT_CONST_LSM( ResultTaskAlreadyResumed, MakeInternalResult, ER_TASK_ALREADY_RESUMED ); /*! :category Result @class nn::boss::ResultUnexpect @brief 予期しないエラー。 */ NN_DEFINE_RESULT_CONST_LSM( ResultUnexpect, MakeInternalResult, ER_UNEXPECT ); /*! @} */ namespace detail { /** * @brief BOSSのPermanentエラーを表すResultを返す。 * @param summary エラーを表すResult::Summary値。 * @param errCode エラーコード(nn::http::ResultCode列挙体のいずれかの値) * @return 引数に対応するPermanentエラーを表すResult。 */ inline Result MakePermanentResult(Result::Summary summary, s32 errCode) { return nn::MakePermanentResult(summary, Result::MODULE_NN_BOSS, errCode); } /** * @brief パラメータエラーに関するリターンコードに対して、それを表すResultを返す。 * @param returnCode リターンコード(nn::boss::ResultCode列挙体のいずれかの値) * @return 引数の内容を表すResult。 */ inline Result ChangeBossRetCodeToResult(ResultCode returnCode) { switch(returnCode) { case ER_NONE: return ResultSuccess(); //break; case ER_INVALID_POLICY: return ResultInvalidPolicy(); //break; case ER_INVALID_ACTION: return ResultInvalidAction(); //break; case ER_INVALID_OPTION: return ResultInvalidOption(); //break; case ER_INVALID_APPIDLIST: return ResultInvalidAppIdList(); //break; case ER_INVALID_TASKID_LIST: return ResultInvalidTaskIdList(); //break; case ER_INVALID_STEPID_LIST: return ResultInvalidStepIdList(); //break; case ER_INVALID_NSDATA_IDLIST: return ResultInvalidNsDataIdList(); //break; case ER_INVALID_TASKSTATUS: return ResultInvalidTaskStatus(); //break; case ER_INVALID_PROPERTYVALUE: return ResultInvalidPropertyValue(); //break; case ER_INVALID_NEWARRIVAL_EVENT: return ResultInvalidNewArrivalEvent(); //break; case ER_INVALID_NEWARRIVAL_FLAG: return ResultInvalidNewArrivalFlag(); //break; case ER_INVALID_OPTOUT_FLAG: return ResultInvalidOptoutFlag(); //break; case ER_INVALID_TASKERROR: return ResultInvalidTaskError(); //break; case ER_INVALID_NSDATA_VALUE: return ResultInvalidNsDataValue(); //break; case ER_INVALID_NSDATA_INFO: return ResultInvalidNsDataInfo(); //break; case ER_INVALID_NSDATA_READFLAG: return ResultInvalidNsDataReadFlag(); //break; case ER_INVALID_NSDATA_TIME: return ResultInvalidNsDataTime(); //break; case ER_INVALID_NEXTEXECUTETIME: return ResultInvalidNextExecuteTime(); //break; case ER_HTTP_REQUEST_HEADER_POINTER_NULL: return ResultHttpRequestHeaderPointerNull(); //break; case ER_INVALID_POLICYLIST_AVAILABILITY: return ResultInvalidPolicyListAvailability(); //break; case ER_INVALID_TESTMODE_AVAILABILITY: return ResultInvalidTestModeAvailability(); //break; case ER_INVALID_TASK_ID: return ResultInvalidTaskId(); //break; case ER_INVALID_TASK_STEP: return ResultInvalidTaskStep(); //break; case ER_INVALID_PROPERTYTYPE: return ResultInvalidPropertyType(); //break; case ER_INVALID_URL: return ResultInvalidUrl(); //break; case ER_INVALID_FILEPATH: return ResultInvalidFilePath(); //break; case ER_INVALID_TASK_PRIORITY: return ResultInvalidTaskPriority(); //break; case ER_INVALID_TASK_TARGETDURATION: return ResultInvalidTaskTargetDuration(); //break; case ER_ACTIONCODE_OUT_OF_RANGE: return ResultActionCodeOutOfRange(); //break; case ER_INVALID_NSDATA_SEEK_POSITION: return ResultInvalidNsDataSeekPosition(); //break; case ER_INVALID_MAX_HTTP_REQUEST_HEADER: return ResultInvalidMaxHttpRequestHeader(); //break; case ER_INVALID_MAX_CLIENT_CERT: return ResultInvalidMaxClientCert(); //break; case ER_INVALID_MAX_ROOT_CA: return ResultInvalidMaxRootCa(); //break; case ER_SCHEDULING_POLICY_OUT_OF_RANGE: return ResultSchedulingPolicyOutOfRange(); //break; case ER_APINFOTYPE_OUT_OF_RANGE: return ResultApInfoTypeOutOfRange(); //break; case ER_TASK_PERMISSION_OUT_OF_RANGE: return ResultTaskPermissionOutOfRange(); //break; case ER_WAITFINISH_TIMEOUT: return ResultWaitFinishTimeout(); //break; case ER_WAITFINISH_TASK_NOT_DONE: return ResultWaitFinishTaskNotDone(); //break; case ER_IPC_NOT_SESSION_INITIALIZED: return ResultIpcNotSessionInitialized(); //break; case ER_IPC_PROPERTY_SIZE_ERROR: return ResultIpcPropertySizeError(); //break; case ER_IPC_TOO_MANY_REQUESTS: return ResultIpcTooManyRequests(); //break; case ER_ALREADY_INITIALIZED: return ResultAlreadyInitialized(); //break; case ER_OUT_OF_MEMORY: return ResultOutOfMemory(); //break; case ER_INVALID_NUMBER_OF_NSD: return ResultInvalidNumberOfNsd(); //break; case ER_NSDATA_INVALID_FORMAT: return ResultNsDataInvalidFormat(); //break; case ER_APLI_NOT_EXIST: return ResultAppNotExist(); //break; case ER_TASK_NOT_EXIST: return ResultTaskNotExist(); //break; case ER_TASK_STEP_NOT_EXIST: return ResultTaskStepNotExist(); //break; case ER_APLI_ID_ALREADY_EXIST: return ResultApliIdAlreadyExist(); //break; case ER_TASK_ID_ALREADY_EXIST: return ResultTaskIdAlreadyExist(); //break; case ER_TASK_STEP_ALREADY_EXIST: return ResultTaskStepAlreadyExist(); //break; case ER_INVALID_SEQUENCE: return ResultInvalidSequence(); //break; case ER_DATABASE_FULL: return ResultDatabaseFull(); //break; case ER_CANT_UNREGISTER_TASK: return ResultCantUnregisterTask(); //break; case ER_TASK_NOT_REGISTERED: return ResultTaskNotRegistered(); //break; case ER_INVALID_FILEHANDLE: return ResultInvalidFileHandle(); //break; case ER_INVALID_TASK_SCHEDULING_POLICY: return ResultInvalidTaskSchedulingPolicy(); //break; case ER_INVALID_HTTP_REQUEST_HEADER: return ResultInvalidHttpRequestHeader(); //break; case ER_INVALID_HEADTYPE: return ResultInvalidHeadType(); //break; case ER_STORAGE_ACCESSPERMISSION: return ResultStorageAccessPermission(); //break; case ER_STORAGE_INSUFFICIENCY: return ResultStorageInsufficiency(); //break; case ER_INVALID_APPID_STORAGE_NOTFOUND: return ResultStorageNotFound(); //break; case ER_NSDATA_NOTFOUND: return ResultNsDataNotFound(); //break; case ER_INVALID_NSDATA_GETHEAD_SIZE: return ResultInvalidNsDataGetHeadSize(); case ER_NSDATA_LIST_SIZE_SHORTAGE: return ResultNsDataListSizeShortage(); //break; case ER_NSDATA_LIST_UPDATED: return ResultNsDataListUpdated(); //break; case ER_NOT_CONNECT_AP_WITH_LOCATION: return ResultNotConnectApWithLocation(); //break; case ER_NOT_CONNECT_NETWORK: return ResultNotConnectNetwork(); //break; case ER_INVALID_FRIENDCODE: return ResultInvalidFriendcode(); //break; case ER_FILE_ACCESS: return ResultFileAccess(); //break; case ER_TASK_ALREADY_PAUSED: return ResultTaskAlreadyPaused(); //break; case ER_TASK_ALREADY_RESUMED: return ResultTaskAlreadyResumed(); //break; case ER_UNEXPECT: return ResultUnexpect(); //break; default: return ResultUnexpect(); //break; } } } } } #endif // __cplusplus #endif /* NN_BOSS_BOSS_RESULT_H_ */