1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: http_Const.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: 26681 $ 14 *---------------------------------------------------------------------------*/ 15 16 #ifndef NN_HTTP_HTTP_CONST_H_ 17 #define NN_HTTP_HTTP_CONST_H_ 18 19 #include <nn/net/compatible/nhttp.h> 20 21 /*! 22 @addtogroup nn_http http 23 @{ 24 */ 25 26 /*! 27 @brief HTTPリクエストのメソッド 28 */ 29 enum nnHttpRequestMethod 30 { 31 NN_HTTP_REQUEST_METHOD_NONE = NHTTP_REQMETHOD_NONE, //!< メソッド無し(ライブラリ内部でのみ使用) 32 NN_HTTP_REQUEST_METHOD_GET = NHTTP_REQMETHOD_GET, //!< GETメソッド 33 NN_HTTP_REQUEST_METHOD_POST = NHTTP_REQMETHOD_POST, //!< POSTメソッド 34 NN_HTTP_REQUEST_METHOD_HEAD = NHTTP_REQMETHOD_HEAD //!< HEADメソッド 35 }; 36 37 38 39 /*! 40 @brief POSTデータのエンコーディングタイプ 41 */ 42 enum nnHttpEncodingType 43 { 44 NN_HTTP_ENCODING_TYPE_AUTO = NHTTP_ENCODING_TYPE_AUTO, //!< 自動設定(default) 45 NN_HTTP_ENCODING_TYPE_URL = NHTTP_ENCODING_TYPE_URL, //!< application/x-www-form-urlencoded 46 NN_HTTP_ENCODING_TYPE_MULTIPART = NHTTP_ENCODING_TYPE_MULTIPART //!< multipart/form-data 47 }; 48 49 50 /*! 51 @brief POSTデータのタイプ 52 */ 53 enum nnHttpPostDataType 54 { 55 NN_HTTP_POST_DATA_TYPE_URLENCODE = NHTTP_POST_DATA_TYPE_URLENCODE, //!< URLENCODE形式 56 NN_HTTP_POST_DATA_TYPE_MULTIPART = NHTTP_POST_DATA_TYPE_MULTIPART, //!< MULTIPART形式 57 NN_HTTP_POST_DATA_TYPE_RAW = NHTTP_POST_DATA_TYPE_RAW //!< RAW形式 58 }; 59 60 61 /*! 62 @brief 接続ハンドルの状態 63 */ 64 enum nnHttpStatus 65 { 66 NN_HTTP_STATUS_CREATED = NHTTP_CONNST_CREATED, //!< 初期状態 67 NN_HTTP_STATUS_INITIALIZED = NHTTP_CONNST_INITIALIZED, //!< 初期化完了 68 NN_HTTP_STATUS_ENQUEUED_LSN = NHTTP_CONNST_ENQUEUED_LSN, //!< リスナースレッドのキューに入っている 69 NN_HTTP_STATUS_IN_LSN = NHTTP_CONNST_IN_LSN, //!< リスナースレッドで処理中 70 NN_HTTP_STATUS_ENQUEUED_COMM = NHTTP_CONNST_ENQUEUED_COMM, //!< 通信スレッドのキューに入っている 71 NN_HTTP_STATUS_CONNECTING = NHTTP_CONNST_CONNECTING, //!< 接続処理中 72 NN_HTTP_STATUS_SENDING = NHTTP_CONNST_SENDING, //!< データ送信中 73 NN_HTTP_STATUS_RECEIVING_HEADER = NHTTP_CONNST_RECEIVING_HEADER, //!< ヘッダ受信中 74 NN_HTTP_STATUS_RECEIVING_BODY = NHTTP_CONNST_RECEIVING_BODY, //!< ボディ受信中 75 NN_HTTP_STATUS_RECEIVED = NHTTP_CONNST_RECEIVED, //!< 受信終了 76 NN_HTTP_STATUS_FINISHED = NHTTP_CONNST_FINISHED //!< 処理終了 77 }; 78 79 80 /*! 81 @} 82 */ 83 84 #ifdef __cplusplus 85 86 namespace nn { 87 namespace http { 88 89 /*! 90 @brief HTTPリクエストのメソッド 91 */ 92 enum RequestMethod 93 { 94 REQUEST_METHOD_NONE = NN_HTTP_REQUEST_METHOD_NONE, //!< メソッド無し(ライブラリ内部でのみ使用) 95 REQUEST_METHOD_GET = NN_HTTP_REQUEST_METHOD_GET, //!< GETメソッド 96 REQUEST_METHOD_POST = NN_HTTP_REQUEST_METHOD_POST, //!< POSTメソッド 97 REQUEST_METHOD_HEAD = NN_HTTP_REQUEST_METHOD_HEAD //!< HEADメソッド 98 }; 99 100 101 /*! 102 @brief POSTデータのエンコーディングタイプ 103 */ 104 enum EncodingType 105 { 106 ENCODING_TYPE_AUTO = NN_HTTP_ENCODING_TYPE_AUTO, //!< 自動設定(default) 107 ENCODING_TYPE_URL = NN_HTTP_ENCODING_TYPE_URL, //!< application/x-www-form-urlencoded 108 ENCODING_TYPE_MULTIPART = NN_HTTP_ENCODING_TYPE_MULTIPART //!< multipart/form-data 109 }; 110 111 112 /*! 113 @brief POSTデータのタイプ 114 */ 115 enum PostDataType 116 { 117 POST_DATA_TYPE_URLENCODE = NN_HTTP_POST_DATA_TYPE_URLENCODE, //!< URLENCODE形式 118 POST_DATA_TYPE_MULTIPART = NN_HTTP_POST_DATA_TYPE_MULTIPART, //!< MULTIPART形式 119 POST_DATA_TYPE_RAW = NN_HTTP_POST_DATA_TYPE_RAW //!< RAW形式 120 }; 121 122 123 /*! 124 @brief 接続の状態 125 */ 126 enum Status 127 { 128 STATUS_CREATED = NN_HTTP_STATUS_CREATED, //!< 初期状態 129 STATUS_INITIALIZED = NN_HTTP_STATUS_INITIALIZED, //!< 初期化完了 130 STATUS_ENQUEUED_LSN = NN_HTTP_STATUS_ENQUEUED_LSN, //!< リスナースレッドのキューに入っている 131 STATUS_IN_LSN = NN_HTTP_STATUS_IN_LSN, //!< リスナースレッドで処理中 132 STATUS_ENQUEUED_COMM = NN_HTTP_STATUS_ENQUEUED_COMM, //!< 通信スレッドのキューに入っている 133 STATUS_CONNECTING = NN_HTTP_STATUS_CONNECTING, //!< 接続処理中 134 STATUS_SENDING = NN_HTTP_STATUS_SENDING, //!< データ送信中 135 STATUS_RECEIVING_HEADER = NN_HTTP_STATUS_RECEIVING_HEADER, //!< ヘッダ受信中 136 STATUS_RECEIVING_BODY = NN_HTTP_STATUS_RECEIVING_BODY, //!< ボディ受信中 137 STATUS_RECEIVED = NN_HTTP_STATUS_RECEIVED, //!< 受信終了 138 STATUS_FINISHED = NN_HTTP_STATUS_FINISHED //!< 処理終了 139 }; 140 141 142 /*! 143 @brief プロキシの認証タイプ 144 */ 145 enum ProxyAuthType 146 { 147 PROXY_AUTH_TYPE_NONE, //!< 認証無し 148 PROXY_AUTH_TYPE_BASIC //!< ベーシック認証 149 }; 150 151 152 namespace detail 153 { 154 /** 155 * 接続ハンドルコールバックイベント 156 */ 157 enum ConnectionEvent 158 { 159 CONN_EV_NONE = NHTTP_CONN_EV_NONE, //!< イベント無し(ライブラリ内部でのみ使用) 160 CONN_EV_POST_SEND = NHTTP_CONN_EV_POST_SEND, //!< POSTストリーミング送信開始 161 CONN_EV_POST_SEND_ALL = NHTTP_CONN_EV_POST_SEND_ALL, //!< POSTストリーミング送信開始(全データ指定モード) 162 CONN_EV_HEADER_RECV_DONE = NHTTP_CONN_EV_HEADER_RECV_DONE, //!< ヘッダ受信完了 163 CONN_EV_BODY_RECV_FULL = NHTTP_CONN_EV_BODY_RECV_FULL, //!< ボディ受信バッファの満了 164 CONN_EV_BODY_RECV_DONE = NHTTP_CONN_EV_BODY_RECV_DONE, //!< ボディ受信完了 165 CONN_EV_COMPLETE = NHTTP_CONN_EV_COMPLETE, //!< 接続ハンドル処理完了 166 CONN_EV_MAX = NHTTP_CONN_EV_MAX //!< イベント最大値(ライブラリ内部でのみ使用) 167 }; 168 } // end of namespace detail 169 170 171 } // end of namespace http 172 } // end of namespace nn 173 174 175 #endif /*__cplusplus*/ 176 177 #endif /* NN_HTTP_HTTP_CONST_H_ */ 178