1 /*
2  * Copyright (C) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #include "bluetooth_utils_server.h"
16 #include "bluetooth_def.h"
17 #include "bluetooth_log.h"
18 
19 using namespace std;
20 
21 namespace OHOS {
22 namespace Bluetooth {
23 constexpr int startPos = 6;
24 constexpr int endPos = 13;
GetEncryptAddr(std::string addr)25 std::string GetEncryptAddr(std::string addr)
26 {
27     if (addr.empty() || addr.length() != ADDRESS_LENGTH) {
28         HILOGE("addr is invalid.");
29         return std::string("");
30     }
31     std::string tmp = "**:**:**:**:**:**";
32     std::string out = addr;
33     // 00:01:**:**:**:05
34     for (int i = startPos; i <= endPos; i++) {
35         out[i] = tmp[i];
36     }
37     return out;
38 }
39 
GetScanModeName(int mode)40 std::string GetScanModeName(int mode)
41 {
42     switch (mode) {
43         case SCAN_MODE_LOW_POWER:
44             return "SCAN_MODE_LOW_POWER(0)";
45         case SCAN_MODE_BALANCED:
46             return "SCAN_MODE_BALANCED(1)";
47         case SCAN_MODE_LOW_LATENCY:
48             return "SCAN_MODE_LOW_LATENCY(2)";
49         case SCAN_MODE_OP_P2_60_3000:
50             return "SCAN_MODE_OP_P2_60_3000(3)";
51         case SCAN_MODE_OP_P10_60_600:
52             return "SCAN_MODE_OP_P10_60_600(4)";
53         case SCAN_MODE_OP_P25_60_240:
54             return "SCAN_MODE_OP_P25_60_240(5)";
55         case SCAN_MODE_OP_P100_1000_1000:
56             return "SCAN_MODE_OP_P100_1000_1000(6)";
57         case SCAN_MODE_OP_P50_100_200:
58             return "SCAN_MODE_OP_P50_100_200(7)";
59         case SCAN_MODE_OP_P10_30_300:
60             return "SCAN_MODE_OP_P10_30_300(8)";
61         case SCAN_MODE_OP_P2_30_1500:
62             return "SCAN_MODE_OP_P2_30_1500(9)";
63         case SCAN_MODE_OP_P75_30_40:
64             return "SCAN_MODE_OP_P75_30_40(A)";
65         case SCAN_MODE_OP_P50_30_60:
66             return "SCAN_MODE_OP_P50_30_60(B)";
67         default:
68             return "Unknown";
69     }
70 }
71 }  // namespace Bluetooth
72 }  // namespace OHOS