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