1 /* 2 * Copyright (c) 2022-2025 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 #ifndef OHOS_DEVICE_MANAGER_H 17 #define OHOS_DEVICE_MANAGER_H 18 19 #include "device_manager_callback.h" 20 #include "dm_publish_info.h" 21 22 namespace OHOS { 23 namespace DistributedHardware { 24 class DeviceManager { 25 public: 26 DM_EXPORT static DeviceManager &GetInstance(); 27 28 public: 29 /** 30 * @brief Initialize DeviceManager. 31 * @param pkgName package name. 32 * @param dmInitCallback the callback to be invoked upon InitDeviceManager. 33 * @return Returns 0 if success. 34 */ 35 virtual int32_t InitDeviceManager(const std::string &pkgName, std::shared_ptr<DmInitCallback> dmInitCallback) = 0; 36 /** 37 * @brief UnInitialize DeviceManager. 38 * @param pkgName package name. 39 * @return Returns 0 if success. 40 */ 41 virtual int32_t UnInitDeviceManager(const std::string &pkgName) = 0; 42 /** 43 * @brief Get device info list of trusted devices. 44 * @param pkgName package name. 45 * @param extra extra info.This parameter can be null. 46 * @param deviceList device info list. 47 * @return Returns a list of trusted devices. 48 */ 49 virtual int32_t GetTrustedDeviceList(const std::string &pkgName, const std::string &extra, 50 std::vector<DmDeviceInfo> &deviceList) = 0; 51 /** 52 * @brief Get device info list of trusted devices. 53 * @param pkgName package name. 54 * @param extra extra info.This parameter can be null. 55 * @param isRefresh refresh the list quickly. 56 * @param deviceList device info list. 57 * @return Returns a list of trusted devices. 58 */ 59 virtual int32_t GetTrustedDeviceList(const std::string &pkgName, const std::string &extra, 60 bool isRefresh, std::vector<DmDeviceInfo> &deviceList) = 0; 61 /** 62 * @brief Get device info list of available devices. 63 * @param pkgName package name. 64 * @param extra extra info.This parameter can be null. 65 * @param deviceList device info list. 66 * @return Returns a list of available devices. 67 */ 68 virtual int32_t GetAvailableDeviceList(const std::string &pkgName, 69 std::vector<DmDeviceBasicInfo> &deviceList) = 0; 70 /** 71 * @brief Get local device information. 72 * @param pkgName package name. 73 * @param deviceInfo device info. 74 * @return Returns local device info. 75 */ 76 virtual int32_t GetLocalDeviceInfo(const std::string &pkgName, DmDeviceInfo &deviceInfo) = 0; 77 /** 78 * @tc.name: DeviceManagerImpl::GetDeviceInfo 79 * @tc.desc: Get local device information by networkId 80 * @tc.type: FUNC 81 */ 82 virtual int32_t GetDeviceInfo(const std::string &pkgName, const std::string networkId, 83 DmDeviceInfo &deviceInfo) = 0; 84 /** 85 * @brief Register device status callback. 86 * @param pkgName package name. 87 * @param extra extra info.This parameter can be null. 88 * @param callback device state callback. 89 * @return Returns 0 if success. 90 */ 91 virtual int32_t RegisterDevStateCallback(const std::string &pkgName, const std::string &extra, 92 std::shared_ptr<DeviceStateCallback> callback) = 0; 93 /** 94 * @brief Register device status callback. 95 * @param pkgName package name. 96 * @param callback device status callback. 97 * @return Returns 0 if success. 98 */ 99 virtual int32_t RegisterDevStatusCallback(const std::string &pkgName, const std::string &extra, 100 std::shared_ptr<DeviceStatusCallback> callback) = 0; 101 /** 102 * @brief Unregister device status callback. 103 * @param pkgName package name. 104 * @return Returns 0 if success. 105 */ 106 virtual int32_t UnRegisterDevStateCallback(const std::string &pkgName) = 0; 107 /** 108 * @brief Unregister device status callback. 109 * @param pkgName package name. 110 * @return Returns 0 if success. 111 */ 112 virtual int32_t UnRegisterDevStatusCallback(const std::string &pkgName) = 0; 113 /** 114 * @brief Initiate device discovery. 115 * @param pkgName package name. 116 * @param subscribeInfo subscribe info to discovery device. 117 * @param extra extra info.This parameter can be null. 118 * @param callback discovery callback. 119 * @return Returns 0 if success. 120 */ 121 virtual int32_t StartDeviceDiscovery(const std::string &pkgName, const DmSubscribeInfo &subscribeInfo, 122 const std::string &extra, std::shared_ptr<DiscoveryCallback> callback) = 0; 123 /** 124 * @brief Initiate device discovery. 125 * @param pkgName package name. 126 * @param subscribeId subscribe id to discovery device. 127 * @param extra extra info.This parameter can be null. 128 * @param callback discovery callback. 129 * @return Returns 0 if success. 130 */ 131 virtual int32_t StartDeviceDiscovery(const std::string &pkgName, uint64_t tokenId, 132 const std::string &filterOptions, std::shared_ptr<DiscoveryCallback> callback) = 0; 133 /** 134 * @brief Stop device discovery. 135 * @param pkgName package name. 136 * @param subscribeInfo subscribe info to discovery device. 137 * @return Returns 0 if success. 138 */ 139 virtual int32_t StopDeviceDiscovery(const std::string &pkgName, uint16_t subscribeId) = 0; 140 /** 141 * @brief Stop device discovery. 142 * @param pkgName package name. 143 * @param tokenId app flag to discovery device. 144 * @return Returns 0 if success. 145 */ 146 virtual int32_t StopDeviceDiscovery(uint64_t tokenId, const std::string &pkgName) = 0; 147 /** 148 * @brief Publish device discovery. 149 * @param pkgName package name. 150 * @param publishInfo publish info to Publish discovery device. 151 * @param callback the callback to be invoked upon PublishDeviceDiscovery. 152 * @return Returns 0 if success. 153 */ 154 virtual int32_t PublishDeviceDiscovery(const std::string &pkgName, const DmPublishInfo &publishInfo, 155 std::shared_ptr<PublishCallback> callback) = 0; 156 /** 157 * @brief UnPublish device discovery. 158 * @param pkgName package name. 159 * @param publishId service publish ID, identify a publish operation, should be a unique id in package range. 160 * @return Returns 0 if success. 161 */ 162 virtual int32_t UnPublishDeviceDiscovery(const std::string &pkgName, int32_t publishId) = 0; 163 /** 164 * @brief Authenticate the specified device. 165 * @param pkgName package name. 166 * @param authType authType of device to authenticate. 167 * @param deviceInfo deviceInfo of device to authenticate. 168 * @param extra extra info.This parameter can be null. 169 * @param callback the callback to be invoked upon AuthenticateDevice. 170 * @return Returns 0 if success. 171 */ 172 virtual int32_t AuthenticateDevice(const std::string &pkgName, int32_t authType, const DmDeviceInfo &deviceInfo, 173 const std::string &extra, std::shared_ptr<AuthenticateCallback> callback) = 0; 174 /** 175 * @brief Cancel complete verification of device. 176 * @param pkgName package name. 177 * @param deviceInfo deviceInfo of device to authenticate. 178 * @return Returns 0 if success. 179 */ 180 virtual int32_t UnAuthenticateDevice(const std::string &pkgName, const DmDeviceInfo &deviceInfo) = 0; 181 /** 182 * @brief Verify device authentication. 183 * @param pkgName package name. 184 * @param authPara authPara of device to authenticate. 185 * @param callback the callback to be invoked upon VerifyAuthentication. 186 * @return Returns 0 if success. 187 */ 188 [[deprecated]] virtual int32_t VerifyAuthentication(const std::string &pkgName, const std::string &authPara, 189 std::shared_ptr<VerifyAuthCallback> callback) = 0; 190 /** 191 * @brief Register Fa callback for device manager. 192 * @param pkgName package name. 193 * @param callback device manager Fa callback. 194 * @return Returns 0 if success. 195 */ 196 virtual int32_t RegisterDeviceManagerFaCallback(const std::string &pkgName, 197 std::shared_ptr<DeviceManagerUiCallback> callback) = 0; 198 /** 199 * @brief Unregister Fa callback for device manager. 200 * @param pkgName package name. 201 * @return Returns 0 if success. 202 */ 203 virtual int32_t UnRegisterDeviceManagerFaCallback(const std::string &pkgName) = 0; 204 /** 205 * @brief Get Fa Param. 206 * @param pkgName package name. 207 * @param faParam fa param. 208 * @return Returns 0 if success. 209 */ 210 [[deprecated]] virtual int32_t GetFaParam(const std::string &pkgName, DmAuthParam &faParam) = 0; 211 /** 212 * @brief Set User Actions. 213 * @param pkgName package name. 214 * @param action user operation action. 215 * @param params indicates the input param of the user. 216 * @return Returns 0 if success. 217 */ 218 virtual int32_t SetUserOperation(const std::string &pkgName, int32_t action, const std::string ¶ms) = 0; 219 /** 220 * @brief Get Udid by NetworkId. 221 * @param pkgName package name. 222 * @param netWorkId netWork Id. 223 * @param udid unique device id. 224 * @return Returns 0 if success. 225 */ 226 virtual int32_t GetUdidByNetworkId(const std::string &pkgName, const std::string &netWorkId, std::string &udid) = 0; 227 /** 228 * @brief Get Uuid by NetworkId. 229 * @param pkgName package name. 230 * @param netWorkId netWork Id. 231 * @param uuid universally unique id. 232 * @return Returns 0 if success. 233 */ 234 virtual int32_t GetUuidByNetworkId(const std::string &pkgName, const std::string &netWorkId, std::string &uuid) = 0; 235 /** 236 * @brief Unregister device status callback. 237 * @param pkgName package name. 238 * @param extra extra info.This parameter can be null. 239 * @return Returns 0 if success. 240 */ 241 [[deprecated]] virtual int32_t RegisterDevStateCallback(const std::string &pkgName, 242 const std::string &extra) = 0; 243 /** 244 * @brief Unregister device status callback. 245 * @param pkgName package name. 246 * @param extra extra info.This parameter can be null. 247 * @return Returns 0 if success. 248 */ 249 [[deprecated]] virtual int32_t UnRegisterDevStateCallback(const std::string &pkgName, 250 const std::string &extra) = 0; 251 /** 252 * @brief Request credential information. 253 * @param pkgName package name. 254 * @param reqJsonStr request credential params, the params is json string, it includes version and userId. 255 * @param returnJsonStr return json string, it includes deviceId, devicePk, useId and version. 256 * @return Returns 0 if success. 257 */ 258 [[deprecated]] virtual int32_t RequestCredential(const std::string &pkgName, const std::string &reqJsonStr, 259 std::string &returnJsonStr) = 0; 260 /** 261 * @brief Import credential information. 262 * @param pkgName package name. 263 * @param credentialInfo import credential params, the params is json string, it includes processType, authType, 264 * userId, deviceId, version, devicePk and credentialData, the credentialData is array, each array element 265 * includes credentialType, credentialId, serverPk, pkInfoSignature, pkInfo, authCode, peerDeviceId. 266 * @return Returns 0 if success. 267 */ 268 [[deprecated]] virtual int32_t ImportCredential(const std::string &pkgName, 269 const std::string &credentialInfo) = 0; 270 /** 271 * @brief Delete credential information. 272 * @param pkgName package name. 273 * @param deleteInfo delete credential params. the params is json string, it includes processType, authType, userId. 274 * @return Returns 0 if success. 275 */ 276 [[deprecated]] virtual int32_t DeleteCredential(const std::string &pkgName, const std::string &deleteInfo) = 0; 277 /** 278 * @brief Register credential callback. 279 * @param pkgName package name. 280 * @param callback credential callback. 281 * @return Returns 0 if success. 282 */ 283 [[deprecated]] virtual int32_t RegisterCredentialCallback(const std::string &pkgName, 284 std::shared_ptr<CredentialCallback> callback) = 0; 285 /** 286 * @brief UnRegister credential callback. 287 * @param pkgName package name. 288 * @return Returns 0 if success. 289 */ 290 [[deprecated]] virtual int32_t UnRegisterCredentialCallback(const std::string &pkgName) = 0; 291 /** 292 * @brief Notify event to device manager. 293 * @param pkgName package name. 294 * @param event event info. 295 * @param event event string. 296 * @return Returns 0 if success. 297 */ 298 virtual int32_t NotifyEvent(const std::string &pkgName, const int32_t eventId, const std::string &event) = 0; 299 300 /** 301 * @brief Get encrypted uuid. 302 * @param networkId device networkId. 303 * @return Returns encrypted uuid. 304 */ 305 virtual int32_t GetEncryptedUuidByNetworkId(const std::string &pkgName, const std::string &networkId, 306 std::string &uuid) = 0; 307 308 /** 309 * @brief Get encrypted uuid. 310 * @param uuid device uuid. 311 * @param tokenId tokenId. 312 * @return Returns encrypted uuid. 313 */ 314 virtual int32_t GenerateEncryptedUuid(const std::string &pkgName, const std::string &uuid, const std::string &appId, 315 std::string &encryptedUuid) = 0; 316 317 /** 318 * @tc.name: DeviceManagerImpl::CheckAPIAccessPermission 319 * @tc.desc: check permission for device manager API 320 * @tc.type: FUNC 321 */ 322 virtual int32_t CheckAPIAccessPermission() = 0; 323 324 /** 325 * @brief Get local device netWorkId. 326 * @param pkgName package name. 327 * @return Returns local device networkId. 328 */ 329 virtual int32_t GetLocalDeviceNetWorkId(const std::string &pkgName, std::string &networkId) = 0; 330 331 /** 332 * @brief Get local deviceId. 333 * @param pkgName package name. 334 * @return Returns local deviceId. 335 */ 336 virtual int32_t GetLocalDeviceId(const std::string &pkgName, std::string &networkId) = 0; 337 338 /** 339 * @brief Get local device name. 340 * @param pkgName package name. 341 * @return Returns device name. 342 */ 343 virtual int32_t GetLocalDeviceName(const std::string &pkgName, std::string &deviceName) = 0; 344 345 /** 346 * @brief Get local device name. 347 * @return Returns device name. 348 */ 349 virtual int32_t GetLocalDeviceName(std::string &deviceName) = 0; 350 351 /** 352 * @brief Get local device type. 353 * @param pkgName package name. 354 * @return Returns device type. 355 */ 356 virtual int32_t GetLocalDeviceType(const std::string &pkgName, int32_t &deviceType) = 0; 357 358 /** 359 * @brief Get device name. 360 * @param pkgName package name. 361 * @param networkId device networkId. 362 * @return Returns device name. 363 */ 364 virtual int32_t GetDeviceName(const std::string &pkgName, const std::string &networkId, 365 std::string &deviceName) = 0; 366 367 /** 368 * @brief Get device type. 369 * @param pkgName package name. 370 * @param networkId device networkId. 371 * @return Returns device type. 372 */ 373 virtual int32_t GetDeviceType(const std::string &pkgName, const std::string &networkId, int32_t &deviceType) = 0; 374 375 /** 376 * @brief Bind the specified device. 377 * @param pkgName package name. 378 * @param bindType bindType of device to bind. 379 * @param deviceInfo device id of device to bind. 380 * @param extra extra info.This parameter can be null. 381 * @param callback callback. 382 * @return Returns 0 if success. 383 */ 384 virtual int32_t BindDevice(const std::string &pkgName, int32_t bindType, const std::string &deviceId, 385 const std::string &extra, std::shared_ptr<AuthenticateCallback> callback) = 0; 386 387 /** 388 * @brief UnBind the specified device. 389 * @param pkgName package name. 390 * @param deviceId device id to UnBindDevice. 391 * @return Returns 0 if success. 392 */ 393 virtual int32_t UnBindDevice(const std::string &pkgName, const std::string &deviceId) = 0; 394 395 virtual int32_t UnBindDevice(const std::string &pkgName, const std::string &deviceId, const std::string &extra) = 0; 396 397 virtual int32_t CheckNewAPIAccessPermission() = 0; 398 399 /** 400 * @brief Get Network Type by NetworkId. 401 * @param pkgName package name. 402 * @param netWorkId netWork Id. 403 * @param netWorkType netWork Type. 404 * @return Returns 0 if success. 405 */ 406 virtual int32_t GetNetworkTypeByNetworkId(const std::string &pkgName, 407 const std::string &netWorkId, int32_t &netWorkType) = 0; 408 409 /** 410 * @brief Import Auth Code. 411 * @param pkgName BindDevice caller package name. 412 * @param authCode Authentication code. 413 * @return Returns 0 if success. 414 */ 415 virtual int32_t ImportAuthCode(const std::string &pkgName, const std::string &authCode) = 0; 416 417 /** 418 * @brief Export Auth Code. 419 * @param authCode Authentication code. 420 * @return Returns 0 if success. 421 */ 422 virtual int32_t ExportAuthCode(std::string &authCode) = 0; 423 424 // The following interfaces are provided since OpenHarmony 4.1 Version. 425 /** 426 * @brief Start to discover nearby devices or services. 427 * @param pkgName package name. 428 * @param discoverParam discover parameters. 429 * @param filterOptions filter option parameters. 430 * @param callback discovery callback. 431 * @return Returns 0 if success. 432 */ 433 virtual int32_t StartDiscovering(const std::string &pkgName, std::map<std::string, std::string> &discoverParam, 434 const std::map<std::string, std::string> &filterOptions, std::shared_ptr<DiscoveryCallback> callback) = 0; 435 436 /** 437 * @brief Stop discovering nearby devices or services. 438 * @param pkgName package name. 439 * @param discoverParam discover parameters. 440 * @return Returns 0 if success. 441 */ 442 virtual int32_t StopDiscovering(const std::string &pkgName, std::map<std::string, std::string> &discoverParam) = 0; 443 444 /** 445 * @brief Registerthe discovery callback. 446 * @param pkgName package name. 447 * @param discoverParam discover parameters. 448 * @param filterOptions filter option parameters. 449 * @param callback discovery callback. 450 * @return Returns 0 if success. 451 */ 452 virtual int32_t RegisterDiscoveryCallback(const std::string &pkgName, 453 std::map<std::string, std::string> &discoverParam, const std::map<std::string, std::string> &filterOptions, 454 std::shared_ptr<DiscoveryCallback> callback) = 0; 455 456 /** 457 * @brief UnRegisterthe discovery callback. 458 * @param pkgName package name. 459 * @return Returns 0 if success. 460 */ 461 virtual int32_t UnRegisterDiscoveryCallback(const std::string &pkgName) = 0; 462 463 /** 464 * @brief Start to advertise the nearby devices or services. 465 * @param pkgName package name. 466 * @param advertiseParam advertise parameters. 467 * @param callback advertise callback. 468 * @return Returns 0 if success. 469 */ 470 virtual int32_t StartAdvertising(const std::string &pkgName, std::map<std::string, std::string> &advertiseParam, 471 std::shared_ptr<PublishCallback> callback) = 0; 472 473 /** 474 * @brief Stop to advertise the nearby devices or services. 475 * @param pkgName package name. 476 * @param advertiseParam advertise parameters. 477 * @return Returns 0 if success. 478 */ 479 virtual int32_t StopAdvertising(const std::string &pkgName, std::map<std::string, std::string> &advertiseParam) = 0; 480 481 /** 482 * @brief Bind the specified target. 483 * @param pkgName package name. 484 * @param targetId id of target to bind. 485 * @param bindParam bind parameters. 486 * @param callback bind result callback. 487 * @return Returns 0 if success. 488 */ 489 virtual int32_t BindTarget(const std::string &pkgName, const PeerTargetId &targetId, 490 std::map<std::string, std::string> &bindParam, std::shared_ptr<BindTargetCallback> callback) = 0; 491 492 /** 493 * @brief Unbind the specified target. 494 * @param pkgName package name. 495 * @param targetId id of target to unbind. 496 * @param unbindParam unbind parameters. 497 * @param callback bind result callback. 498 * @return Returns 0 if success. 499 */ 500 virtual int32_t UnbindTarget(const std::string &pkgName, const PeerTargetId &targetId, 501 std::map<std::string, std::string> &unbindParam, std::shared_ptr<UnbindTargetCallback> callback) = 0; 502 503 /** 504 * @brief Get device info list of trusted devices. 505 * @param pkgName package name. 506 * @param filterOptions filter option parameters. 507 * @param isRefresh refresh the list quickly. 508 * @param deviceList device info list. 509 * @return Returns a list of trusted devices. 510 */ 511 virtual int32_t GetTrustedDeviceList(const std::string &pkgName, 512 const std::map<std::string, std::string> &filterOptions, bool isRefresh, 513 std::vector<DmDeviceInfo> &deviceList) = 0; 514 515 /** 516 * @brief Register device state callback. 517 * @param pkgName package name. 518 * @param extraParam extra parameters. 519 * @param callback device status callback. 520 * @return Returns 0 if success. 521 */ 522 virtual int32_t RegisterDevStateCallback(const std::string &pkgName, 523 const std::map<std::string, std::string> &extraParam, std::shared_ptr<DeviceStateCallback> callback) = 0; 524 525 /** 526 * @brief Check the specific caller whether has permission to access the target. 527 * @param tokenId the caller token id. 528 * @param targetId the target id. 529 * @return Returns 0 if success. 530 */ 531 virtual int32_t CheckAccessToTarget(uint64_t tokenId, const std::string &targetId) = 0; 532 533 /** 534 * @brief Register Pin Code Holder Callback 535 * @param pkgName package name. 536 * @param callback the callback to be invoked upon CreateAuthCodeHolder or DestroyAuthCodeHolder. 537 * @return Returns 0 if success. 538 */ 539 virtual int32_t RegisterPinHolderCallback(const std::string &pkgName, 540 std::shared_ptr<PinHolderCallback> callback) = 0; 541 542 /** 543 * @brief Create Pin Code Holder 544 * @param pkgName package name. 545 * @param targetId id of target to create pin holder. 546 * @param pinType pin code holder type. 547 * @param payload business custom data. 548 * @return Returns 0 if success. 549 */ 550 virtual int32_t CreatePinHolder(const std::string &pkgName, const PeerTargetId &targetId, 551 DmPinType pinType, const std::string &payload) = 0; 552 553 /** 554 * @brief Destroy Pin Code Holder 555 * @param pkgName package name. 556 * @param targetId id of target to destroy pin holder. 557 * @param pinType pin code holder type. 558 * @param payload business custom data. 559 * @return Returns 0 if success. 560 */ 561 virtual int32_t DestroyPinHolder(const std::string &pkgName, const PeerTargetId &targetId, 562 DmPinType pinType, const std::string &payload) = 0; 563 564 /** 565 * @brief Request credential information. 566 * @param pkgName package name. 567 * @param returnJsonStr return json string, it includes deviceId, devicePk, useId and version. 568 * @return Returns 0 if success. 569 */ 570 virtual int32_t RequestCredential(const std::string &pkgName, std::string &returnJsonStr) = 0; 571 572 /** 573 * @brief Check credential information. 574 * @param pkgName package name. 575 * @param reqJsonStr request credential params, the params is json string, it includes version and userId. 576 * @param returnJsonStr return json string, it includes deviceId, devicePk, useId and version. 577 * @return Returns 0 if success. 578 */ 579 virtual int32_t CheckCredential(const std::string &pkgName, const std::string &reqJsonStr, 580 std::string &returnJsonStr) = 0; 581 582 /** 583 * @brief Import credential information. 584 * @param pkgName package name. 585 * @param reqJsonStr request credential params, the params is json string, it includes version and userId. 586 * @param returnJsonStr return json string, it includes deviceId, devicePk, useId and version. 587 * @return Returns 0 if success. 588 */ 589 virtual int32_t ImportCredential(const std::string &pkgName, const std::string &reqJsonStr, 590 std::string &returnJsonStr) = 0; 591 592 /** 593 * @brief Delete credential information. 594 * @param pkgName package name. 595 * @param reqJsonStr request credential params, the params is json string, it includes version and userId. 596 * @param returnJsonStr return json string, it includes deviceId, devicePk, useId and version. 597 * @return Returns 0 if success. 598 */ 599 virtual int32_t DeleteCredential(const std::string &pkgName, const std::string &reqJsonStr, 600 std::string &returnJsonStr) = 0; 601 602 virtual int32_t DpAclAdd(const int64_t accessControlId, const std::string &udid, const int32_t bindType) = 0; 603 virtual int32_t GetDeviceSecurityLevel(const std::string &pkgName, const std::string &networkId, 604 int32_t &securityLevel) = 0; 605 virtual bool IsSameAccount(const std::string &netWorkId) = 0; 606 virtual bool CheckAccessControl(const DmAccessCaller &caller, const DmAccessCallee &callee) = 0; 607 virtual bool CheckIsSameAccount(const DmAccessCaller &caller, const DmAccessCallee &callee) = 0; 608 virtual int32_t GetErrCode(int32_t errCode) = 0; 609 virtual int32_t ShiftLNNGear(const std::string &pkgName) = 0; 610 virtual int32_t RegDevTrustChangeCallback(const std::string &pkgName, 611 std::shared_ptr<DevTrustChangeCallback> callback) = 0; 612 virtual int32_t RegisterDeviceScreenStatusCallback(const std::string &pkgName, 613 std::shared_ptr<DeviceScreenStatusCallback> callback) = 0; 614 virtual int32_t UnRegisterDeviceScreenStatusCallback(const std::string &pkgName) = 0; 615 virtual int32_t GetDeviceScreenStatus(const std::string &pkgName, const std::string &networkId, 616 int32_t &screenStatus) = 0; 617 virtual int32_t SetDnPolicy(const std::string &pkgName, std::map<std::string, std::string> &policy) = 0; 618 virtual int32_t StopAuthenticateDevice(const std::string &pkgName) = 0; 619 virtual int32_t GetNetworkIdByUdid(const std::string &pkgName, const std::string &udid, std::string &networkId) = 0; 620 virtual int32_t RegisterCredentialAuthStatusCallback(const std::string &pkgName, 621 std::shared_ptr<CredentialAuthStatusCallback> callback) = 0; 622 virtual int32_t UnRegisterCredentialAuthStatusCallback(const std::string &pkgName) = 0; 623 virtual int32_t RegisterSinkBindCallback(const std::string &pkgName, 624 std::shared_ptr<BindTargetCallback> callback) = 0; 625 virtual int32_t UnRegisterSinkBindCallback(const std::string &pkgName) = 0; 626 virtual int32_t GetAllTrustedDeviceList(const std::string &pkgName, const std::string &extra, 627 std::vector<DmDeviceInfo> &deviceList) = 0; 628 virtual int32_t RegisterAuthenticationType(const std::string &pkgName, 629 const std::map<std::string, std::string> &authParam) = 0; 630 virtual int32_t GetDeviceProfileInfoList(const std::string &pkgName, 631 const DmDeviceProfileInfoFilterOptions &filterOptions, 632 std::shared_ptr<GetDeviceProfileInfoListCallback> callback) = 0; 633 virtual int32_t GetDeviceIconInfo(const std::string &pkgName, const DmDeviceIconInfoFilterOptions &filterOptions, 634 std::shared_ptr<GetDeviceIconInfoCallback> callback) = 0; 635 virtual int32_t PutDeviceProfileInfoList(const std::string &pkgName, 636 const std::vector<OHOS::DistributedHardware::DmDeviceProfileInfo> &deviceProfileInfoList) = 0; 637 virtual int32_t GetLocalDisplayDeviceName(const std::string &pkgName, int32_t maxNameLength, 638 std::string &displayName) = 0; 639 virtual int32_t RegisterLocalServiceInfo(const DMLocalServiceInfo &info) = 0; 640 virtual int32_t UnRegisterLocalServiceInfo(const std::string &bundleName, int32_t pinExchangeType) = 0; 641 virtual int32_t UpdateLocalServiceInfo(const DMLocalServiceInfo &info) = 0; 642 virtual int32_t GetLocalServiceInfoByBundleNameAndPinExchangeType(const std::string &bundleName, 643 int32_t pinExchangeType, DMLocalServiceInfo &info) = 0; 644 virtual int32_t SetLocalDeviceName(const std::string &pkgName, const std::string &deviceName, 645 std::shared_ptr<SetLocalDeviceNameCallback> callback) = 0; 646 virtual int32_t SetRemoteDeviceName(const std::string &pkgName, const std::string &deviceId, 647 const std::string &deviceName, std::shared_ptr<SetRemoteDeviceNameCallback> callback) = 0; 648 virtual int32_t RestoreLocalDeviceName(const std::string &pkgName) = 0; 649 virtual int32_t GetDeviceNetworkIdList(const std::string &bundleName, const NetworkIdQueryFilter &queryFilter, 650 std::vector<std::string> &networkIds) = 0; 651 virtual int32_t UnRegisterPinHolderCallback(const std::string &pkgName) = 0; 652 virtual bool CheckSrcAccessControl(const DmAccessCaller &caller, const DmAccessCallee &callee) = 0; 653 virtual bool CheckSinkAccessControl(const DmAccessCaller &caller, const DmAccessCallee &callee) = 0; 654 virtual bool CheckSrcIsSameAccount(const DmAccessCaller &caller, const DmAccessCallee &callee) = 0; 655 virtual bool CheckSinkIsSameAccount(const DmAccessCaller &caller, const DmAccessCallee &callee) = 0; 656 }; 657 } // namespace DistributedHardware 658 } // namespace OHOS 659 #endif // DEVICE_MANAGER_H 660