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 
16 #include <stdio.h>
17 
18 #include "softbus_adapter_mem.h"
19 #include "softbus_bus_center.h"
20 #include "softbus_common.h"
21 
22 static char const *g_pkgName = "ohos.dsoftbus.tool";
23 
PrintNodeProperty(const NodeBasicInfo * nodeInfo)24 static void PrintNodeProperty(const NodeBasicInfo *nodeInfo)
25 {
26     printf("DeviceName = %s\n", nodeInfo->deviceName);
27     printf("NetworkId = %s\n", nodeInfo->networkId);
28     NodeDeviceInfoKey key;
29     key = NODE_KEY_UDID;
30     unsigned char udid[UDID_BUF_LEN] = {0};
31     if (GetNodeKeyInfo(g_pkgName, nodeInfo->networkId, key,
32         udid, UDID_BUF_LEN) != 0) {
33         printf("GetNodeKeyInfo Fail!\n");
34     } else {
35         printf("Udid = %s\n", udid);
36     }
37     key = NODE_KEY_UUID;
38     unsigned char uuid[UUID_BUF_LEN] = {0};
39     if (GetNodeKeyInfo(g_pkgName, nodeInfo->networkId, key,
40         uuid, UUID_BUF_LEN) != 0) {
41         printf("GetNodeKeyInfo Fail!\n");
42     } else {
43         printf("Uuid = %s\n", uuid);
44     }
45     key = NODE_KEY_BR_MAC;
46     unsigned char brMac[BT_MAC_LEN] = {0};
47     if (GetNodeKeyInfo(g_pkgName, nodeInfo->networkId, key,
48         brMac, BT_MAC_LEN) != 0) {
49         printf("GetNodeKeyInfo Fail!\n");
50     } else {
51         printf("BrMac = %s\n", brMac);
52     }
53     key = NODE_KEY_IP_ADDRESS;
54     unsigned char ipAddr[IP_STR_MAX_LEN] = {0};
55     if (GetNodeKeyInfo(g_pkgName, nodeInfo->networkId, key,
56         ipAddr, IP_STR_MAX_LEN) != 0) {
57         printf("GetNodeKeyInfo Fail!\n");
58     } else {
59         printf("ipAddr = %s\n", ipAddr);
60     }
61     key = NODE_KEY_DEV_NAME;
62     unsigned char deviceName[DEVICE_NAME_BUF_LEN] = {0};
63     if (GetNodeKeyInfo(g_pkgName, nodeInfo->networkId, key,
64         deviceName, DEVICE_NAME_BUF_LEN) != 0) {
65         printf("GetNodeKeyInfo Fail!\n");
66     } else {
67         printf("deviceName = %s\n", deviceName);
68     }
69 }
70 
PrintNodePropertyNum(const NodeBasicInfo * nodeInfo)71 static void PrintNodePropertyNum(const NodeBasicInfo *nodeInfo)
72 {
73     NodeDeviceInfoKey key;
74     key = NODE_KEY_NETWORK_CAPABILITY;
75     int32_t netCapacity = 0;
76     if (GetNodeKeyInfo(g_pkgName, nodeInfo->networkId, key,
77     (uint8_t *)&netCapacity, LNN_COMMON_LEN) != 0) {
78         printf("GetNodeKeyInfo Fail!\n");
79     } else {
80         printf("netCapacity = %d\n", netCapacity);
81     }
82     key = NODE_KEY_NETWORK_TYPE;
83     int32_t netType = 0;
84     if (GetNodeKeyInfo(g_pkgName, nodeInfo->networkId, key,
85     (uint8_t *)&netType, LNN_COMMON_LEN) != 0) {
86         printf("GetNodeKeyInfo Fail!\n");
87     } else {
88         printf("netType = %d\n", netType);
89     }
90 }
91 
main(int argc,char ** argv)92 int main(int argc __attribute__((unused)), char **argv __attribute__((unused)))
93 {
94     NodeBasicInfo localNodeinfo;
95     NodeBasicInfo *remoteNodeInfo = NULL;
96     int32_t infoNum = 0;
97     printf("------Local Device Info------\n");
98     if (GetLocalNodeDeviceInfo(g_pkgName, &localNodeinfo) != 0) {
99         printf("LnnGetLocalNodeInfo Fail!\n");
100         return -1;
101     }
102     PrintNodeProperty(&localNodeinfo);
103     PrintNodePropertyNum(&localNodeinfo);
104     printf("------Remote Device Info------\n");
105     if (GetAllNodeDeviceInfo(g_pkgName, &remoteNodeInfo, &infoNum) != 0) {
106         printf("GetAllNodeDeviceInfo Fail!\n");
107         return -1;
108     }
109     printf("Device Num = %d\n", infoNum);
110     for (int i = 0; i < infoNum; i++) {
111         printf("\n[No.%d]\n", i + 1);
112         PrintNodeProperty(remoteNodeInfo + i);
113         PrintNodePropertyNum(remoteNodeInfo + i);
114     }
115     FreeNodeInfo(remoteNodeInfo);
116     printf("SoftBusDumpDeviceInfo complete!\n");
117     return 0;
118 }
119