discovery_service.h

Overview

Related Modules:

Softbus

Description:

Declares unified device service publishing interfaces.

This file provides capabilities related to device service publishing, including publishing services, unpublishing services, and setting device parameters. After multiple nearby devices are discovered and networked, these interfaces can be used to perform service publishing-related operations.

Since:

1.0

Version:

1.0

Summary

Data Structures

Data Structure Name Description
PublishInfo Defines service provisioning information sent to a discovering device.
CapabilityMap Defines the mapping between supported capabilities and bitmaps.
DeviceMap Defines the mappings between the device type enumerations and device type names.
IPublishCallback Defines the callbacks for successful and failed service publishing.
CommonDeviceInfo Defines the type and content of a device to set.

Typedefs

Typedef Name Description
PublishInfo typedef struct PublishInfo Defines service provisioning information sent to a discovering device.
DeviceType typedef enum DeviceTypeEnum Enumerates device types.
IPublishCallback typedef struct IPublishCallback Defines the callbacks for successful and failed service publishing.
CommonDeviceInfo typedef struct CommonDeviceInfo Defines the type and content of a device to set.

Enumerations

Enumeration Name Description
ExchanageMedium { AUTO = 0, BLE = 1, COAP = 2, USB = 3 } Enumerates media, such as Bluetooth, Wi-Fi, and USB, used for publishing services.
ExchangeFre { LOW = 0, MID = 1, HIGH = 2, SUPER_HIGH = 3 } Enumerates frequencies for publishing services. This enumeration is involved only in Bluetooth and is not supported currently.
DiscoverMode { DISCOVER_MODE_PASSIVE = 0x55, DISCOVER_MODE_ACTIVE = 0xAA } Enumerates the modes in which services are published. The publishing service supports the passive mode. Lite devices support the passive mode only.
PublishFailReason { PUBLISH_FAIL_REASON_NOT_SUPPORT_MEDIUM = 1, PUBLISH_FAIL_REASON_PARAMETER_INVALID = 2, PUBLISH_FAIL_REASON_UNKNOWN = 0xFF } Enumerates failure reasons for publishing services.
DataBitMap {   HICALL_CAPABILITY_BITMAP = 0, PROFILE_CAPABILITY_BITMAP = 1, HOMEVISIONPIC_CAPABILITY_BITMAP = 2, CASTPLUS_CAPABILITY_BITMAP,   AA_CAPABILITY_BITMAP, DVKIT_CAPABILITY_BITMAP, DDMP_CAPABILITY_BITMAP } Enumerates supported capabilities published by a device.
DeviceTypeEnum {   UNKOWN = 0x00, PHONE = 0x0E, PAD = 0x11, TV = 0x9C,   PC = 0x0C, AUDIO = 0x0A, CAR = 0x83, L0 = 0xF1,   L1 = 0xF2 } Enumerates device types.
CommonDeviceKey { COMM_DEVICE_KEY_DEVID = 0, COMM_DEVICE_KEY_DEVTYPE = 1, COMM_DEVICE_KEY_DEVNAME = 2, COMM_DEVICE_KEY_MAX } Enumerates device information, such as its ID, type, and name.

Functions

Function Name Description
PublishService (const char moduleName, const struct PublishInfo info, const struct IPublishCallback cb) int Publishes a service to the discovering device in the LAN.
UnPublishService (const char moduleName, int publishId) int Unpublishes a service based on the publicId and moduleName.
SetCommonDeviceInfo (const struct CommonDeviceInfo *devInfo, unsigned int num) int Sets common device information, such as its ID, type, and name.