- Softbus
- Overview
- Summary
- Files
- Data Structures
- Typedefs
- Enumerations
- Functions
- Details
- Typedef Documentation
- CommonDeviceInfo
- DeviceType
- IPublishCallback
- PublishInfo
- Enumeration Type Documentation
- CommonDeviceKey
- DataBitMap
- DeviceTypeEnum
- DiscoverMode
- ExchanageMedium
- ExchangeFre
- PublishFailReason
- Function Documentation
- CloseSession()
- CreateSessionServer()
- GetMySessionName()
- GetPeerDeviceId()
- GetPeerSessionName()
- PublishService()
- RemoveSessionServer()
- SendBytes()
- SetCommonDeviceInfo()
- UnPublishService()
- Variable Documentation
- bitmap
- capability [1/2]
- capability [2/2]
- capabilityData
- dataLen
- devType
- freq
- key
- medium
- mode
- onBytesReceived
- onPublishFail
- onPublishSuccess
- onSessionClosed
- onSessionOpened
- publishId
- value [1/2]
- value [2/2]
Softbus
Overview
Provides high-speed, secure communication between devices.
This module implements unified distributed communication capability management between nearby devices, and provides link-independent device discovery and transmission interfaces to support service publishing and data transmission.
Since:
1.0
Version:
1.0
Summary
Files
Data Structures
Typedefs
typedef struct PublishInfo Defines service provisioning information sent to a discovering device. |
|
typedef enum DeviceTypeEnum |
|
typedef struct IPublishCallback Defines the callbacks for successful and failed service publishing. |
|
typedef struct CommonDeviceInfo |
Enumerations
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 } |
|
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 } |
|
DeviceTypeEnum { UNKOWN = 0x00, PHONE = 0x0E, PAD = 0x11, TV = 0x9C, PC = 0x0C, AUDIO = 0x0A, CAR = 0x83, L0 = 0xF1, L1 = 0xF2 } |
|
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
PublishService (const char moduleName, const struct PublishInfo info, const struct IPublishCallback cb) |
|
UnPublishService (const char moduleName, int publishId) |
|
SetCommonDeviceInfo (const struct CommonDeviceInfo devInfo, unsigned int num) |
Sets common device information, such as its ID, type, and name. |
CreateSessionServer (const char mouduleName, const char sessionName, struct ISessionListener listener) |
Creates a session server based on a module name and session name. |
RemoveSessionServer (const char mouduleName, const char sessionName) |
Removes a session server based on a module name and session name. |
SendBytes (int sessionId, const void data, unsigned int len) |
|
GetMySessionName (int sessionId, char sessionName, unsigned int len) |
Obtains the session name registered by the local device based on the session ID. |
GetPeerSessionName (int sessionId, char sessionName, unsigned int len) |
Obtains the session name registered by the peer device based on the session ID. |
GetPeerDeviceId (int sessionId, char devId, unsigned int len) |
|
CloseSession (int sessionId) |
Details
Typedef Documentation
CommonDeviceInfo
typedef struct [CommonDeviceInfo]($api-api-SmartVision-Devices-CommonDeviceInfo.md) [CommonDeviceInfo]($api-api-SmartVision-Devices-CommonDeviceInfo.md)
Description:
Defines the type and content of a device to set.
DeviceType
typedef enum [DeviceTypeEnum]($api-api-SmartVision-Devices-Softbus.md#gab20b49630026f3118d6c05b0a022f230) [DeviceType]($api-api-SmartVision-Devices-Softbus.md#ga9334bacb3ded964dc3c3367a6b70bcf4)
Description:
Enumerates device types.
IPublishCallback
typedef struct [IPublishCallback]($api-api-SmartVision-Devices-IPublishCallback.md) [IPublishCallback]($api-api-SmartVision-Devices-IPublishCallback.md)
Description:
Defines the callbacks for successful and failed service publishing.
PublishInfo
typedef struct [PublishInfo]($api-api-SmartVision-Devices-PublishInfo.md) [PublishInfo]($api-api-SmartVision-Devices-PublishInfo.md)
Description:
Defines service provisioning information sent to a discovering device.
Enumeration Type Documentation
CommonDeviceKey
enum [CommonDeviceKey]($api-api-SmartVision-Devices-Softbus.md#ga25be99ffbe88e41f7ce51d2678010254)
Description:
Enumerates device information, such as its ID, type, and name.
COMM_DEVICE_KEY_DEVID | |
COMM_DEVICE_KEY_DEVTYPE | |
COMM_DEVICE_KEY_DEVNAME | |
COMM_DEVICE_KEY_MAX |
DataBitMap
enum [DataBitMap]($api-api-SmartVision-Devices-Softbus.md#gab839c7f1fd448f52f003ab0693f27bb4)
Description:
Enumerates supported capabilities published by a device.
HICALL_CAPABILITY_BITMAP | |
PROFILE_CAPABILITY_BITMAP | |
HOMEVISIONPIC_CAPABILITY_BITMAP | |
CASTPLUS_CAPABILITY_BITMAP | |
AA_CAPABILITY_BITMAP | |
DVKIT_CAPABILITY_BITMAP | |
DDMP_CAPABILITY_BITMAP |
DeviceTypeEnum
enum [DeviceTypeEnum]($api-api-SmartVision-Devices-Softbus.md#gab20b49630026f3118d6c05b0a022f230)
Description:
Enumerates device types.
UNKOWN | |
PHONE | |
PAD | |
TV | |
PC | |
AUDIO | |
CAR | |
L0 | |
L1 |
DiscoverMode
enum [DiscoverMode]($api-api-SmartVision-Devices-Softbus.md#ga7369479474cf45e9ca9c0f756473c74f)
Description:
Enumerates the modes in which services are published. The publishing service supports the passive mode. Lite devices support the passive mode only.
DISCOVER_MODE_PASSIVE | |
DISCOVER_MODE_ACTIVE |
ExchanageMedium
enum [ExchanageMedium]($api-api-SmartVision-Devices-Softbus.md#gaf5c7c122990f0ab5bd46b9bc47b5868b)
Description:
Enumerates media, such as Bluetooth, Wi-Fi, and USB, used for publishing services.
Currently, the media can only be set to coap.
AUTO | |
BLE | |
COAP | |
USB |
ExchangeFre
enum [ExchangeFre]($api-api-SmartVision-Devices-Softbus.md#gacf2c77bd7e2c82784078762978123ea3)
Description:
Enumerates frequencies for publishing services. This enumeration is involved only in Bluetooth and is not supported currently.
LOW | |
MID | |
HIGH | |
SUPER_HIGH |
PublishFailReason
enum [PublishFailReason]($api-api-SmartVision-Devices-Softbus.md#ga6632fcae1db4a3a13370e3fb49e5e620)
Description:
Enumerates failure reasons for publishing services.
The failure reason is returned to the caller through the callback function.
PUBLISH_FAIL_REASON_NOT_SUPPORT_MEDIUM | |
PUBLISH_FAIL_REASON_PARAMETER_INVALID | |
PUBLISH_FAIL_REASON_UNKNOWN |
Function Documentation
CloseSession()
void CloseSession (int sessionId)
Description:
Closes a connected session based on a session ID.
Parameters:
sessionId | Indicates the session ID. |
CreateSessionServer()
int CreateSessionServer (const char * mouduleName, const char * sessionName, struct [ISessionListener]($api-api-SmartVision-Devices-ISessionListener.md) * listener )
Description:
Creates a session server based on a module name and session name.
A maximum of 18 session servers can be created.
Parameters:
moduleName | Indicates the pointer to the module name, which can be used to check whether the session server is in this module. The value cannot be empty and can contain a maximum of 64 characters. |
sessionName | Indicates the pointer to the session name, which is the unique ID of the session server. The value cannot be empty and can contain a maximum of 64 characters. |
listener | Indicates the pointer to the session callback structure, which cannot be empty. |
Returns:
Returns 0 if the operation is successful; returns -1 otherwise.
See also:
GetMySessionName()
int GetMySessionName (int sessionId, char * sessionName, unsigned int len )
Description:
Obtains the session name registered by the local device based on the session ID.
Parameters:
sessionId | Indicates the session ID. |
sessionName | Indicates the pointer to the buffer for storing the session name. |
len | Indicates the length of the buffer. |
Returns:
Returns 0 if the operation is successful; returns -1 otherwise.
GetPeerDeviceId()
int GetPeerDeviceId (int sessionId, char * devId, unsigned int len )
Description:
Obtains the peer device ID based on a session ID.
Parameters:
sessionId | Indicates the session ID. |
devId | Indicates the pointer to the buffer for storing the device ID. |
len | Indicates the length of the buffer. |
Returns:
Returns 0 if the operation is successful; returns -1 otherwise.
GetPeerSessionName()
int GetPeerSessionName (int sessionId, char * sessionName, unsigned int len )
Description:
Obtains the session name registered by the peer device based on the session ID.
Parameters:
sessionId | Indicates the session ID. |
sessionName | Indicates the pointer to the buffer for storing the session name. |
len | Indicates the length of the buffer. |
Returns:
Returns 0 if the operation is successful; returns -1 otherwise.
PublishService()
int PublishService (const char * moduleName, const struct [PublishInfo]($api-api-SmartVision-Devices-PublishInfo.md) * info, const struct [IPublishCallback]($api-api-SmartVision-Devices-IPublishCallback.md) * cb )
Description:
Publishes a service to the discovering device in the LAN.
The publicId and moduleName uniquely identify a service. A maximum of three services can be published.
Parameters:
moduleName | Indicates the pointer to the module name of the upper-layer service. The value contains a maximum of 63 bytes. |
info | Indicates the pointer to the service to publish. For details, see PublishInfo. |
cb | Indicates the pointer to the callback for service publishing. For details, see IPublishCallback. |
Returns:
Returns 0 if the operation is successful; returns -1 otherwise.
RemoveSessionServer()
int RemoveSessionServer (const char * mouduleName, const char * sessionName )
Description:
Removes a session server based on a module name and session name.
Parameters:
moduleName | Indicates the pointer to the name of the registered module, which can be used to check whether the session server is in this module. The value cannot be empty and can contain a maximum of 64 characters. |
sessionName | Indicates the pointer to the session name. The value cannot be empty and can contain a maximum of 64 characters. |
Returns:
Returns 0 if the operation is successful; returns -1 otherwise.
See also:
SendBytes()
int SendBytes (int sessionId, const void * data, unsigned int len )
Description:
Sends data based on a session ID.
Parameters:
Returns:
Returns 0 if the function is called successfully; returns -1 otherwise.
SetCommonDeviceInfo()
int SetCommonDeviceInfo (const struct [CommonDeviceInfo]($api-api-SmartVision-Devices-CommonDeviceInfo.md) * devInfo, unsigned int num )
Description:
Sets common device information, such as its ID, type, and name.
Parameters:
devInfo | Indicates the pointer to the device information array. |
2 | num Indicates the number of elements in the device information array. If the value is inconsistent with the length of the device information array, the program breaks down. |
Returns:
Returns 0 if the operation is successful; returns a non-zero value otherwise.
See also:
UnPublishService()
int UnPublishService (const char * moduleName, int publishId )
Description:
Unpublishes a service based on the publicId and moduleName.
Parameters:
Returns:
Returns 0 if the operation is successful; returns a non-zero value otherwise.
Variable Documentation
bitmap
[DataBitMap]($api-api-SmartVision-Devices-Softbus.md#gab839c7f1fd448f52f003ab0693f27bb4) CapabilityMap::bitmap
Description:
Bitmaps. For details, see DataBitMap.
capability [1/2]
const char* PublishInfo::capability
Description:
Service publishing capabilities. For details, see g_capabilityMap.
capability [2/2]
char* CapabilityMap::capability
Description:
Capability. For details, see g_capabilityMap.
capabilityData
unsigned char* PublishInfo::capabilityData
Description:
Capability data for service publishing
dataLen
unsigned int PublishInfo::dataLen
Description:
Maximum length of the capability data for service publishing (2 bytes)
devType
[DeviceType]($api-api-SmartVision-Devices-Softbus.md#ga9334bacb3ded964dc3c3367a6b70bcf4) DeviceMap::devType
Description:
Enumeration of a device type. Only enumerations defined in g_devMap are supported.
freq
[ExchangeFre]($api-api-SmartVision-Devices-Softbus.md#gacf2c77bd7e2c82784078762978123ea3) PublishInfo::freq
Description:
Service publishing frequency
key
[CommonDeviceKey]($api-api-SmartVision-Devices-Softbus.md#ga25be99ffbe88e41f7ce51d2678010254) CommonDeviceInfo::key
Description:
Device information type. For details, see CommonDeviceKey.
medium
[ExchanageMedium]($api-api-SmartVision-Devices-Softbus.md#gaf5c7c122990f0ab5bd46b9bc47b5868b) PublishInfo::medium
Description:
Service publishing medium
mode
int PublishInfo::mode
Description:
Service publishing mode, which can be DISCOVER_MODE_PASSIVE or DISCOVER_MODE_ACTIVE
onBytesReceived
void(* ISessionListener::onBytesReceived) (int sessionId, const void *data, unsigned int dataLen)
Description:
Called when data is received.
This function is used to notify that data is received.
Parameters:
sessionId | Indicates the session ID. |
data | Indicates the pointer to the data received. |
dataLen | Indicates the length of the data received. |
onPublishFail
void(* IPublishCallback::onPublishFail) (int publishId, [PublishFailReason]($api-api-SmartVision-Devices-Softbus.md#ga6632fcae1db4a3a13370e3fb49e5e620) reason)
Description:
Callback for failed publishing
onPublishSuccess
void(* IPublishCallback::onPublishSuccess) (int publishId)
Description:
Callback for successful publishing
onSessionClosed
void(* ISessionListener::onSessionClosed) (int sessionId)
Description:
Called when a session is closed.
This function can be used to release resources related to the session. You do not need to call CloseSession.
Parameters:
sessionId | Indicates the session ID. |
onSessionOpened
int(* ISessionListener::onSessionOpened) (int sessionId)
Description:
Called when a session is opened.
This function can be used to verify the session or initialize resources related to the session.
Parameters:
sessionId | Indicates the session ID. |
Returns:
Returns 0 if the session connection is accepted; returns a non-zero value otherwise (you do not need to call CloseSession to close the session).
publishId
int PublishInfo::publishId
Description:
Service publishing ID
value [1/2]
char* DeviceMap::value
Description:
Name of a device type. Only names defined in g_devMap are supported.
value [2/2]
const char* CommonDeviceInfo::value
Description:
Content to set