* Copyright (c) 2022-2025 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef OHOS_DEVICE_MANAGER_H
#define OHOS_DEVICE_MANAGER_H
#include "device_manager_callback.h"
#include "dm_publish_info.h"
namespace OHOS {
namespace DistributedHardware {
class DeviceManager {
public:
DM_EXPORT static DeviceManager &GetInstance();
virtual ~DeviceManager();
public:
* @brief Initialize DeviceManager.
* @param pkgName package name.
* @param dmInitCallback the callback to be invoked upon InitDeviceManager.
* @return Returns 0 if success.
*/
virtual int32_t InitDeviceManager(const std::string &pkgName, std::shared_ptr<DmInitCallback> dmInitCallback) = 0;
* @brief UnInitialize DeviceManager.
* @param pkgName package name.
* @return Returns 0 if success.
*/
virtual int32_t UnInitDeviceManager(const std::string &pkgName) = 0;
* @brief Get device info list of trusted devices.
* @param pkgName package name.
* @param extra extra info.This parameter can be null.
* @param deviceList device info list.
* @return Returns a list of trusted devices.
*/
virtual int32_t GetTrustedDeviceList(const std::string &pkgName, const std::string &extra,
std::vector<DmDeviceInfo> &deviceList) = 0;
* @brief Get device info list of trusted devices.
* @param pkgName package name.
* @param extra extra info.This parameter can be null.
* @param isRefresh refresh the list quickly.
* @param deviceList device info list.
* @return Returns a list of trusted devices.
*/
virtual int32_t GetTrustedDeviceList(const std::string &pkgName, const std::string &extra,
bool isRefresh, std::vector<DmDeviceInfo> &deviceList) = 0;
* @brief Get device info list of available devices.
* @param pkgName package name.
* @param extra extra info.This parameter can be null.
* @param deviceList device info list.
* @return Returns a list of available devices.
*/
virtual int32_t GetAvailableDeviceList(const std::string &pkgName,
std::vector<DmDeviceBasicInfo> &deviceList) = 0;
* @brief Get local device information.
* @param pkgName package name.
* @param deviceInfo device info.
* @return Returns local device info.
*/
virtual int32_t GetLocalDeviceInfo(const std::string &pkgName, DmDeviceInfo &deviceInfo) = 0;
* @tc.name: DeviceManagerImpl::GetDeviceInfo
* @tc.desc: Get local device information by networkId
* @tc.type: FUNC
*/
virtual int32_t GetDeviceInfo(const std::string &pkgName, const std::string networkId,
DmDeviceInfo &deviceInfo) = 0;
* @brief Register device status callback.
* @param pkgName package name.
* @param extra extra info.This parameter can be null.
* @param callback device state callback.
* @return Returns 0 if success.
*/
virtual int32_t RegisterDevStateCallback(const std::string &pkgName, const std::string &extra,
std::shared_ptr<DeviceStateCallback> callback) = 0;
* @brief Register device status callback.
* @param pkgName package name.
* @param callback device status callback.
* @return Returns 0 if success.
*/
virtual int32_t RegisterDevStatusCallback(const std::string &pkgName, const std::string &extra,
std::shared_ptr<DeviceStatusCallback> callback) = 0;
* @brief Unregister device status callback.
* @param pkgName package name.
* @return Returns 0 if success.
*/
virtual int32_t UnRegisterDevStateCallback(const std::string &pkgName) = 0;
* @brief Unregister device status callback.
* @param pkgName package name.
* @return Returns 0 if success.
*/
virtual int32_t UnRegisterDevStatusCallback(const std::string &pkgName) = 0;
* @brief Initiate device discovery.
* @param pkgName package name.
* @param subscribeInfo subscribe info to discovery device.
* @param extra extra info.This parameter can be null.
* @param callback discovery callback.
* @return Returns 0 if success.
*/
virtual int32_t StartDeviceDiscovery(const std::string &pkgName, const DmSubscribeInfo &subscribeInfo,
const std::string &extra, std::shared_ptr<DiscoveryCallback> callback) = 0;
* @brief Initiate device discovery.
* @param pkgName package name.
* @param subscribeId subscribe id to discovery device.
* @param extra extra info.This parameter can be null.
* @param callback discovery callback.
* @return Returns 0 if success.
*/
virtual int32_t StartDeviceDiscovery(const std::string &pkgName, uint64_t tokenId,
const std::string &filterOptions, std::shared_ptr<DiscoveryCallback> callback) = 0;
* @brief Stop device discovery.
* @param pkgName package name.
* @param subscribeInfo subscribe info to discovery device.
* @return Returns 0 if success.
*/
virtual int32_t StopDeviceDiscovery(const std::string &pkgName, uint16_t subscribeId) = 0;
* @brief Stop device discovery.
* @param pkgName package name.
* @param tokenId app flag to discovery device.
* @return Returns 0 if success.
*/
virtual int32_t StopDeviceDiscovery(uint64_t tokenId, const std::string &pkgName) = 0;
* @brief Publish device discovery.
* @param pkgName package name.
* @param publishInfo publish info to Publish discovery device.
* @param callback the callback to be invoked upon PublishDeviceDiscovery.
* @return Returns 0 if success.
*/
virtual int32_t PublishDeviceDiscovery(const std::string &pkgName, const DmPublishInfo &publishInfo,
std::shared_ptr<PublishCallback> callback) = 0;
* @brief UnPublish device discovery.
* @param pkgName package name.
* @param publishId service publish ID, identify a publish operation, should be a unique id in package range.
* @return Returns 0 if success.
*/
virtual int32_t UnPublishDeviceDiscovery(const std::string &pkgName, int32_t publishId) = 0;
* @brief Authenticate the specified device.
* @param pkgName package name.
* @param authType authType of device to authenticate.
* @param deviceInfo deviceInfo of device to authenticate.
* @param extra extra info.This parameter can be null.
* @param callback the callback to be invoked upon AuthenticateDevice.
* @return Returns 0 if success.
*/
virtual int32_t AuthenticateDevice(const std::string &pkgName, int32_t authType, const DmDeviceInfo &deviceInfo,
const std::string &extra, std::shared_ptr<AuthenticateCallback> callback) = 0;
* @brief Cancel complete verification of device.
* @param pkgName package name.
* @param deviceInfo deviceInfo of device to authenticate.
* @return Returns 0 if success.
*/
virtual int32_t UnAuthenticateDevice(const std::string &pkgName, const DmDeviceInfo &deviceInfo) = 0;
* @brief Verify device authentication.
* @param pkgName package name.
* @param authPara authPara of device to authenticate.
* @param callback the callback to be invoked upon VerifyAuthentication.
* @return Returns 0 if success.
*/
[[deprecated]] virtual int32_t VerifyAuthentication(const std::string &pkgName, const std::string &authPara,
std::shared_ptr<VerifyAuthCallback> callback) = 0;
* @brief Register Fa callback for device manager.
* @param pkgName package name.
* @param callback device manager Fa callback.
* @return Returns 0 if success.
*/
virtual int32_t RegisterDeviceManagerFaCallback(const std::string &pkgName,
std::shared_ptr<DeviceManagerUiCallback> callback) = 0;
* @brief Unregister Fa callback for device manager.
* @param pkgName package name.
* @return Returns 0 if success.
*/
virtual int32_t UnRegisterDeviceManagerFaCallback(const std::string &pkgName) = 0;
* @brief Get Fa Param.
* @param pkgName package name.
* @param faParam fa param.
* @return Returns 0 if success.
*/
[[deprecated]] virtual int32_t GetFaParam(const std::string &pkgName, DmAuthParam &faParam) = 0;
* @brief Set User Actions.
* @param pkgName package name.
* @param action user operation action.
* @param params indicates the input param of the user.
* @return Returns 0 if success.
*/
virtual int32_t SetUserOperation(const std::string &pkgName, int32_t action, const std::string ¶ms) = 0;
* @brief Get Udid by NetworkId.
* @param pkgName package name.
* @param netWorkId netWork Id.
* @param udid unique device id.
* @return Returns 0 if success.
*/
virtual int32_t GetUdidByNetworkId(const std::string &pkgName, const std::string &netWorkId, std::string &udid) = 0;
* @brief Get Uuid by NetworkId.
* @param pkgName package name.
* @param netWorkId netWork Id.
* @param uuid universally unique id.
* @return Returns 0 if success.
*/
virtual int32_t GetUuidByNetworkId(const std::string &pkgName, const std::string &netWorkId, std::string &uuid) = 0;
* @brief Unregister device status callback.
* @param pkgName package name.
* @param extra extra info.This parameter can be null.
* @return Returns 0 if success.
*/
[[deprecated]] virtual int32_t RegisterDevStateCallback(const std::string &pkgName,
const std::string &extra) = 0;
* @brief Unregister device status callback.
* @param pkgName package name.
* @param extra extra info.This parameter can be null.
* @return Returns 0 if success.
*/
[[deprecated]] virtual int32_t UnRegisterDevStateCallback(const std::string &pkgName,
const std::string &extra) = 0;
* @brief Request credential information.
* @param pkgName package name.
* @param reqJsonStr request credential params, the params is json string, it includes version and userId.
* @param returnJsonStr return json string, it includes deviceId, devicePk, useId and version.
* @return Returns 0 if success.
*/
[[deprecated]] virtual int32_t RequestCredential(const std::string &pkgName, const std::string &reqJsonStr,
std::string &returnJsonStr) = 0;
* @brief Import credential information.
* @param pkgName package name.
* @param credentialInfo import credential params, the params is json string, it includes processType, authType,
* userId, deviceId, version, devicePk and credentialData, the credentialData is array, each array element
* includes credentialType, credentialId, serverPk, pkInfoSignature, pkInfo, authCode, peerDeviceId.
* @return Returns 0 if success.
*/
[[deprecated]] virtual int32_t ImportCredential(const std::string &pkgName,
const std::string &credentialInfo) = 0;
* @brief Delete credential information.
* @param pkgName package name.
* @param deleteInfo delete credential params. the params is json string, it includes processType, authType, userId.
* @return Returns 0 if success.
*/
[[deprecated]] virtual int32_t DeleteCredential(const std::string &pkgName, const std::string &deleteInfo) = 0;
* @brief Register credential callback.
* @param pkgName package name.
* @param callback credential callback.
* @return Returns 0 if success.
*/
[[deprecated]] virtual int32_t RegisterCredentialCallback(const std::string &pkgName,
std::shared_ptr<CredentialCallback> callback) = 0;
* @brief UnRegister credential callback.
* @param pkgName package name.
* @return Returns 0 if success.
*/
[[deprecated]] virtual int32_t UnRegisterCredentialCallback(const std::string &pkgName) = 0;
* @brief Notify event to device manager.
* @param pkgName package name.
* @param event event info.
* @param event event string.
* @return Returns 0 if success.
*/
virtual int32_t NotifyEvent(const std::string &pkgName, const int32_t eventId, const std::string &event) = 0;
* @brief Get encrypted uuid.
* @param networkId device networkId.
* @return Returns encrypted uuid.
*/
virtual int32_t GetEncryptedUuidByNetworkId(const std::string &pkgName, const std::string &networkId,
std::string &uuid) = 0;
* @brief Get encrypted uuid.
* @param uuid device uuid.
* @param tokenId tokenId.
* @return Returns encrypted uuid.
*/
virtual int32_t GenerateEncryptedUuid(const std::string &pkgName, const std::string &uuid, const std::string &appId,
std::string &encryptedUuid) = 0;
* @tc.name: DeviceManagerImpl::CheckAPIAccessPermission
* @tc.desc: check permission for device manager API
* @tc.type: FUNC
*/
virtual int32_t CheckAPIAccessPermission() = 0;
* @brief Get local device netWorkId.
* @param pkgName package name.
* @return Returns local device networkId.
*/
virtual int32_t GetLocalDeviceNetWorkId(const std::string &pkgName, std::string &networkId) = 0;
* @brief Get local deviceId.
* @param pkgName package name.
* @return Returns local deviceId.
*/
virtual int32_t GetLocalDeviceId(const std::string &pkgName, std::string &networkId) = 0;
* @brief Get local device name.
* @param pkgName package name.
* @return Returns device name.
*/
virtual int32_t GetLocalDeviceName(const std::string &pkgName, std::string &deviceName) = 0;
* @brief Get local device name.
* @return Returns device name.
*/
virtual int32_t GetLocalDeviceName(std::string &deviceName) = 0;
* @brief Get local device type.
* @param pkgName package name.
* @return Returns device type.
*/
virtual int32_t GetLocalDeviceType(const std::string &pkgName, int32_t &deviceType) = 0;
* @brief Get device name.
* @param pkgName package name.
* @param networkId device networkId.
* @return Returns device name.
*/
virtual int32_t GetDeviceName(const std::string &pkgName, const std::string &networkId,
std::string &deviceName) = 0;
* @brief Get device type.
* @param pkgName package name.
* @param networkId device networkId.
* @return Returns device type.
*/
virtual int32_t GetDeviceType(const std::string &pkgName, const std::string &networkId, int32_t &deviceType) = 0;
* @brief Bind the specified device.
* @param pkgName package name.
* @param bindType bindType of device to bind.
* @param deviceInfo device id of device to bind.
* @param extra extra info.This parameter can be null.
* @param callback callback.
* @return Returns 0 if success.
*/
virtual int32_t BindDevice(const std::string &pkgName, int32_t bindType, const std::string &deviceId,
const std::string &extra, std::shared_ptr<AuthenticateCallback> callback) = 0;
* @brief UnBind the specified device.
* @param pkgName package name.
* @param deviceId device id to UnBindDevice.
* @return Returns 0 if success.
*/
virtual int32_t UnBindDevice(const std::string &pkgName, const std::string &deviceId) = 0;
virtual int32_t UnBindDevice(const std::string &pkgName, const std::string &deviceId, const std::string &extra) = 0;
virtual int32_t CheckNewAPIAccessPermission() = 0;
* @brief Get Network Type by NetworkId.
* @param pkgName package name.
* @param netWorkId netWork Id.
* @param netWorkType netWork Type.
* @return Returns 0 if success.
*/
virtual int32_t GetNetworkTypeByNetworkId(const std::string &pkgName,
const std::string &netWorkId, int32_t &netWorkType) = 0;
* @brief Get OS Type by NetworkId.
* @param pkgName package name.
* @param networkId network ID.
* @param osType OS Type.
* @return Returns 0 if success.
*/
virtual int32_t GetOsTypeByNetworkId(const std::string &pkgName,
const std::string &networkId, int32_t &osType) = 0;
* @brief Import Auth Code.
* @param pkgName BindDevice caller package name.
* @param authCode Authentication code.
* @return Returns 0 if success.
*/
virtual int32_t ImportAuthCode(const std::string &pkgName, const std::string &authCode) = 0;
* @brief Export Auth Code.
* @param authCode Authentication code.
* @return Returns 0 if success.
*/
virtual int32_t ExportAuthCode(std::string &authCode) = 0;
* @brief Start to discover nearby devices or services.
* @param pkgName package name.
* @param discoverParam discover parameters.
* @param filterOptions filter option parameters.
* @param callback discovery callback.
* @return Returns 0 if success.
*/
virtual int32_t StartDiscovering(const std::string &pkgName, std::map<std::string, std::string> &discoverParam,
const std::map<std::string, std::string> &filterOptions, std::shared_ptr<DiscoveryCallback> callback) = 0;
* @brief Stop discovering nearby devices or services.
* @param pkgName package name.
* @param discoverParam discover parameters.
* @return Returns 0 if success.
*/
virtual int32_t StopDiscovering(const std::string &pkgName, std::map<std::string, std::string> &discoverParam) = 0;
* @brief Registerthe discovery callback.
* @param pkgName package name.
* @param discoverParam discover parameters.
* @param filterOptions filter option parameters.
* @param callback discovery callback.
* @return Returns 0 if success.
*/
virtual int32_t RegisterDiscoveryCallback(const std::string &pkgName,
std::map<std::string, std::string> &discoverParam, const std::map<std::string, std::string> &filterOptions,
std::shared_ptr<DiscoveryCallback> callback) = 0;
* @brief UnRegisterthe discovery callback.
* @param pkgName package name.
* @return Returns 0 if success.
*/
virtual int32_t UnRegisterDiscoveryCallback(const std::string &pkgName) = 0;
* @brief Start to advertise the nearby devices or services.
* @param pkgName package name.
* @param advertiseParam advertise parameters.
* @param callback advertise callback.
* @return Returns 0 if success.
*/
virtual int32_t StartAdvertising(const std::string &pkgName, std::map<std::string, std::string> &advertiseParam,
std::shared_ptr<PublishCallback> callback) = 0;
* @brief Stop to advertise the nearby devices or services.
* @param pkgName package name.
* @param advertiseParam advertise parameters.
* @return Returns 0 if success.
*/
virtual int32_t StopAdvertising(const std::string &pkgName, std::map<std::string, std::string> &advertiseParam) = 0;
* @brief Bind the specified target.
* @param pkgName package name.
* @param targetId id of target to bind.
* @param bindParam bind parameters.
* @param callback bind result callback.
* @return Returns 0 if success.
*/
virtual int32_t BindTarget(const std::string &pkgName, const PeerTargetId &targetId,
std::map<std::string, std::string> &bindParam, std::shared_ptr<BindTargetCallback> callback) = 0;
* @brief Unbind the specified target.
* @param pkgName package name.
* @param targetId id of target to unbind.
* @param unbindParam unbind parameters.
* @param callback bind result callback.
* @return Returns 0 if success.
*/
virtual int32_t UnbindTarget(const std::string &pkgName, const PeerTargetId &targetId,
std::map<std::string, std::string> &unbindParam, std::shared_ptr<UnbindTargetCallback> callback) = 0;
* @brief Get device info list of trusted devices.
* @param pkgName package name.
* @param filterOptions filter option parameters.
* @param isRefresh refresh the list quickly.
* @param deviceList device info list.
* @return Returns a list of trusted devices.
*/
virtual int32_t GetTrustedDeviceList(const std::string &pkgName,
const std::map<std::string, std::string> &filterOptions, bool isRefresh,
std::vector<DmDeviceInfo> &deviceList) = 0;
* @brief Register device state callback.
* @param pkgName package name.
* @param extraParam extra parameters.
* @param callback device status callback.
* @return Returns 0 if success.
*/
virtual int32_t RegisterDevStateCallback(const std::string &pkgName,
const std::map<std::string, std::string> &extraParam, std::shared_ptr<DeviceStateCallback> callback) = 0;
* @brief Check the specific caller whether has permission to access the target.
* @param tokenId the caller token id.
* @param targetId the target id.
* @return Returns 0 if success.
*/
virtual int32_t CheckAccessToTarget(uint64_t tokenId, const std::string &targetId) = 0;
* @brief Register Pin Code Holder Callback
* @param pkgName package name.
* @param callback the callback to be invoked upon CreateAuthCodeHolder or DestroyAuthCodeHolder.
* @return Returns 0 if success.
*/
virtual int32_t RegisterPinHolderCallback(const std::string &pkgName,
std::shared_ptr<PinHolderCallback> callback) = 0;
* @brief Create Pin Code Holder
* @param pkgName package name.
* @param targetId id of target to create pin holder.
* @param pinType pin code holder type.
* @param payload business custom data.
* @return Returns 0 if success.
*/
virtual int32_t CreatePinHolder(const std::string &pkgName, const PeerTargetId &targetId,
DmPinType pinType, const std::string &payload) = 0;
* @brief Destroy Pin Code Holder
* @param pkgName package name.
* @param targetId id of target to destroy pin holder.
* @param pinType pin code holder type.
* @param payload business custom data.
* @return Returns 0 if success.
*/
virtual int32_t DestroyPinHolder(const std::string &pkgName, const PeerTargetId &targetId,
DmPinType pinType, const std::string &payload) = 0;
* @brief Request credential information.
* @param pkgName package name.
* @param returnJsonStr return json string, it includes deviceId, devicePk, useId and version.
* @return Returns 0 if success.
*/
virtual int32_t RequestCredential(const std::string &pkgName, std::string &returnJsonStr) = 0;
* @brief Check credential information.
* @param pkgName package name.
* @param reqJsonStr request credential params, the params is json string, it includes version and userId.
* @param returnJsonStr return json string, it includes deviceId, devicePk, useId and version.
* @return Returns 0 if success.
*/
virtual int32_t CheckCredential(const std::string &pkgName, const std::string &reqJsonStr,
std::string &returnJsonStr) = 0;
* @brief Import credential information.
* @param pkgName package name.
* @param reqJsonStr request credential params, the params is json string, it includes version and userId.
* @param returnJsonStr return json string, it includes deviceId, devicePk, useId and version.
* @return Returns 0 if success.
*/
virtual int32_t ImportCredential(const std::string &pkgName, const std::string &reqJsonStr,
std::string &returnJsonStr) = 0;
* @brief Delete credential information.
* @param pkgName package name.
* @param reqJsonStr request credential params, the params is json string, it includes version and userId.
* @param returnJsonStr return json string, it includes deviceId, devicePk, useId and version.
* @return Returns 0 if success.
*/
virtual int32_t DeleteCredential(const std::string &pkgName, const std::string &reqJsonStr,
std::string &returnJsonStr) = 0;
virtual int32_t DpAclAdd(const int64_t accessControlId, const std::string &udid, const int32_t bindType) = 0;
virtual int32_t GetDeviceSecurityLevel(const std::string &pkgName, const std::string &networkId,
int32_t &securityLevel) = 0;
virtual bool IsSameAccount(const std::string &netWorkId) = 0;
virtual bool CheckAccessControl(const DmAccessCaller &caller, const DmAccessCallee &callee) = 0;
virtual bool CheckIsSameAccount(const DmAccessCaller &caller, const DmAccessCallee &callee) = 0;
virtual int32_t GetErrCode(int32_t errCode) = 0;
virtual int32_t ShiftLNNGear(const std::string &pkgName) = 0;
virtual int32_t RegDevTrustChangeCallback(const std::string &pkgName,
std::shared_ptr<DevTrustChangeCallback> callback) = 0;
virtual int32_t RegisterDeviceScreenStatusCallback(const std::string &pkgName,
std::shared_ptr<DeviceScreenStatusCallback> callback) = 0;
virtual int32_t UnRegisterDeviceScreenStatusCallback(const std::string &pkgName) = 0;
virtual int32_t GetDeviceScreenStatus(const std::string &pkgName, const std::string &networkId,
int32_t &screenStatus) = 0;
virtual int32_t SetDnPolicy(const std::string &pkgName, std::map<std::string, std::string> &policy) = 0;
virtual int32_t StopAuthenticateDevice(const std::string &pkgName) = 0;
virtual int32_t GetNetworkIdByUdid(const std::string &pkgName, const std::string &udid, std::string &networkId) = 0;
virtual int32_t RegisterCredentialAuthStatusCallback(const std::string &pkgName,
std::shared_ptr<CredentialAuthStatusCallback> callback) = 0;
virtual int32_t UnRegisterCredentialAuthStatusCallback(const std::string &pkgName) = 0;
virtual int32_t RegisterSinkBindCallback(const std::string &pkgName,
std::shared_ptr<BindTargetCallback> callback) = 0;
virtual int32_t UnRegisterSinkBindCallback(const std::string &pkgName) = 0;
virtual int32_t GetAllTrustedDeviceList(const std::string &pkgName, const std::string &extra,
std::vector<DmDeviceInfo> &deviceList) = 0;
virtual int32_t RegisterAuthenticationType(const std::string &pkgName,
const std::map<std::string, std::string> &authParam) = 0;
virtual int32_t GetDeviceProfileInfoList(const std::string &pkgName,
const DmDeviceProfileInfoFilterOptions &filterOptions,
std::shared_ptr<GetDeviceProfileInfoListCallback> callback) = 0;
virtual int32_t GetDeviceIconInfo(const std::string &pkgName, const DmDeviceIconInfoFilterOptions &filterOptions,
std::shared_ptr<GetDeviceIconInfoCallback> callback) = 0;
virtual int32_t PutDeviceProfileInfoList(const std::string &pkgName,
const std::vector<OHOS::DistributedHardware::DmDeviceProfileInfo> &deviceProfileInfoList) = 0;
virtual int32_t GetLocalDisplayDeviceName(const std::string &pkgName, int32_t maxNameLength,
std::string &displayName) = 0;
virtual int32_t GetDeviceNetworkIdList(const std::string &bundleName, const NetworkIdQueryFilter &queryFilter,
std::vector<std::string> &networkIds) = 0;
virtual int32_t SetLocalDeviceName(const std::string &pkgName, const std::string &deviceName,
std::shared_ptr<SetLocalDeviceNameCallback> callback) = 0;
virtual int32_t SetRemoteDeviceName(const std::string &pkgName, const std::string &deviceId,
const std::string &deviceName, std::shared_ptr<SetRemoteDeviceNameCallback> callback) = 0;
virtual int32_t RestoreLocalDeviceName(const std::string &pkgName) = 0;
virtual int32_t RegisterLocalServiceInfo(const DMLocalServiceInfo &info) = 0;
virtual int32_t UnRegisterLocalServiceInfo(const std::string &bundleName, int32_t pinExchangeType) = 0;
virtual int32_t UpdateLocalServiceInfo(const DMLocalServiceInfo &info) = 0;
virtual int32_t GetLocalServiceInfoByBundleNameAndPinExchangeType(const std::string &bundleName,
int32_t pinExchangeType, DMLocalServiceInfo &info) = 0;
virtual int32_t UnRegisterPinHolderCallback(const std::string &pkgName) = 0;
virtual bool CheckSrcAccessControl(const DmAccessCaller &caller, const DmAccessCallee &callee) = 0;
virtual bool CheckSinkAccessControl(const DmAccessCaller &caller, const DmAccessCallee &callee) = 0;
virtual bool CheckSrcIsSameAccount(const DmAccessCaller &caller, const DmAccessCallee &callee) = 0;
virtual bool CheckSinkIsSameAccount(const DmAccessCaller &caller, const DmAccessCallee &callee) = 0;
virtual int32_t GetUdidsByDeviceIds(const std::string &pkgName, const std::vector<std::string> deviceIdList,
std::map<std::string, std::string> &deviceIdToUdidMap) { return 0; }
virtual int32_t GetIdentificationByDeviceIds(const std::string &pkgName,
const std::vector<std::string> deviceIdList,
std::map<std::string, std::string> &deviceIdentificationMap) { return 0; }
virtual int32_t BindServiceTarget(const std::string &pkgName, const PeerTargetId &targetId,
std::map<std::string, std::string> &bindParam, std::shared_ptr<BindTargetCallback> callback) { return 0; }
virtual int32_t RegisterServiceStateCallback(const std::string &pkgName, int64_t serviceId,
std::shared_ptr<ServiceInfoStateCallback> callback) { return 0; }
virtual int32_t UnRegisterServiceStateCallback(const std::string &pkgName, int64_t serviceId) { return 0; }
virtual int32_t LeaveLNN(const std::string &pkgName, const std::string &networkId,
std::shared_ptr<LeaveLNNCallback> callback) { return 0; }
virtual int32_t GetAuthTypeByUdidHash(const std::string &udidHash, const std::string &pkgName,
DMLocalServiceInfoAuthType &authType) { return 0; }
virtual int32_t ImportAuthInfo(const DmAuthInfo &dmAuthInfo) { return 0; }
virtual int32_t ExportAuthInfo(DmAuthInfo &dmAuthInfo, uint32_t pinLength) { return 0; }
virtual int32_t RegisterAuthCodeInvalidCallback(const std::string &pkgName,
std::shared_ptr<AuthCodeInvalidCallback> cb) { return 0; }
virtual int32_t UnRegisterAuthCodeInvalidCallback(const std::string &pkgName) { return 0; }
virtual int32_t GetLocalServiceInfoByBundleNameAndPinExchangeType(const std::string &bundleName,
int32_t pinExchangeType, DmAuthInfo &dmAuthInfo) { return 0; }
virtual int32_t RegisterServiceInfo(const DmRegisterServiceInfo ®ServiceInfo, int64_t &serviceId) { return 0; }
virtual int32_t UnRegisterServiceInfo(int64_t serviceId) { return 0; };
virtual int32_t StartPublishService(const std::string &pkgName, int64_t serviceId,
const DmPublishServiceParam &publishServiceParam,
std::shared_ptr<ServicePublishCallback> callback) { return 0; };
virtual int32_t StopPublishService(const std::string &pkgName, int64_t serviceId) { return 0; };
virtual int32_t StartDiscoveryService(const std::string &pkgName, const DmDiscoveryServiceParam &disParam,
std::shared_ptr<ServiceDiscoveryCallback> callback) { return 0; }
virtual int32_t StopDiscoveryService(const std::string &pkgName,
const DmDiscoveryServiceParam &discParam) { return 0; }
virtual int32_t SyncServiceInfoByServiceId(const std::string &pkgName, int32_t localUserId,
const std::string &networkId, int64_t serviceId,
std::shared_ptr<SyncServiceInfoCallback> callback) { return 0; }
virtual int32_t SyncAllServiceInfo(const std::string &pkgName, int32_t localUserId,
const std::string &networkId, std::shared_ptr<SyncServiceInfoCallback> callback) { return 0; }
virtual int32_t GetLocalServiceInfoByServiceId(int64_t serviceId, DmRegisterServiceInfo &serviceInfo) { return 0; }
virtual int32_t GetTrustServiceInfo(const std::string &pkgName, const std::map<std::string, std::string> ¶m,
std::vector<DmServiceInfo> &serviceInfo) { return 0; }
virtual int32_t GetRegisterServiceInfo(const std::map<std::string, std::string> ¶m,
std::vector<DmRegisterServiceInfo> ®ServiceInfos) { return 0; }
virtual int32_t GetPeerServiceInfoByServiceId(const std::string &networkId, int64_t serviceId,
DmRegisterServiceInfo &serviceInfo) { return 0; }
virtual int32_t UnbindServiceTarget(const std::string &pkgName,
const std::map<std::string, std::string> &unbindParam, const std::string &netWorkId,
int64_t serviceId) { return 0; }
virtual int32_t UpdateServiceInfo(int64_t serviceId, const DmRegisterServiceInfo ®ServiceInfo) { return 0; }
};
}
}
#endif