1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: boss_TaskStatus.h 4 5 Copyright (C)2009 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: 34430 $ 14 *---------------------------------------------------------------------------*/ 15 16 #ifndef NN_BOSS_BOSS_TASK_STATUS_H_ 17 #define NN_BOSS_BOSS_TASK_STATUS_H_ 18 19 #include <nn/boss/boss_Const.h> 20 #include <nn/boss/boss_Result.h> 21 #include <nn/boss/boss_Types.h> 22 23 #ifdef __cplusplus 24 25 namespace nn { 26 namespace boss { 27 28 /*! 29 @brief タスクステータスを表すクラスです。タスクの状態を取得する場合などに利用します。 30 */ 31 class TaskStatus 32 { 33 public: 34 /*! 35 @brief コンストラクタです。 36 */ 37 explicit TaskStatus(void); 38 39 /*! 40 @brief デストラクタです。 41 */ 42 virtual ~TaskStatus(void); 43 44 /*! 45 @brief クラス内のプロパティの値を取得します。 46 47 下記のプロパティを使用できます。 説明部のデータ型の領域を確保した後、呼び出してください。\n 48 ステータスを確認したいタイミングで、nn::boss::GetTaskStatus()を呼び出す必要があります。\n 49 識別子 説明 \n 50 TASK_STATE_CODE タスクの状態情報。データの型は、TaskStateCode です。 \n 51 TASK_RESULT_CODE タスク実行結果コード。データの型は、TaskResultCode です。 \n 52 TASK_SERVICE_STATUS タスク属性で指定したURLのサービス利用可能ステータス。データの型は、TaskServiceStatus です。 \n 53 TASK_SERVICE_TERMINATED タスク属性で指定したURLのサービス利用可能フラグ。データの型は、bool です。 \n 54 TASK_COMM_ERROR_CODE タスク実行時の通信エラーコード。データの型は、u32 です。 \n 55 TASK_CURRENT_PRIORITY 現在のタスク実行の優先順位。データの型は、u8 です。 \n 56 TASK_EXECUTE_COUNT タスクの消尽回数。データの型は、u32 です。 \n 57 TASK_PENDING_TIME タスク実行開始予定時刻からの経過時間。データの型は、u32(秒) です。 \n 58 TASK_START_TIME 2000/1/1を基点としたタスク実行開始予定時刻。データの型は、s64(秒) です。 \n 59 TASK_PROGRESS ダウンロード済みバイト数。データの型は、u32 です。 \n 60 TASK_DATA_SIZE ダウンロード対象のURLの総バイト数。データの型は、u32 です。 \n 61 TASK_CURRENT_STEP 実行中のタスクステップID番号。データの型は、u8 です。 \n 62 TASK_LAST_MODIFIED_TIME HTTPレスポンスヘッダで返された最終更新日時。データの型は、char[MAX_LASTMODIFIED_LENGTH] です。 \n 63 64 @param[in] type プロパティの識別子を指定します。 65 @param[out] pValue 値を指定します。 66 @param[in] size 値のサイズを指定します。 67 @return 関数の実行結果を返します。以下に挙げる Result を返します。 68 @retval ResultSuccess 取得に成功しました。 69 @retval ResultInvalidPropertyValue プロパティ値のポインタがNULLです。 70 @retval ResultInvalidPropertyType プロパティタイプがサポート外です。 71 @retval 上記以外 想定外のエラー(エラー内容については、@ref boss_Result.h を参照)。 72 */ 73 Result GetProperty(PropertyType type, void* pValue, size_t size); 74 75 protected: 76 friend class AccessConfig; 77 NN_PADDING4; 78 TaskStatusInfo m_Status; 79 }; 80 81 82 83 84 85 } // end of namespace boss 86 } // end of namespace nn 87 88 #endif // __cplusplus 89 90 #endif /* NN_BOSS_BOSS_TASK_STATUS_H_ */ 91 92