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