• 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_6 {
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         default:
50             return "UNKNOWN ERROR";
51     }
52 }
53 
createWifiStatus(WifiStatusCode code,const std::string & description)54 WifiStatus createWifiStatus(WifiStatusCode code, const std::string& description) {
55     return {code, description};
56 }
57 
createWifiStatus(WifiStatusCode code)58 WifiStatus createWifiStatus(WifiStatusCode code) {
59     return createWifiStatus(code, "");
60 }
61 
createWifiStatusFromLegacyError(legacy_hal::wifi_error error,const std::string & desc)62 WifiStatus createWifiStatusFromLegacyError(legacy_hal::wifi_error error, 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, desc + ", timed out");
77 
78         case legacy_hal::WIFI_ERROR_TOO_MANY_REQUESTS:
79             return createWifiStatus(WifiStatusCode::ERROR_UNKNOWN, desc + ", too many requests");
80 
81         case legacy_hal::WIFI_ERROR_OUT_OF_MEMORY:
82             return createWifiStatus(WifiStatusCode::ERROR_UNKNOWN, desc + ", out of memory");
83 
84         case legacy_hal::WIFI_ERROR_BUSY:
85             return createWifiStatus(WifiStatusCode::ERROR_BUSY);
86 
87         case legacy_hal::WIFI_ERROR_NONE:
88             return createWifiStatus(WifiStatusCode::SUCCESS, desc);
89 
90         case legacy_hal::WIFI_ERROR_UNKNOWN:
91             return createWifiStatus(WifiStatusCode::ERROR_UNKNOWN, "unknown");
92 
93         default:
94             return createWifiStatus(WifiStatusCode::ERROR_UNKNOWN, "unknown error");
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_6
104 }  // namespace wifi
105 }  // namespace hardware
106 }  // namespace android
107