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