1 /*
2 * Copyright (c) 2023 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 "device_manager_impl.h"
17 #include "device_manager_impl_mock.h"
18 #include "dm_constants.h"
19
20 #include "gtest/gtest.h"
21
22 namespace OHOS {
23 namespace DistributedHardware {
24 using namespace OHOS::Storage::DistributedFile;
25 #ifndef NORMAL_MOCK
26 const std::string NETWORKID_ONE = "45656596896323231";
27 const std::string NETWORKID_TWO = "45656596896323232";
28 const std::string NETWORKID_THREE = "45656596896323233";
29 constexpr int32_t NETWORKTYPE_WITH_WIFI = 2;
30 constexpr int32_t NETWORKTYPE_NONE_WIFI = 4;
31 #endif
GetInstance()32 DeviceManagerImpl &DeviceManagerImpl::GetInstance()
33 {
34 GTEST_LOG_(INFO) << "GetInstance start";
35 static DeviceManagerImpl instance;
36 return instance;
37 }
38
InitDeviceManager(const std::string & pkgName,std::shared_ptr<DmInitCallback> dmInitCallback)39 int32_t DeviceManagerImpl::InitDeviceManager(const std::string &pkgName, std::shared_ptr<DmInitCallback> dmInitCallback)
40 {
41 if (DfsDeviceManagerImpl::dfsDeviceManagerImpl == nullptr) {
42 std::cout << "dfsDeviceManagerImpl is nullptr" << std::endl;
43 return -1; // -1: default err
44 }
45 return DfsDeviceManagerImpl::dfsDeviceManagerImpl->InitDeviceManager(pkgName, dmInitCallback);
46 }
47
UnInitDeviceManager(const std::string & pkgName)48 int32_t DeviceManagerImpl::UnInitDeviceManager(const std::string &pkgName)
49 {
50 if (DfsDeviceManagerImpl::dfsDeviceManagerImpl == nullptr) {
51 std::cout << "dfsDeviceManagerImpl is nullptr" << std::endl;
52 return -1; // -1: default err
53 }
54 return DfsDeviceManagerImpl::dfsDeviceManagerImpl->UnInitDeviceManager(pkgName);
55 }
56
GetTrustedDeviceList(const std::string & pkgName,const std::string & extra,std::vector<DmDeviceInfo> & deviceList)57 int32_t DeviceManagerImpl::GetTrustedDeviceList(const std::string &pkgName,
58 const std::string &extra,
59 std::vector<DmDeviceInfo> &deviceList)
60 {
61 if (DfsDeviceManagerImpl::dfsDeviceManagerImpl == nullptr) {
62 std::cout << "dfsDeviceManagerImpl is nullptr" << std::endl;
63 return -1; // -1: default err
64 }
65 return DfsDeviceManagerImpl::dfsDeviceManagerImpl->GetTrustedDeviceList(pkgName, extra, deviceList);
66 }
67
GetTrustedDeviceList(const std::string & pkgName,const std::string & extra,bool isRefresh,std::vector<DmDeviceInfo> & deviceList)68 int32_t DeviceManagerImpl::GetTrustedDeviceList(const std::string &pkgName,
69 const std::string &extra,
70 bool isRefresh,
71 std::vector<DmDeviceInfo> &deviceList)
72 {
73 return 0;
74 }
75
GetAvailableDeviceList(const std::string & pkgName,std::vector<DmDeviceBasicInfo> & deviceList)76 int32_t DeviceManagerImpl::GetAvailableDeviceList(const std::string &pkgName,
77 std::vector<DmDeviceBasicInfo> &deviceList)
78 {
79 return 0;
80 }
81
GetDeviceInfo(const std::string & pkgName,const std::string networkId,DmDeviceInfo & deviceInfo)82 int32_t DeviceManagerImpl::GetDeviceInfo(const std::string &pkgName,
83 const std::string networkId,
84 DmDeviceInfo &deviceInfo)
85 {
86 return 0;
87 }
88
GetLocalDeviceInfo(const std::string & pkgName,DmDeviceInfo & info)89 int32_t DeviceManagerImpl::GetLocalDeviceInfo(const std::string &pkgName, DmDeviceInfo &info)
90 {
91 if (DfsDeviceManagerImpl::dfsDeviceManagerImpl == nullptr) {
92 std::cout << "dfsDeviceManagerImpl is nullptr" << std::endl;
93 return -1; // -1: default err
94 }
95 return DfsDeviceManagerImpl::dfsDeviceManagerImpl->GetLocalDeviceInfo(pkgName, info);
96 }
97
RegisterDevStateCallback(const std::string & pkgName,const std::string & extra,std::shared_ptr<DeviceStateCallback> callback)98 int32_t DeviceManagerImpl::RegisterDevStateCallback(const std::string &pkgName,
99 const std::string &extra,
100 std::shared_ptr<DeviceStateCallback> callback)
101 {
102 if (DfsDeviceManagerImpl::dfsDeviceManagerImpl == nullptr) {
103 std::cout << "dfsDeviceManagerImpl is nullptr" << std::endl;
104 return -1; // -1: default err
105 }
106 return DfsDeviceManagerImpl::dfsDeviceManagerImpl->RegisterDevStateCallback(pkgName, extra, callback);
107 }
108
RegisterDevStatusCallback(const std::string & pkgName,const std::string & extra,std::shared_ptr<DeviceStatusCallback> callback)109 int32_t DeviceManagerImpl::RegisterDevStatusCallback(const std::string &pkgName,
110 const std::string &extra,
111 std::shared_ptr<DeviceStatusCallback> callback)
112 {
113 return 0;
114 }
115
UnRegisterDevStateCallback(const std::string & pkgName)116 int32_t DeviceManagerImpl::UnRegisterDevStateCallback(const std::string &pkgName)
117 {
118 if (DfsDeviceManagerImpl::dfsDeviceManagerImpl == nullptr) {
119 std::cout << "dfsDeviceManagerImpl is nullptr" << std::endl;
120 return -1; // -1: default err
121 }
122 return DfsDeviceManagerImpl::dfsDeviceManagerImpl->UnRegisterDevStateCallback(pkgName);
123 }
124
UnRegisterDevStatusCallback(const std::string & pkgName)125 int32_t DeviceManagerImpl::UnRegisterDevStatusCallback(const std::string &pkgName)
126 {
127 return 0;
128 }
129
StartDeviceDiscovery(const std::string & pkgName,const DmSubscribeInfo & subscribeInfo,const std::string & extra,std::shared_ptr<DiscoveryCallback> callback)130 int32_t DeviceManagerImpl::StartDeviceDiscovery(const std::string &pkgName,
131 const DmSubscribeInfo &subscribeInfo,
132 const std::string &extra,
133 std::shared_ptr<DiscoveryCallback> callback)
134 {
135 return 0;
136 }
137
StartDeviceDiscovery(const std::string & pkgName,uint64_t tokenId,const std::string & filterOptions,std::shared_ptr<DiscoveryCallback> callback)138 int32_t DeviceManagerImpl::StartDeviceDiscovery(const std::string &pkgName,
139 uint64_t tokenId,
140 const std::string &filterOptions,
141 std::shared_ptr<DiscoveryCallback> callback)
142 {
143 return 0;
144 }
145
StopDeviceDiscovery(const std::string & pkgName,uint16_t subscribeId)146 int32_t DeviceManagerImpl::StopDeviceDiscovery(const std::string &pkgName, uint16_t subscribeId)
147 {
148 return 0;
149 }
150
StopDeviceDiscovery(uint64_t tokenId,const std::string & pkgName)151 int32_t DeviceManagerImpl::StopDeviceDiscovery(uint64_t tokenId, const std::string &pkgName)
152 {
153 return 0;
154 }
155
PublishDeviceDiscovery(const std::string & pkgName,const DmPublishInfo & publishInfo,std::shared_ptr<PublishCallback> callback)156 int32_t DeviceManagerImpl::PublishDeviceDiscovery(const std::string &pkgName,
157 const DmPublishInfo &publishInfo,
158 std::shared_ptr<PublishCallback> callback)
159 {
160 return 0;
161 }
162
UnPublishDeviceDiscovery(const std::string & pkgName,int32_t publishId)163 int32_t DeviceManagerImpl::UnPublishDeviceDiscovery(const std::string &pkgName, int32_t publishId)
164 {
165 return 0;
166 }
167
AuthenticateDevice(const std::string & pkgName,int32_t authType,const DmDeviceInfo & deviceInfo,const std::string & extra,std::shared_ptr<AuthenticateCallback> callback)168 int32_t DeviceManagerImpl::AuthenticateDevice(const std::string &pkgName,
169 int32_t authType,
170 const DmDeviceInfo &deviceInfo,
171 const std::string &extra,
172 std::shared_ptr<AuthenticateCallback> callback)
173 {
174 return 0;
175 }
176
UnAuthenticateDevice(const std::string & pkgName,const DmDeviceInfo & deviceInfo)177 int32_t DeviceManagerImpl::UnAuthenticateDevice(const std::string &pkgName, const DmDeviceInfo &deviceInfo)
178 {
179 return 0;
180 }
181
RegisterDeviceManagerFaCallback(const std::string & pkgName,std::shared_ptr<DeviceManagerUiCallback> callback)182 int32_t DeviceManagerImpl::RegisterDeviceManagerFaCallback(const std::string &pkgName,
183 std::shared_ptr<DeviceManagerUiCallback> callback)
184 {
185 return 0;
186 }
187
UnRegisterDeviceManagerFaCallback(const std::string & pkgName)188 int32_t DeviceManagerImpl::UnRegisterDeviceManagerFaCallback(const std::string &pkgName)
189 {
190 return 0;
191 }
192
VerifyAuthentication(const std::string & pkgName,const std::string & authPara,std::shared_ptr<VerifyAuthCallback> callback)193 int32_t DeviceManagerImpl::VerifyAuthentication(const std::string &pkgName,
194 const std::string &authPara,
195 std::shared_ptr<VerifyAuthCallback> callback)
196 {
197 return 0;
198 }
199
GetFaParam(const std::string & pkgName,DmAuthParam & dmFaParam)200 int32_t DeviceManagerImpl::GetFaParam(const std::string &pkgName, DmAuthParam &dmFaParam)
201 {
202 return 0;
203 }
204
SetUserOperation(const std::string & pkgName,int32_t action,const std::string & params)205 int32_t DeviceManagerImpl::SetUserOperation(const std::string &pkgName, int32_t action, const std::string ¶ms)
206 {
207 return 0;
208 }
209
GetUdidByNetworkId(const std::string & pkgName,const std::string & netWorkId,std::string & udid)210 int32_t DeviceManagerImpl::GetUdidByNetworkId(const std::string &pkgName,
211 const std::string &netWorkId,
212 std::string &udid)
213 {
214 return 0;
215 }
216
GetUuidByNetworkId(const std::string & pkgName,const std::string & netWorkId,std::string & uuid)217 int32_t DeviceManagerImpl::GetUuidByNetworkId(const std::string &pkgName,
218 const std::string &netWorkId,
219 std::string &uuid)
220 {
221 return 0;
222 }
223
RegisterDevStateCallback(const std::string & pkgName,const std::string & extra)224 int32_t DeviceManagerImpl::RegisterDevStateCallback(const std::string &pkgName, const std::string &extra)
225 {
226 return 0;
227 }
228
UnRegisterDevStateCallback(const std::string & pkgName,const std::string & extra)229 int32_t DeviceManagerImpl::UnRegisterDevStateCallback(const std::string &pkgName, const std::string &extra)
230 {
231 return 0;
232 }
233
RequestCredential(const std::string & pkgName,const std::string & reqJsonStr,std::string & returnJsonStr)234 int32_t DeviceManagerImpl::RequestCredential(const std::string &pkgName,
235 const std::string &reqJsonStr,
236 std::string &returnJsonStr)
237 {
238 return 0;
239 }
240
ImportCredential(const std::string & pkgName,const std::string & credentialInfo)241 int32_t DeviceManagerImpl::ImportCredential(const std::string &pkgName, const std::string &credentialInfo)
242 {
243 return 0;
244 }
245
DeleteCredential(const std::string & pkgName,const std::string & deleteInfo)246 int32_t DeviceManagerImpl::DeleteCredential(const std::string &pkgName, const std::string &deleteInfo)
247 {
248 return 0;
249 }
250
RegisterCredentialCallback(const std::string & pkgName,std::shared_ptr<CredentialCallback> callback)251 int32_t DeviceManagerImpl::RegisterCredentialCallback(const std::string &pkgName,
252 std::shared_ptr<CredentialCallback> callback)
253 {
254 return 0;
255 }
256
UnRegisterCredentialCallback(const std::string & pkgName)257 int32_t DeviceManagerImpl::UnRegisterCredentialCallback(const std::string &pkgName)
258 {
259 return 0;
260 }
261
NotifyEvent(const std::string & pkgName,const int32_t eventId,const std::string & event)262 int32_t DeviceManagerImpl::NotifyEvent(const std::string &pkgName, const int32_t eventId, const std::string &event)
263 {
264 return 0;
265 }
266
OnDmServiceDied()267 int32_t DeviceManagerImpl::OnDmServiceDied()
268 {
269 return 0;
270 }
271
GetEncryptedUuidByNetworkId(const std::string & pkgName,const std::string & networkId,std::string & uuid)272 int32_t DeviceManagerImpl::GetEncryptedUuidByNetworkId(const std::string &pkgName,
273 const std::string &networkId,
274 std::string &uuid)
275 {
276 return 0;
277 }
278
GenerateEncryptedUuid(const std::string & pkgName,const std::string & uuid,const std::string & appId,std::string & encryptedUuid)279 int32_t DeviceManagerImpl::GenerateEncryptedUuid(const std::string &pkgName,
280 const std::string &uuid,
281 const std::string &appId,
282 std::string &encryptedUuid)
283 {
284 return 0;
285 }
286
CheckAPIAccessPermission()287 int32_t DeviceManagerImpl::CheckAPIAccessPermission()
288 {
289 return 0;
290 }
291
CheckNewAPIAccessPermission()292 int32_t DeviceManagerImpl::CheckNewAPIAccessPermission()
293 {
294 return 0;
295 }
296
GetLocalDeviceNetWorkId(const std::string & pkgName,std::string & networkId)297 int32_t DeviceManagerImpl::GetLocalDeviceNetWorkId(const std::string &pkgName, std::string &networkId)
298 {
299 networkId = "testNetworkId";
300 return 0;
301 }
302
GetLocalDeviceId(const std::string & pkgName,std::string & deviceId)303 int32_t DeviceManagerImpl::GetLocalDeviceId(const std::string &pkgName, std::string &deviceId)
304 {
305 return 0;
306 }
307
GetLocalDeviceName(const std::string & pkgName,std::string & deviceName)308 int32_t DeviceManagerImpl::GetLocalDeviceName(const std::string &pkgName, std::string &deviceName)
309 {
310 return 0;
311 }
312
GetLocalDeviceType(const std::string & pkgName,int32_t & deviceType)313 int32_t DeviceManagerImpl::GetLocalDeviceType(const std::string &pkgName, int32_t &deviceType)
314 {
315 return 0;
316 }
317
GetDeviceName(const std::string & pkgName,const std::string & networkId,std::string & deviceName)318 int32_t DeviceManagerImpl::GetDeviceName(const std::string &pkgName,
319 const std::string &networkId,
320 std::string &deviceName)
321 {
322 return 0;
323 }
324
GetDeviceType(const std::string & pkgName,const std::string & networkId,int32_t & deviceType)325 int32_t DeviceManagerImpl::GetDeviceType(const std::string &pkgName, const std::string &networkId, int32_t &deviceType)
326 {
327 return 0;
328 }
329
BindDevice(const std::string & pkgName,int32_t bindType,const std::string & deviceId,const std::string & bindParam,std::shared_ptr<AuthenticateCallback> callback)330 int32_t DeviceManagerImpl::BindDevice(const std::string &pkgName,
331 int32_t bindType,
332 const std::string &deviceId,
333 const std::string &bindParam,
334 std::shared_ptr<AuthenticateCallback> callback)
335 {
336 return 0;
337 }
338
UnBindDevice(const std::string & pkgName,const std::string & deviceId)339 int32_t DeviceManagerImpl::UnBindDevice(const std::string &pkgName, const std::string &deviceId)
340 {
341 return 0;
342 }
343
344 #ifdef NORMAL_MOCK
GetNetworkTypeByNetworkId(const std::string & pkgName,const std::string & netWorkId,int32_t & netWorkType)345 int32_t DeviceManagerImpl::GetNetworkTypeByNetworkId(const std::string &pkgName,
346 const std::string &netWorkId,
347 int32_t &netWorkType)
348 {
349 return DfsDeviceManagerImpl::dfsDeviceManagerImpl->GetNetworkTypeByNetworkId(pkgName, netWorkId, netWorkType);
350 }
351 #else
GetNetworkTypeByNetworkId(const std::string & pkgName,const std::string & netWorkId,int32_t & netWorkType)352 int32_t DeviceManagerImpl::GetNetworkTypeByNetworkId(const std::string &pkgName,
353 const std::string &netWorkId,
354 int32_t &netWorkType)
355 {
356 GTEST_LOG_(INFO) << "GetTrustedDeviceList start";
357 if (netWorkId == NETWORKID_ONE) {
358 return ERR_DM_INPUT_PARA_INVALID;
359 }
360
361 if (netWorkId == NETWORKID_TWO) {
362 netWorkType = NETWORKTYPE_WITH_WIFI;
363 return DM_OK;
364 }
365
366 netWorkType = NETWORKTYPE_NONE_WIFI;
367 return DM_OK;
368 }
369 #endif
370
CheckSrcAccessControl(const DmAccessCaller & caller,const DmAccessCallee & callee)371 bool DeviceManagerImpl::CheckSrcAccessControl(const DmAccessCaller &caller,const DmAccessCallee &callee)
372 {
373 if (DfsDeviceManagerImpl::dfsDeviceManagerImpl == nullptr) {
374 std::cout << "dfsDeviceManagerImpl is nullptr" << std::endl;
375 return false;
376 }
377 return DfsDeviceManagerImpl::dfsDeviceManagerImpl->CheckSrcAccessControl(caller, callee);
378 }
379
CheckSinkAccessControl(const DmAccessCaller & caller,const DmAccessCallee & callee)380 bool DeviceManagerImpl::CheckSinkAccessControl(const DmAccessCaller &caller,const DmAccessCallee &callee)
381 {
382 if (DfsDeviceManagerImpl::dfsDeviceManagerImpl == nullptr) {
383 std::cout << "dfsDeviceManagerImpl is nullptr" << std::endl;
384 return false;
385 }
386 return DfsDeviceManagerImpl::dfsDeviceManagerImpl->CheckSinkAccessControl(caller, callee);
387 }
388
CheckSrcIsSameAccount(const DmAccessCaller & caller,const DmAccessCallee & callee)389 bool DeviceManagerImpl::CheckSrcIsSameAccount(const DmAccessCaller &caller,const DmAccessCallee &callee)
390 {
391 if (DfsDeviceManagerImpl::dfsDeviceManagerImpl == nullptr) {
392 std::cout << "dfsDeviceManagerImpl is nullptr" << std::endl;
393 return false;
394 }
395 return DfsDeviceManagerImpl::dfsDeviceManagerImpl->CheckSrcIsSameAccount(caller, callee);
396 }
397
CheckSinkIsSameAccount(const DmAccessCaller & caller,const DmAccessCallee & callee)398 bool DeviceManagerImpl::CheckSinkIsSameAccount(const DmAccessCaller &caller,const DmAccessCallee &callee)
399 {
400 if (DfsDeviceManagerImpl::dfsDeviceManagerImpl == nullptr) {
401 std::cout << "dfsDeviceManagerImpl is nullptr" << std::endl;
402 return false;
403 }
404 return DfsDeviceManagerImpl::dfsDeviceManagerImpl->CheckSinkIsSameAccount(caller, callee);
405 }
406 } // namespace DistributedHardware
407 } // namespace OHOS
408