• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 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 "bus_center_client_stub.h"
17 
18 #include <stdint.h>
19 
20 #include "client_bus_center_manager.h"
21 #include "ipc_skeleton.h"
22 #include "softbus_def.h"
23 #include "softbus_errcode.h"
24 #include "softbus_log.h"
25 
ClientOnJoinLNNResult(IpcIo * data,IpcIo * reply)26 NO_SANITIZE("cfi") int32_t ClientOnJoinLNNResult(IpcIo *data, IpcIo *reply)
27 {
28     if (data == NULL) {
29         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "%s:invalid param.", __func__);
30         return SOFTBUS_ERR;
31     }
32 
33     uint32_t addrSize;
34     ReadUint32(data, &addrSize);
35     if (addrSize != sizeof(ConnectionAddr)) {
36         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "ClientOnJoinLNNResult read addrSize:%d failed!", addrSize);
37         return SOFTBUS_ERR;
38     }
39     void *addr = (void *)ReadBuffer(data, addrSize);
40     if (addr == NULL) {
41         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "ClientOnJoinLNNResult read addr failed!");
42         return SOFTBUS_ERR;
43     }
44     int32_t retCode = 0;
45     ReadInt32(data, &retCode);
46     size_t networkIdLen;
47     const char *networkId = NULL;
48     if (retCode == 0) {
49         networkId = (const char *)ReadString(data, &networkIdLen);
50         if (networkId == NULL) {
51             SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "ClientOnJoinLNNResult read networkId failed!");
52             return SOFTBUS_ERR;
53         }
54     }
55     int32_t retReply = LnnOnJoinResult(addr, networkId, retCode);
56     if (retReply != SOFTBUS_OK) {
57         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "ClientOnJoinLNNResult LnnOnJoinResult failed!");
58         return SOFTBUS_ERR;
59     }
60     return SOFTBUS_OK;
61 }
62 
ClientOnJoinMetaNodeResult(IpcIo * data,IpcIo * reply)63 NO_SANITIZE("cfi") int32_t ClientOnJoinMetaNodeResult(IpcIo *data, IpcIo *reply)
64 {
65     (void)data;
66     (void)reply;
67     return SOFTBUS_OK;
68 }
69 
ClientOnLeaveLNNResult(IpcIo * data,IpcIo * reply)70 NO_SANITIZE("cfi") int32_t ClientOnLeaveLNNResult(IpcIo *data, IpcIo *reply)
71 {
72     if (data == NULL) {
73         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "%s:invalid param.", __func__);
74         return SOFTBUS_ERR;
75     }
76     size_t networkIdLen;
77     const char *networkId = (const char *)ReadString(data, &networkIdLen);
78     if (networkId == NULL) {
79         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "ClientOnLeaveLNNResult read networkId failed!");
80         return SOFTBUS_ERR;
81     }
82     int32_t retCode = 0;
83     ReadInt32(data, &retCode);
84     int32_t retReply = LnnOnLeaveResult(networkId, retCode);
85     if (retReply != SOFTBUS_OK) {
86         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "ClientOnLeaveLNNResult LnnOnLeaveResult failed!");
87         return SOFTBUS_ERR;
88     }
89     return SOFTBUS_OK;
90 }
91 
ClientOnLeaveMetaNodeResult(IpcIo * data,IpcIo * reply)92 NO_SANITIZE("cfi") int32_t ClientOnLeaveMetaNodeResult(IpcIo *data, IpcIo *reply)
93 {
94     (void)data;
95     (void)reply;
96     return SOFTBUS_OK;
97 }
98 
ClientOnNodeOnlineStateChanged(IpcIo * data,IpcIo * reply)99 int32_t ClientOnNodeOnlineStateChanged(IpcIo *data, IpcIo *reply)
100 {
101     if (data== NULL) {
102         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "%s:invalid param.", __func__);
103         return SOFTBUS_ERR;
104     }
105     bool isOnline;
106     ReadBool(data, &isOnline);
107     uint32_t infoSize = 0;
108     ReadUint32(data, &infoSize);
109     if (infoSize != sizeof(NodeBasicInfo)) {
110         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR,
111             "ClientOnNodeOnlineStateChanged read infoSize:%d failed!", infoSize);
112         return SOFTBUS_ERR;
113     }
114     void *info = (void *)ReadBuffer(data, infoSize);
115     if (info == NULL) {
116         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "ClientOnNodeOnlineStateChanged read basic info failed!");
117         return SOFTBUS_ERR;
118     }
119     int32_t retReply = LnnOnNodeOnlineStateChanged("", isOnline, info);
120     if (retReply != SOFTBUS_OK) {
121         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR,
122             "ClientOnNodeOnlineStateChanged LnnOnNodeOnlineStateChanged failed!");
123         return SOFTBUS_ERR;
124     }
125     return SOFTBUS_OK;
126 }
127 
ClientOnNodeBasicInfoChanged(IpcIo * data,IpcIo * reply)128 int32_t ClientOnNodeBasicInfoChanged(IpcIo *data, IpcIo *reply)
129 {
130     if (data == NULL) {
131         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "%s:invalid param.", __func__);
132         return SOFTBUS_ERR;
133     }
134 
135     int32_t type = 0;
136     ReadInt32(data, &type);
137     uint32_t infoSize = 0;
138     ReadUint32(data, &infoSize);
139     if (infoSize != sizeof(NodeBasicInfo)) {
140         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR,
141             "ClientOnNodeBasicInfoChanged read infoSize:%d failed!", infoSize);
142         return SOFTBUS_ERR;
143     }
144     void *info = (void *)ReadBuffer(data, infoSize);
145     if (info == NULL) {
146         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "ClientOnNodeBasicInfoChanged read basic info failed!");
147         return SOFTBUS_ERR;
148     }
149     int32_t retReply = LnnOnNodeBasicInfoChanged("", info, type);
150     if (retReply != SOFTBUS_OK) {
151         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR,
152             "ClientOnNodeBasicInfoChanged LnnOnNodeBasicInfoChanged failed!");
153         return SOFTBUS_ERR;
154     }
155     return SOFTBUS_OK;
156 }
157 
ClientOnTimeSyncResult(IpcIo * data,IpcIo * reply)158 NO_SANITIZE("cfi") int32_t ClientOnTimeSyncResult(IpcIo *data, IpcIo *reply)
159 {
160     if (data == NULL) {
161         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "%s:invalid param.", __func__);
162         return SOFTBUS_ERR;
163     }
164 
165     uint32_t infoSize = 0;
166     ReadUint32(data, &infoSize);
167     if (infoSize != sizeof(TimeSyncResultInfo)) {
168         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "ClientOnTimeSyncResult read infoSize:%d failed!", infoSize);
169         return SOFTBUS_ERR;
170     }
171     void *info = (void *)ReadBuffer(data, infoSize);
172     if (info == NULL) {
173         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "ClientOnTimeSyncResult read info failed!");
174         return SOFTBUS_ERR;
175     }
176     int32_t retCode = 0;
177     ReadInt32(data, &retCode);
178 
179     int32_t retReply = LnnOnTimeSyncResult(info, retCode);
180     if (retReply != SOFTBUS_OK) {
181         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "ClientOnTimeSyncResult LnnOnTimeSyncResult failed!");
182         return SOFTBUS_ERR;
183     }
184     return SOFTBUS_OK;
185 }
186 
ClientOnPublishLNNResult(IpcIo * data,IpcIo * reply)187 NO_SANITIZE("cfi") void ClientOnPublishLNNResult(IpcIo *data, IpcIo *reply)
188 {
189     if (reply == NULL) {
190         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "%s:invalid param.", __func__);
191         return;
192     }
193     int32_t publishId;
194     ReadInt32(data, &publishId);
195     int32_t reason;
196     ReadInt32(data, &reason);
197     LnnOnPublishLNNResult(publishId, reason);
198 }
199 
ClientOnRefreshLNNResult(IpcIo * data,IpcIo * reply)200 NO_SANITIZE("cfi") void ClientOnRefreshLNNResult(IpcIo *data, IpcIo *reply)
201 {
202     if (data == NULL) {
203         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "%s:invalid param.", __func__);
204         return;
205     }
206     int32_t refreshId;
207     ReadInt32(data, &refreshId);
208     int32_t reason;
209     ReadInt32(data, &reason);
210     LnnOnRefreshLNNResult(refreshId, reason);
211 }
212 
ClientOnRefreshDeviceFound(IpcIo * data,IpcIo * reply)213 NO_SANITIZE("cfi") void ClientOnRefreshDeviceFound(IpcIo *data, IpcIo *reply)
214 {
215     if (data == NULL) {
216         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "%s:invalid param.", __func__);
217         return;
218     }
219     uint32_t infoSize;
220     ReadUint32(data, &infoSize);
221     if (infoSize != sizeof(DeviceInfo)) {
222         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR,
223             "ClientOnRefreshDeviceFound read infoSize:%d failed!", infoSize);
224         return;
225     }
226     void *info = (void *)ReadBuffer(data, infoSize);
227     if (info == NULL) {
228         SoftBusLog(SOFTBUS_LOG_COMM, SOFTBUS_LOG_ERROR, "ClientOnRefreshDeviceFound read info failed!");
229         return;
230     }
231     LnnOnRefreshDeviceFound(info);
232 }
233