1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: boss_NsaDownloadAction.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: 33031 $ 14 *---------------------------------------------------------------------------*/ 15 16 #ifndef NN_BOSS_BOSS_NSA_DOWNLOAD_ACTION_H_ 17 #define NN_BOSS_BOSS_NSA_DOWNLOAD_ACTION_H_ 18 19 #include <nn/boss/boss_TaskAction.h> 20 21 #ifdef __cplusplus 22 23 namespace nn { 24 namespace boss { 25 26 /*! 27 @brief NADLタスクを表すクラスです。NADLタスクを登録する場合などに利用します。 28 */ 29 class NsaDownloadAction : public TaskAction 30 { 31 public: 32 /*! 33 @brief コンストラクタです。 34 */ 35 explicit NsaDownloadAction(void); 36 37 /*! 38 @brief デストラクタです。 39 */ 40 virtual ~NsaDownloadAction(void); 41 42 /*! 43 @brief NSAダウンロードの設定を行います。この初期化にとってオブジェクトの再利用が可能になります。 44 この時点では、設定したURLが実際に使用できるか、確認されません。 45 実際にタスクの実行時に問題があればエラーとなりますので、ご注意ください。 46 また、接続されるアクセスポイントによっても実行結果が変わる可能性もあります。 47 @param[in] pUrl ダウンロードしたいURLを指定します。(最大511文字以内で記述してください) 48 @return 関数の実行結果を返します。以下に挙げる Result を返します。 49 @retval ResultSuccess 初期化に成功しました。 50 @retval ResultInvalidUrl URL文字列のポインタがNULLまたは0文字列です。 51 @retval 上記以外 想定外のエラー(エラー内容については、@ref boss_Result.h を参照)。 52 */ 53 nn::Result Initialize(const char* pUrl); 54 55 /*! 56 @brief クラス内のプロパティの値を設定します。説明部のデータ型の領域を確保した後、呼び出してください。 57 下記のプロパティを使用できます。\n 58 識別子 説明 \n 59 ACTION_URL 対象のURL。データの型は、char[MAX_URL_LENGTH] です。 \n 60 @param[in] type プロパティの識別子を指定します。 61 @param[in] pValue 値を指定します。 62 @param[in] size 値のサイズを指定します。 63 @return 関数の実行結果を返します。以下に挙げる Result を返します。 64 @retval ResultSuccess 設定に成功しました。 65 @retval ResultInvalidPropertyValue プロパティ値のポインタがNULLです。 66 @retval ResultInvalidPropertyType プロパティタイプがサポート外です。 67 @retval 上記以外 想定外のエラー(エラー内容については、@ref boss_Result.h を参照)。 68 */ 69 nn::Result virtual SetProperty(PropertyType type, const void* pValue, size_t size); 70 71 /*! 72 @brief クラス内のプロパティの値を取得します。説明部のデータ型の領域を確保した後、呼び出してください。 73 下記のプロパティを使用できます。\n 74 識別子 説明 \n 75 ACTION_URL 対象のURL。データの型は、char[MAX_URL_LENGTH] です。 \n 76 ACTION_HTTP_HEADER URLのオプションリクエストヘッダ構造体。データの型は、struct httpRequestHeader[MAX_HTTP_HEADER] です。 \n 77 ACTION_CLIENT_CERT https通信用の内蔵クライアント証明書。データの型は、nn::http::InternalClientCertId[MAX_CLIENT_CERT] です。 \n 78 ACTION_CLIENT_CERT_NUM 内蔵クライアント証明書の設定数。データの型は、u32 です。 \n 79 ACTION_ROOT_CA https通信用の内蔵ルート証明書。データの型は、nn::http::InternalCaCertId です。 \n 80 ACTION_ROOT_CA_NUM 内蔵ルート証明書を指定の設定数。データの型は、u32 です。 \n 81 ACTION_PRIVATE_CLIENT_CERT プライベートクライアント証明書の有効フラグ。データの型は、u8 です。 \n 82 ACTION_PRIVATE_ROOT_CA プライベートルート証明書の有効フラグ。データの型は、u8 です。 \n 83 ACTION_AP_INFO HTTPクエリーへAP情報付与のためのアクセスポイント情報種別。データの型は、ApInfoType です。 \n 84 @param[in] type プロパティの識別子を指定します。 85 @param[out] pValue 値を指定します。 86 @param[in] size 値のサイズを指定します。 87 @return 関数の実行結果を返します。以下に挙げる Result を返します。 88 @retval ResultSuccess 取得に成功しました。 89 @retval ResultInvalidPropertyValue プロパティ値のポインタがNULLです。 90 @retval ResultInvalidPropertyType プロパティタイプがサポート外です。 91 @retval 上記以外 想定外のエラー(エラー内容については、@ref boss_Result.h を参照)。 92 */ 93 nn::Result virtual GetProperty(PropertyType type, void* pValue, size_t size); 94 95 }; 96 97 } // end of namespace boss 98 } // end of namespace nn 99 100 #endif // __cplusplus 101 102 #endif /* NN_BOSS_BOSS_NSA_DOWNLOAD_ACTION_H_ */ 103 104