1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     ac_Result.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: 26014 $
14  *---------------------------------------------------------------------------*/
15 
16 #ifndef NN_AC_AC_RESULT_H_
17 #define NN_AC_AC_RESULT_H_
18 
19 #include <nn/Result.h>
20 
21 #ifdef __cplusplus
22 
23 namespace nn { namespace ac {
24 //新しい定義
25 
26     /*
27         @brief Result コードの詳細
28     */
29     enum Description
30     {
31         DESCRIPTION_WAN_CONNECTED = 0,                    //!< WAN接続中
32         DESCRIPTION_LAN_CONNECTED,                        //!< LAN接続中
33         DESCRIPTION_UNNECESSARY_HOTSPOT_LOGOUT,           //!< ホットスポット認証ログアウト不要
34 
35         DESCRIPTION_FAILED_STARTUP = 100,                 //!< 無線デバイスの初期化に失敗
36         DESCRIPTION_FAILED_CONNECT_AP,                    //!< アクセスポイントへの接続に失敗
37         DESCRIPTION_FAILED_DHCP,                          //!< IPアドレスの取得に失敗
38         DESCRIPTION_CONFLICT_IP_ADDRESS,                  //!< IPアドレスが衝突
39         DESCRIPTION_INVALID_KEY_VALUE,                    //!< 暗号化鍵間違え
40         DESCRIPTION_UNSUPPORT_AUTH_ALGORITHM,             //!< 非対応の暗号化方式
41 
42         DESCRIPTION_INVALID_DNS,                          //!< 名前解決に失敗
43         DESCRIPTION_INVALID_PROXY,                        //!< プロキシサーバへの接続に失敗
44         DESCRIPTION_FAILED_CONNTEST,                      //!< HTTPサーバへの接続に失敗
45 
46         DESCRIPTION_UNSUPPORT_HOTSPOT,                    //!< 非対応のホットスポットからの接続
47         DESCRIPTION_FAILED_HOTSPOT_AUTHENTICATION,        //!< ホットスポット認証に失敗
48         DESCRIPTION_FAILED_HOTSPOT_CONNTEST,              //!< ホットスポット認証後のHTTPサーバへの接続に失敗
49         DESCRIPTION_UNSUPPORT_PLACE,                      //!< アプリケーションのインターネット利用できない場所
50         DESCRIPTION_FAILED_HOTSPOT_LOGOUT,                //!< ホットスポット認証ログアウトに失敗
51         DESCRIPTION_ALREADY_CONNECT_UNSUPPORT_AP,         //!< 既に非対応のアクセスポイントに接続中
52 
53         DESCRIPTION_FAILED_SCAN = 300,                    //!< スキャンに失敗
54         DESCRIPTION_ALREADY_CONNECTING,                   //!< 既に接続中
55         DESCRIPTION_NOT_CONNECTING,                       //!< 接続していない
56         DESCRIPTION_ALREADY_EXCLUSIVE,                    //!< 既に独占中
57         DESCRIPTION_NOT_EXCLUSIVE,                        //!< 独占していない
58         DESCRIPTION_INVALID_LOCATION,                     //!< 不正な場所
59 
60         DESCRIPTION_NOT_AGREE_EULA = 900,                 //!< EULA非同意
61         DESCRIPTION_WIFI_OFF,                             //!< 無線 OFF モード
62         DESCRIPTION_BROKEN_NAND,                          //!< NANDデバイスが故障
63         DESCRIPTION_BROKEN_WIRELESS,                      //!< 無線デバイスが故障
64 
65         DESCRIPTION_END
66     };
67 
68     /*!
69       @name   Result 値
70       @{
71     */
72 
73     /*!
74         @class nn::ac::ResultAlreadyInitialized
75         @brief 既に初期化済のプロセスに対して、多重で初期化しようとしたことを示します。
76                初期化回数は参照カウントを持っていますので、初期化した回数だけ開放を呼び出してください。
77     */
78         NN_DEFINE_RESULT_CONST(
79                 ResultAlreadyInitialized,
80             Result::LEVEL_SUCCESS, Result::SUMMARY_NOTHING_HAPPENED, Result::MODULE_NN_AC, Result::DESCRIPTION_ALREADY_INITIALIZED
81         );
82 
83     /*!
84         @class nn::ac::ResultNotInitialized
85         @brief 既に開放済のプロセスに対して、多重で開放しようとしたことを示します。
86     */
87         NN_DEFINE_RESULT_CONST(
88                 ResultNotInitialized,
89             Result::LEVEL_SUCCESS, Result::SUMMARY_NOTHING_HAPPENED, Result::MODULE_NN_AC, Result::DESCRIPTION_NOT_INITIALIZED
90         );
91 
92     /*!
93         @class nn::ac::ResultCanceled
94         @brief 処理をキャンセルしたことを示します。
95     */
96         NN_DEFINE_RESULT_CONST(
97                 ResultCanceled,
98             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, Result::DESCRIPTION_CANCEL_REQUESTED
99         );
100 
101     /*!
102         @class nn::ac::ResultInvalidData
103         @brief 不正なデータだったことを示します。
104     */
105         NN_DEFINE_RESULT_CONST(
106                 ResultInvalidData,
107             Result::LEVEL_USAGE, Result::SUMMARY_WOULD_BLOCK, Result::MODULE_NN_AC, Result::DESCRIPTION_INVALID_RESULT_VALUE
108         );
109 
110     /*!
111         @class nn::ac::ResultInvalidArgumentOutOfRange
112         @brief 不正な範囲の引数を指定したことを示します。
113     */
114         NN_DEFINE_RESULT_CONST(
115                 ResultInvalidArgumentOutOfRange,
116             Result::LEVEL_USAGE, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_AC, Result::DESCRIPTION_OUT_OF_RANGE
117         );
118 
119     /*!
120         @class nn::ac::ResultOutOfMemory
121         @brief メモリが不足した為処理を継続できなかったことを示します。
122     */
123         NN_DEFINE_RESULT_CONST(
124                 ResultOutOfMemory,
125             Result::LEVEL_FATAL, Result::SUMMARY_INTERNAL, Result::MODULE_NN_AC, Result::DESCRIPTION_OUT_OF_MEMORY
126         );
127 
128     /*!
129         @class nn::ac::ResultAlreadyExists
130         @brief 非同期処理実行中に更に非同期処理を呼び出した時に、要求を継続できなかったことを示します。
131     */
132         NN_DEFINE_RESULT_CONST(
133                 ResultAlreadyExists,
134             Result::LEVEL_USAGE, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_AC, Result::DESCRIPTION_ALREADY_EXISTS
135         );
136 
137     /*!
138         @class nn::ac::ResultNotAgreeEula
139         @brief EULA非同意によってキャンセルしたことを示します。
140     */
141         NN_DEFINE_RESULT_CONST(
142                 ResultNotAgreeEula,
143             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_NOT_AGREE_EULA
144         );
145 
146     /*!
147         @class nn::ac::ResultWifiOff
148         @brief 無線 OFF モードのため通信できなかったことを示します。
149     */
150         NN_DEFINE_RESULT_CONST(
151                 ResultWifiOff,
152             Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_AC, DESCRIPTION_WIFI_OFF
153         );
154 
155     /*!
156         @class nn::ac::ResultBrokenNand
157         @brief NANDデバイスが故障している為、正常に動作できないことを示します。
158     */
159         NN_DEFINE_RESULT_CONST(
160                 ResultBrokenNand,
161             Result::LEVEL_FATAL, Result::SUMMARY_OUT_OF_RESOURCE, Result::MODULE_NN_AC, DESCRIPTION_BROKEN_NAND
162         );
163 
164     /*!
165         @class nn::ac::ResultBrokenWireless
166         @brief 無線デバイスが故障している為、正常に動作できないことを示します。
167     */
168         NN_DEFINE_RESULT_CONST(
169                 ResultBrokenWireless,
170             Result::LEVEL_FATAL, Result::SUMMARY_OUT_OF_RESOURCE, Result::MODULE_NN_AC, DESCRIPTION_BROKEN_WIRELESS
171         );
172 
173     /*!
174         @class nn::ac::ResultNotFoundAccessPoint
175         @brief @ref Connect / @ref ConnectAsync で接続しようとしたが、アクセスポイントが見つからなかったことを示します。
176     */
177         NN_DEFINE_RESULT_CONST(
178                 ResultNotFoundAccessPoint,
179             Result::LEVEL_STATUS, Result::SUMMARY_NOT_FOUND, Result::MODULE_NN_AC, Result::DESCRIPTION_NOT_FOUND
180         );
181 
182     /*!
183         @class nn::ac::ResultFailedStartup
184         @brief 何らかの理由により、無線デバイスの初期化に失敗したことを示します。
185     */
186         NN_DEFINE_RESULT_CONST(
187                 ResultFailedStartup,
188             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_FAILED_STARTUP
189         );
190 
191     /*!
192         @class nn::ac::ResultFailedConnectAp
193         @brief 何らかの理由により、アクセスポイントへの接続に失敗したことを示します。
194     */
195         NN_DEFINE_RESULT_CONST(
196                 ResultFailedConnectAp,
197             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_FAILED_CONNECT_AP
198         );
199 
200     /*!
201         @class nn::ac::ResultInvalidKeyValue
202         @brief アクセスポイントに接続しようとしたが、暗号化鍵を間違えていることを示します。
203                暗号化鍵を間違えた時に必ずこの Result が返る保障はありません。
204     */
205         NN_DEFINE_RESULT_CONST(
206                 ResultInvalidKeyValue,
207             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_INVALID_KEY_VALUE
208         );
209 
210     /*!
211         @class nn::ac::ResultFailedDhcp
212         @brief DHCPによるIPアドレス取得に失敗したことを示します。
213     */
214         NN_DEFINE_RESULT_CONST(
215                 ResultFailedDhcp,
216             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_FAILED_DHCP
217         );
218 
219     /*!
220         @class nn::ac::ResultConflictIpAddress
221         @brief 取得したIPアドレスが衝突したことを示します。
222     */
223         NN_DEFINE_RESULT_CONST(
224                 ResultConflictIpAddress,
225             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_CONFLICT_IP_ADDRESS
226         );
227 
228     /*!
229         @class nn::ac::ResultUnsupportAuthAlgorithm
230         @brief 非対応の暗号化方式のアクセスポイントに接続しようとしたことを示します。
231     */
232         NN_DEFINE_RESULT_CONST(
233                 ResultUnsupportAuthAlgorithm,
234             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_UNSUPPORT_AUTH_ALGORITHM
235         );
236 
237     /*!
238         @class nn::ac::ResultInvalidDns
239         @brief 名前解決に失敗したことを示します。
240     */
241         NN_DEFINE_RESULT_CONST(
242                 ResultInvalidDns,
243             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_INVALID_DNS
244         );
245 
246     /*!
247         @class nn::ac::ResultInvalidProxy
248         @brief プロキシサーバへの接続に失敗したことを示します。
249     */
250         NN_DEFINE_RESULT_CONST(
251                 ResultInvalidProxy,
252             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_INVALID_PROXY
253         );
254 
255     /*!
256         @class nn::ac::ResultFailedConnTest
257         @brief HTTPサーバへの接続に失敗したことを示します。
258     */
259         NN_DEFINE_RESULT_CONST(
260                 ResultFailedConnTest,
261             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_FAILED_CONNTEST
262         );
263 
264     /*!
265         @class nn::ac::ResultUnsupportHotspot
266         @brief 非対応のホットスポットから接続しようとしたことを示します。
267     */
268         NN_DEFINE_RESULT_CONST(
269                 ResultUnsupportHotspot,
270             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_UNSUPPORT_HOTSPOT
271         );
272 
273     /*!
274         @class nn::ac::ResultFailedHotspotAuthentication
275         @brief ホットスポット認証に失敗したことを示します。
276     */
277         NN_DEFINE_RESULT_CONST(
278                 ResultFailedHotspotAuthentication,
279             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_FAILED_HOTSPOT_AUTHENTICATION
280         );
281 
282     /*!
283         @class nn::ac::ResultFailedHotspotConntest
284         @brief ホットスポット認証後のHTTPサーバへの接続に失敗したことを示します。
285     */
286         NN_DEFINE_RESULT_CONST(
287                 ResultFailedHotspotConntest,
288             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_FAILED_HOTSPOT_CONNTEST
289         );
290 
291     /*!
292         @class nn::ac::ResultFailedHotspotLogout
293         @brief ホットスポット認証ログアウトに失敗したことを示します。
294     */
295         NN_DEFINE_RESULT_CONST(
296                 ResultFailedHotspotLogout,
297             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_FAILED_HOTSPOT_LOGOUT
298         );
299 
300     /*!
301         @class nn::ac::ResultUnsupportPlace
302         @brief アプリケーションのインターネット利用できない場所で接続しようとして失敗したことを示します。
303     */
304         NN_DEFINE_RESULT_CONST(
305                 ResultUnsupportPlace,
306             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_UNSUPPORT_PLACE
307         );
308 
309     /*!
310         @class nn::ac::ResultFailedHotspotLogout
311         @brief ホットスポット認証ログアウトに失敗したことを示します。
312     */
313         NN_DEFINE_RESULT_CONST(
314                 ResultFailedHotspotLogout,
315             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_FAILED_HOTSPOT_LOGOUT
316         );
317 
318     /*!
319         @class nn::ac::ResultAlreadyConnectUnsupportAp
320         @brief 既に非対応のアクセスポイントに接続中のため、接続に失敗したことを示します。
321     */
322         NN_DEFINE_RESULT_CONST(
323                 ResultAlreadyConnectUnsupportAp,
324             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_ALREADY_CONNECT_UNSUPPORT_AP
325         );
326 
327     /*!
328         @class nn::ac::ResultFailedScan
329         @brief スキャンに失敗したことを示します。
330     */
331         NN_DEFINE_RESULT_CONST(
332                 ResultFailedScan,
333             Result::LEVEL_STATUS, Result::SUMMARY_CANCELLED, Result::MODULE_NN_AC, DESCRIPTION_FAILED_SCAN
334         );
335 
336     /*!
337         @class nn::ac::ResultAlreadyConnecting
338         @brief 接続しようとしたが、既に接続中であることを示します。
339     */
340         NN_DEFINE_RESULT_CONST(
341                 ResultAlreadyConnecting,
342             Result::LEVEL_USAGE, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_AC, DESCRIPTION_ALREADY_CONNECTING
343         );
344 
345     /*!
346         @class nn::ac::ResultNotConnecting
347         @brief 接続が完了していないことを示します。
348     */
349         NN_DEFINE_RESULT_CONST(
350                 ResultNotConnecting,
351             Result::LEVEL_USAGE, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_AC, DESCRIPTION_NOT_CONNECTING
352         );
353 
354     /*!
355         @class nn::ac::ResultAlreadyExclusive
356         @brief 独占しようとしたが、既に独占中であることを示します。
357     */
358         NN_DEFINE_RESULT_CONST(
359                 ResultAlreadyExclusive,
360             Result::LEVEL_USAGE, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_AC, DESCRIPTION_ALREADY_EXCLUSIVE
361         );
362 
363     /*!
364         @class nn::ac::ResultNotExclusive
365         @brief 独占が完了していないことを示します。
366     */
367         NN_DEFINE_RESULT_CONST(
368                 ResultNotExclusive,
369             Result::LEVEL_USAGE, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_AC, DESCRIPTION_NOT_EXCLUSIVE
370         );
371 
372     /*!
373         @class nn::ac::ResultInvalidLocation
374         @brief 不正な場所での実行を示します。
375     */
376         NN_DEFINE_RESULT_CONST(
377                 ResultInvalidLocation,
378             Result::LEVEL_STATUS, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_AC, DESCRIPTION_INVALID_LOCATION
379         );
380 
381     /*!
382         @class nn::ac::ResultLanConnected
383         @brief LANモードで接続中を示します。
384     */
385         NN_DEFINE_RESULT_CONST(
386                 ResultLanConnected,
387             Result::LEVEL_INFO, Result::SUMMARY_SUCCESS, Result::MODULE_NN_AC, DESCRIPTION_LAN_CONNECTED
388         );
389 
390     /*!
391         @class nn::ac::ResultWanConnected
392         @brief WANモードで接続中を示します。
393     */
394         NN_DEFINE_RESULT_CONST(
395                 ResultWanConnected,
396             Result::LEVEL_INFO, Result::SUMMARY_SUCCESS, Result::MODULE_NN_AC, DESCRIPTION_WAN_CONNECTED
397         );
398 
399     /*!
400         @class nn::ac::ResultUnnecessaryHotspotLogout
401         @brief ホットスポットログアウトが不要であることを示します。
402     */
403         NN_DEFINE_RESULT_CONST(
404                 ResultUnnecessaryHotspotLogout,
405             Result::LEVEL_INFO, Result::SUMMARY_SUCCESS, Result::MODULE_NN_AC, DESCRIPTION_UNNECESSARY_HOTSPOT_LOGOUT
406         );
407 }}
408 
409 #endif // __cplusplus
410 
411 #endif
412