• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2016 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #include "wifi_status_util.h"
18 
19 namespace android {
20 namespace hardware {
21 namespace wifi {
22 namespace V1_3 {
23 namespace implementation {
24 
legacyErrorToString(legacy_hal::wifi_error error)25 std::string legacyErrorToString(legacy_hal::wifi_error error) {
26     switch (error) {
27         case legacy_hal::WIFI_SUCCESS:
28             return "SUCCESS";
29         case legacy_hal::WIFI_ERROR_UNINITIALIZED:
30             return "UNINITIALIZED";
31         case legacy_hal::WIFI_ERROR_NOT_AVAILABLE:
32             return "NOT_AVAILABLE";
33         case legacy_hal::WIFI_ERROR_NOT_SUPPORTED:
34             return "NOT_SUPPORTED";
35         case legacy_hal::WIFI_ERROR_INVALID_ARGS:
36             return "INVALID_ARGS";
37         case legacy_hal::WIFI_ERROR_INVALID_REQUEST_ID:
38             return "INVALID_REQUEST_ID";
39         case legacy_hal::WIFI_ERROR_TIMED_OUT:
40             return "TIMED_OUT";
41         case legacy_hal::WIFI_ERROR_TOO_MANY_REQUESTS:
42             return "TOO_MANY_REQUESTS";
43         case legacy_hal::WIFI_ERROR_OUT_OF_MEMORY:
44             return "OUT_OF_MEMORY";
45         case legacy_hal::WIFI_ERROR_BUSY:
46             return "BUSY";
47         case legacy_hal::WIFI_ERROR_UNKNOWN:
48             return "UNKNOWN";
49     }
50 }
51 
createWifiStatus(WifiStatusCode code,const std::string & description)52 WifiStatus createWifiStatus(WifiStatusCode code,
53                             const std::string& description) {
54     return {code, description};
55 }
56 
createWifiStatus(WifiStatusCode code)57 WifiStatus createWifiStatus(WifiStatusCode code) {
58     return createWifiStatus(code, "");
59 }
60 
createWifiStatusFromLegacyError(legacy_hal::wifi_error error,const std::string & desc)61 WifiStatus createWifiStatusFromLegacyError(legacy_hal::wifi_error error,
62                                            const std::string& desc) {
63     switch (error) {
64         case legacy_hal::WIFI_ERROR_UNINITIALIZED:
65         case legacy_hal::WIFI_ERROR_NOT_AVAILABLE:
66             return createWifiStatus(WifiStatusCode::ERROR_NOT_AVAILABLE, desc);
67 
68         case legacy_hal::WIFI_ERROR_NOT_SUPPORTED:
69             return createWifiStatus(WifiStatusCode::ERROR_NOT_SUPPORTED, desc);
70 
71         case legacy_hal::WIFI_ERROR_INVALID_ARGS:
72         case legacy_hal::WIFI_ERROR_INVALID_REQUEST_ID:
73             return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS, desc);
74 
75         case legacy_hal::WIFI_ERROR_TIMED_OUT:
76             return createWifiStatus(WifiStatusCode::ERROR_UNKNOWN,
77                                     desc + ", timed out");
78 
79         case legacy_hal::WIFI_ERROR_TOO_MANY_REQUESTS:
80             return createWifiStatus(WifiStatusCode::ERROR_UNKNOWN,
81                                     desc + ", too many requests");
82 
83         case legacy_hal::WIFI_ERROR_OUT_OF_MEMORY:
84             return createWifiStatus(WifiStatusCode::ERROR_UNKNOWN,
85                                     desc + ", out of memory");
86 
87         case legacy_hal::WIFI_ERROR_BUSY:
88             return createWifiStatus(WifiStatusCode::ERROR_BUSY);
89 
90         case legacy_hal::WIFI_ERROR_NONE:
91             return createWifiStatus(WifiStatusCode::SUCCESS, desc);
92 
93         case legacy_hal::WIFI_ERROR_UNKNOWN:
94             return createWifiStatus(WifiStatusCode::ERROR_UNKNOWN, "unknown");
95     }
96 }
97 
createWifiStatusFromLegacyError(legacy_hal::wifi_error error)98 WifiStatus createWifiStatusFromLegacyError(legacy_hal::wifi_error error) {
99     return createWifiStatusFromLegacyError(error, "");
100 }
101 
102 }  // namespace implementation
103 }  // namespace V1_3
104 }  // namespace wifi
105 }  // namespace hardware
106 }  // namespace android
107