提交 8dc74b96 编写于 作者: O openharmony_ci 提交者: Gitee

!241 bug fixed

Merge pull request !241 from NEEN/master

要显示的变更太多。

To preserve performance only 1000 of 1000+ files are displayed.
此差异已折叠。
此差异已折叠。
此差异已折叠。
# OpenHarmony开发者文档<a name="ZH-CN_TOPIC_0000001054183022"></a>
此工程存放OpenHarmony提供的快速入门、开发指南、API参考等开发者文档,欢迎参与OpenHarmony开发者文档开源项目,与我们一起完善开发者文档。
[View English](docs-en/Readme-EN.md)
## 文档目录结构<a name="section135134412620"></a>
- quick-start:[快速入门](quick-start/Readme-CN.md)
- get-code:[获取源码/获取工具](get-code/Readme-CN.md)
- docker:[Docker镜像构建](docker/README.md)
- kernel:[内核](kernel/Readme-CN.md)
- driver:[驱动](driver/Readme-CN.md)
- subsystems:[子系统](subsystems/Readme-CN.md)
- bundles:[组件开发](bundles/Readme-CN.md)
- porting:[三方库移植](porting/Readme-CN.md)
- guide:[设备开发](guide/Readme-CN.md)
- security:[安全](security/Readme-CN.md)
- api-LinkIoT:[联接类模组API](api/api-LinkIoT/Readme-CN.md)
- api-SmartVision-Devices:[智慧视觉设备API](api/api-SmartVision-Devices/Readme-CN.md)
- contribute:[贡献](contribute/参与贡献.md)
- term:[术语](term/术语.md)
- 3rd-Party-License:[第三方开源软件及许可证说明](quick-start/第三方开源软件及许可证说明.md)
## 贡献<a name="section897211181655"></a>
非常欢迎您贡献文档,我们鼓励开发者以各种方式参与文档反馈和贡献。
您可以对现有文档进行评价、简单更改、反馈文档质量问题、贡献您的原创内容,详细请参考[贡献文档](contribute/贡献文档.md)
卓越贡献者将会在开发者社区文档贡献专栏表彰公示。
# WELCOME TO OPENHARMONY
OpenHarmony is an open-source project launched by the OpenAtom Foundation and serves as an open-source, distributed operating system that is intended to address all conceivable usage scenarios. OpenHarmony is an open-source version of HarmonyOS.
HarmonyOS is a future-proof distributed operating system open to you as part of the initiatives for the all-scenario strategy. It is adaptable to mobile office, fitness and health, social communication, entertainment, and many other scenarios. Unlike any legacy operating system that runs on a standalone device, HarmonyOS is built on a distributed architecture designed based on a set of system capabilities. It is able to run on a wide range of device forms, including smartphones, wearables, tablets, PCs, smart TVs, AI speakers, head units, earphones, and AR/VR glasses.
## Motivation
Traditional OSs are limited to a specific type of device, while OpenHarmony provides distributed features that are compatible with a wide range of different devices. The first version supports devices with 128 KB to 128 MB of memory. Join us as we keep updating OpenHarmony versions.
For device developers, OpenHarmony utilizes a component-based design to tailor its features to better suit specific devices, based on each device's capabilities and service characteristics. OpenHarmony can run on devices with limited resources and wearables with hundreds of KB of memory, as well as more powerful devices, such as smart home cameras and dashcams with hundreds of MB of memory.
[中文版本](Readme-zh-cn.md)
## OpenHarmony Documentation
- [Getting Started](en/device-dev/quick-start/Readme-EN.md)
- [Source Code Acquisition/Tool Acquisition](en/device-dev/get-code/source-code-acquisition.md)
- [Kernel Usage Guidelines](en/device-dev/kernel/Readme-EN.md)
- [Driver Usage Guidelines](en/device-dev/driver/Readme-EN.md)
- [Subsystem Development Guidelines](en/device-dev/subsystems/Readme-EN.md)
- [Bundle Development Guidelines](en/device-dev/bundles/Readme-EN.md)
- [Device Development Guidelines](en/device-dev/guide/Readme-EN.md)
- [Third-Party Library Porting Guidelines](en/device-dev/porting/Readme-EN.md)
- [Privacy and Security](en/device-dev/security/Readme-EN.md)
- [Glossary](en/device-dev/glossary/glossary.md)
## Start Contributing
OpenHarmony is an open-source community and encourages everyone in the community to submit patches directly to the project. You can contribute either to the code or documentation.
- [Contributing to the Code](en/contribute/contributing-code.md)
- [Contributing to the Documentation](en/contribute/documentation-contribution.md)
For more details on how to contribute, see [Contributing Documents](en/contibute).
## Get Source Code and Tools
To download the source code and tools required for the project, click the following links:
- [Source Code Acquisition](en/device-dev/get-code/source-code-acquisition.md)
- [Tool Acquisition](en/device-dev/get-code/acquiring-tools.md)
## Where to Turn for Help
You can subscribe to the mailing list to get constant updates on new features, released road maps, and community activities. For how to subscribe to the mailing list or get any other support, see [Communication in Community](https://gitee.com/openharmony/docs/tree/master/en/contribute/communication-in-community.md).
## Code of Conduct
OpenHarmony is committed to providing a welcoming and inspiring community for all. In order to maintain a collaborative environment, we recommend you read and follow the community [Code of Conduct](https://gitee.com/openharmony/docs/blob/master/en/contribute/code-of-conduct.md).
## Contributors & Acknowledgements
A great open-source project wouldn't be possible without the hard work of many contributors. We'd like to invite anyone from around the world to participate in this exciting journey, and we're grateful for your time, passion, and efforts!
## Release
In order to provide new features and bug fixes, the community constantly updates code and provides new releases.
See [OpenHarmony Release Notes](en/release-notes/OpenHarmony-Release-Notes.md).
\ No newline at end of file
# OpenHarmony开发者文档<a name="ZH-CN_TOPIC_0000001054183022"></a>
此工程存放OpenHarmony提供的快速入门、开发指南、API参考等开发者文档,欢迎参与OpenHarmony开发者文档开源项目,与我们一起完善开发者文档。
[View English](https://gitee.com/openharmony/docs/blob/master/Readme-en.md)
## 文档目录结构<a name="section135134412620"></a>
- quick-start:[快速入门](zh-cn/device-dev/quick-start/Readme-CN.md)
- get-code:[获取源码/获取工具](zh-cn/device-dev/get-code/Readme-CN.md)
- docker:[Docker镜像构建](docker/README.md)
- kernel:[内核](zh-cn/device-dev/kernel/Readme-CN.md)
- driver:[驱动](zh-cn/device-dev/driver/Readme-CN.md)
- subsystems:[子系统](zh-cn/device-dev/subsystems/Readme-CN.md)
[编译构建](zh-cn/device-dev/subsystems/编译构建.md)
[分布式远程启动](zh-cn/device-dev/subsystems/分布式远程启动.md)
[图形图像](zh-cn/device-dev/subsystems/图形图像.md)
[媒体](zh-cn/device-dev/subsystems/媒体.md)
[公共基础](zh-cn/device-dev/subsystems/公共基础.md)
[AI框架](zh-cn/device-dev/subsystems/AI框架.md)
[Sensor服务](zh-cn/device-dev/subsystems/Sensor服务.md)
[用户程序框架](zh-cn/device-dev/subsystems/用户程序框架.md)
[OTA升级](zh-cn/device-dev/subsystems/OTA升级.md)
[安全](zh-cn/device-dev/subsystems/安全.md)
[启动恢复](zh-cn/device-dev/subsystems/启动恢复.md)
[测试](zh-cn/device-dev/subsystems/测试.md)
[DFX](zh-cn/device-dev/subsystems/DFX.md)
[XTS认证](zh-cn/device-dev/subsystems/XTS认证子系统开发指南.md)
- bundles:[组件开发](zh-cn/device-dev/bundles/Readme-CN.md)
- porting:[三方库移植/三方芯片移植](zh-cn/device-dev/porting/Readme-CN.md)
- guide:[设备开发](zh-cn/device-dev/guide/Readme-CN.md)
[WLAN连接类产品](zh-cn/device-dev/guide/WLAN连接类产品.md)
[无屏摄像头类产品](zh-cn/device-dev/guide/无屏摄像头类产品.md)
[带屏摄像头类产品](zh-cn/device-dev/guide/带屏摄像头类产品.md)
- security:[安全](zh-cn/device-dev/security/Readme-CN.md)
- contribute:[贡献](zh-cn/contribute/参与贡献.md)
- glossary:[术语](zh-cn/device-dev/glossary/术语.md)
- 3rd-Party-License:[第三方开源软件及许可证说明](zh-cn/contribute/第三方开源软件及许可证说明.md)
## 版本更新
参考[Release Notes](https://gitee.com/openharmony/docs/tree/master/zh-cn/release-notes)
## 贡献<a name="section897211181655"></a>
非常欢迎您贡献文档,我们鼓励开发者以各种方式参与文档反馈和贡献。
您可以对现有文档进行评价、简单更改、反馈文档质量问题、贡献您的原创内容,详细请参考[贡献文档](zh-cn/contribute/贡献文档.md)
卓越贡献者将会在开发者社区文档贡献专栏表彰公示。
# AtCmdTbl<a name="ZH-CN_TOPIC_0000001055036452"></a>
## **Overview**<a name="section2064737160191858"></a>
**Related Modules:**
[Wifiiot](Wifiiot.md)
**Description:**
Defines the AT command registration structure.
## **Summary**<a name="section1571632696191858"></a>
## Data Fields<a name="pub-attribs"></a>
<a name="table1652590832191858"></a>
<table><thead align="left"><tr id="row1772459793191858"><th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.1"><p id="p773912997191858"><a name="p773912997191858"></a><a name="p773912997191858"></a>Variable Name</p>
</th>
<th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.2"><p id="p1426608632191858"><a name="p1426608632191858"></a><a name="p1426608632191858"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row2032418511191858"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p1902039158191858"><a name="p1902039158191858"></a><a name="p1902039158191858"></a><a href="AtCmdTbl.md#af9e3433c293ffaa1e60ccb07e051ef29">atCmdName</a></p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p1541237630191858"><a name="p1541237630191858"></a><a name="p1541237630191858"></a>char *&nbsp;</p>
</td>
</tr>
<tr id="row1471418372191858"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p92861653191858"><a name="p92861653191858"></a><a name="p92861653191858"></a><a href="AtCmdTbl.md#a01ef03a0c8669e107e2fd988514935ab">atCmdLen</a></p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p964772384191858"><a name="p964772384191858"></a><a name="p964772384191858"></a>char&nbsp;</p>
</td>
</tr>
<tr id="row1455582246191858"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p2011214047191858"><a name="p2011214047191858"></a><a name="p2011214047191858"></a><a href="AtCmdTbl.md#ac4640c36b35e6986e5a2a5b82f3a880e">atTestCmd</a></p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p162925060191858"><a name="p162925060191858"></a><a name="p162925060191858"></a>AtCallbackFunc&nbsp;</p>
</td>
</tr>
<tr id="row2067323084191858"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p686880580191858"><a name="p686880580191858"></a><a name="p686880580191858"></a><a href="AtCmdTbl.md#ae9395d9f2d87a304c6e068fadce74e99">atQueryCmd</a></p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p1892663102191858"><a name="p1892663102191858"></a><a name="p1892663102191858"></a>AtCallbackFunc&nbsp;</p>
</td>
</tr>
<tr id="row1460815620191858"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p1413985929191858"><a name="p1413985929191858"></a><a name="p1413985929191858"></a><a href="AtCmdTbl.md#ae210d9f8e403f52c5f17f7fb716d5e29">atSetupCmd</a></p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p104645735191858"><a name="p104645735191858"></a><a name="p104645735191858"></a>AtCallbackFunc&nbsp;</p>
</td>
</tr>
<tr id="row965911634191858"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p11872626191858"><a name="p11872626191858"></a><a name="p11872626191858"></a><a href="AtCmdTbl.md#a6f6aa00ff3315b14afcba9d649f73543">atExeCmd</a></p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p33578643191858"><a name="p33578643191858"></a><a name="p33578643191858"></a>AtCallbackFunc&nbsp;</p>
</td>
</tr>
</tbody>
</table>
## **Details**<a name="section1254548727191858"></a>
## **Field Documentation**<a name="section205322858191858"></a>
## atCmdLen<a name="a01ef03a0c8669e107e2fd988514935ab"></a>
```
char AtCmdTbl::atCmdLen
```
**Description:**
AT command length
## atCmdName<a name="af9e3433c293ffaa1e60ccb07e051ef29"></a>
```
char* AtCmdTbl::atCmdName
```
**Description:**
AT command name
## atExeCmd<a name="a6f6aa00ff3315b14afcba9d649f73543"></a>
```
AtCallbackFunc AtCmdTbl::atExeCmd
```
**Description:**
AT command execution
## atQueryCmd<a name="ae9395d9f2d87a304c6e068fadce74e99"></a>
```
AtCallbackFunc AtCmdTbl::atQueryCmd
```
**Description:**
AT command query
## atSetupCmd<a name="ae210d9f8e403f52c5f17f7fb716d5e29"></a>
```
AtCallbackFunc AtCmdTbl::atSetupCmd
```
**Description:**
AT command setup
## atTestCmd<a name="ac4640c36b35e6986e5a2a5b82f3a880e"></a>
```
AtCallbackFunc AtCmdTbl::atTestCmd
```
**Description:**
AT test command
# Broadcast<a name="ZH-CN_TOPIC_0000001054915081"></a>
## **Overview**<a name="section90862446191845"></a>
Provides data subscription and data push for services.
With this module, the [Service](Service.md), [Feature](Feature.md), or other modules can broadcast events or data. All services that listen to these events or data can receive these broadcasts.
**Since:**
1.0
**Version:**
1.0
## **Summary**<a name="section39159338191845"></a>
## Data Structures<a name="nested-classes"></a>
<a name="table815182793191845"></a>
<table><thead align="left"><tr id="row929837741191845"><th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.1"><p id="p2113461367191845"><a name="p2113461367191845"></a><a name="p2113461367191845"></a>Data Structure Name</p>
</th>
<th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.2"><p id="p350454567191845"><a name="p350454567191845"></a><a name="p350454567191845"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row69659156191845"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p1020437120191845"><a name="p1020437120191845"></a><a name="p1020437120191845"></a><a href="Consumer.md">Consumer</a></p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p284648885191845"><a name="p284648885191845"></a><a name="p284648885191845"></a>Defines the topic consumer used to receive events and push data. You need to implement this struct for your application. </p>
</td>
</tr>
<tr id="row174673196191845"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p1481395820191845"><a name="p1481395820191845"></a><a name="p1481395820191845"></a><a href="Provider.md">Provider</a></p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p1674464760191845"><a name="p1674464760191845"></a><a name="p1674464760191845"></a>Defines the provider of events and data of a topic. </p>
</td>
</tr>
<tr id="row581420147191845"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p820203572191845"><a name="p820203572191845"></a><a name="p820203572191845"></a><a href="Subscriber.md">Subscriber</a></p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p1794404163191845"><a name="p1794404163191845"></a><a name="p1794404163191845"></a>Defines the subscriber for external interfaces to subscribe to events and data of a topic. </p>
</td>
</tr>
</tbody>
</table>
## Typedefs<a name="typedef-members"></a>
<a name="table1730218341191845"></a>
<table><thead align="left"><tr id="row549173102191845"><th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.1"><p id="p1387307071191845"><a name="p1387307071191845"></a><a name="p1387307071191845"></a>Typedef Name</p>
</th>
<th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.2"><p id="p487914743191845"><a name="p487914743191845"></a><a name="p487914743191845"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1500756878191845"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p958619328191845"><a name="p958619328191845"></a><a name="p958619328191845"></a><a href="Broadcast.md#gaf03f5bc94cad32ab628a6cdee09b0542">Topic</a></p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p1642576192191845"><a name="p1642576192191845"></a><a name="p1642576192191845"></a>typedef uint32&nbsp;</p>
<p id="p2122631873191845"><a name="p2122631873191845"></a><a name="p2122631873191845"></a>Indicates the topic of an event or data, which is used to distinguish different types of events or data. </p>
</td>
</tr>
</tbody>
</table>
## Enumerations<a name="enum-members"></a>
<a name="table1248040671191845"></a>
<table><thead align="left"><tr id="row1816210621191845"><th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.1"><p id="p408800661191845"><a name="p408800661191845"></a><a name="p408800661191845"></a>Enumeration Name</p>
</th>
<th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.2"><p id="p1878578353191845"><a name="p1878578353191845"></a><a name="p1878578353191845"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1942908505191845"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p1066227017191845"><a name="p1066227017191845"></a><a name="p1066227017191845"></a><a href="Broadcast.md#ga98f7a28020aa045ad049d116e1ca666d">BroadcastErrCode</a> { <a href="Broadcast.md#gga98f7a28020aa045ad049d116e1ca666da200821a903aa0ca4df7e25d2a0a3186b">EC_ALREADY_SUBSCRIBED</a> = EC_SUCCESS + 1 }</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p998342336191845"><a name="p998342336191845"></a><a name="p998342336191845"></a>Enumerates error codes unique to the Broadcast service. </p>
</td>
</tr>
</tbody>
</table>
## **Details**<a name="section299824655191845"></a>
## **Typedef Documentation**<a name="section1378812707191845"></a>
## Topic<a name="gaf03f5bc94cad32ab628a6cdee09b0542"></a>
```
typedef uint32 [Topic](Broadcast.md#gaf03f5bc94cad32ab628a6cdee09b0542)
```
**Description:**
Indicates the topic of an event or data, which is used to distinguish different types of events or data.
## **Enumeration Type Documentation**<a name="section1322993724191845"></a>
## BroadcastErrCode<a name="ga98f7a28020aa045ad049d116e1ca666d"></a>
```
enum [BroadcastErrCode](Broadcast.md#ga98f7a28020aa045ad049d116e1ca666d)
```
**Description:**
Enumerates error codes unique to the Broadcast service.
<a name="table1373728565191845"></a>
<table><thead align="left"><tr id="row126275586191845"><th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.1"><p id="p2055022088191845"><a name="p2055022088191845"></a><a name="p2055022088191845"></a>Enumerator</p>
</th>
<th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.2"><p id="p1062641564191845"><a name="p1062641564191845"></a><a name="p1062641564191845"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row596776902191845"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><strong id="gga98f7a28020aa045ad049d116e1ca666da200821a903aa0ca4df7e25d2a0a3186b"><a name="gga98f7a28020aa045ad049d116e1ca666da200821a903aa0ca4df7e25d2a0a3186b"></a><a name="gga98f7a28020aa045ad049d116e1ca666da200821a903aa0ca4df7e25d2a0a3186b"></a></strong>EC_ALREADY_SUBSCRIBED&nbsp;</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p299418997191845"><a name="p299418997191845"></a><a name="p299418997191845"></a>Error code showing that a topic has been subscribed to </p>
</td>
</tr>
</tbody>
</table>
此差异已折叠。
# CapabilityMap<a name="ZH-CN_TOPIC_0000001054876474"></a>
## **Overview**<a name="section252401096090254"></a>
**Related Modules:**
[Softbus](Softbus.md)
**Description:**
Defines the mapping between supported capabilities and bitmaps.
## **Summary**<a name="section1643013616090254"></a>
## Data Fields<a name="pub-attribs"></a>
<a name="table576008229090254"></a>
<table><thead align="left"><tr id="row787443168090254"><th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.1"><p id="p833205129090254"><a name="p833205129090254"></a><a name="p833205129090254"></a>Variable Name</p>
</th>
<th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.2"><p id="p1227013813090254"><a name="p1227013813090254"></a><a name="p1227013813090254"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1332670611090254"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p2108653347090254"><a name="p2108653347090254"></a><a name="p2108653347090254"></a><a href="Softbus.md#gaccfbfe7a48ef51a2bada9a711dfe8cdb">bitmap</a></p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p2058946165090254"><a name="p2058946165090254"></a><a name="p2058946165090254"></a><a href="Softbus.md#gab839c7f1fd448f52f003ab0693f27bb4">DataBitMap</a>&nbsp;</p>
</td>
</tr>
<tr id="row1359942580090254"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p1804519830090254"><a name="p1804519830090254"></a><a name="p1804519830090254"></a><a href="Softbus.md#gaba08ca6b519055898dd60b6e98a796d4">capability</a></p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p549574941090254"><a name="p549574941090254"></a><a name="p549574941090254"></a>char *&nbsp;</p>
</td>
</tr>
</tbody>
</table>
# CommonDeviceInfo<a name="ZH-CN_TOPIC_0000001055195066"></a>
## **Overview**<a name="section11016661090254"></a>
**Related Modules:**
[Softbus](Softbus.md)
**Description:**
Defines the type and content of a device to set.
## **Summary**<a name="section1299312410090254"></a>
## Data Fields<a name="pub-attribs"></a>
<a name="table2025639882090254"></a>
<table><thead align="left"><tr id="row1466248426090254"><th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.1"><p id="p225412743090254"><a name="p225412743090254"></a><a name="p225412743090254"></a>Variable Name</p>
</th>
<th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.2"><p id="p1102460413090254"><a name="p1102460413090254"></a><a name="p1102460413090254"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row760217634090254"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p187976101090254"><a name="p187976101090254"></a><a name="p187976101090254"></a><a href="Softbus.md#gaf3ee5a07a887ab31517318e0d4ea8cc4">key</a></p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p1194127300090254"><a name="p1194127300090254"></a><a name="p1194127300090254"></a><a href="Softbus.md#ga25be99ffbe88e41f7ce51d2678010254">CommonDeviceKey</a>&nbsp;</p>
</td>
</tr>
<tr id="row555161849090254"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p1964620589090254"><a name="p1964620589090254"></a><a name="p1964620589090254"></a><a href="Softbus.md#ga84452c64348251edfe90fc61a5c561ac">value</a></p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p571865140090254"><a name="p571865140090254"></a><a name="p571865140090254"></a>const char *&nbsp;</p>
</td>
</tr>
</tbody>
</table>
此差异已折叠。
# DeviceMap<a name="ZH-CN_TOPIC_0000001055355044"></a>
## **Overview**<a name="section72924696090254"></a>
**Related Modules:**
[Softbus](Softbus.md)
**Description:**
Defines the mappings between the device type enumerations and device type names.
## **Summary**<a name="section1242056321090254"></a>
## Data Fields<a name="pub-attribs"></a>
<a name="table133865106090254"></a>
<table><thead align="left"><tr id="row1676640548090254"><th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.1"><p id="p838446118090254"><a name="p838446118090254"></a><a name="p838446118090254"></a>Variable Name</p>
</th>
<th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.2"><p id="p209991267090254"><a name="p209991267090254"></a><a name="p209991267090254"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row627555557090254"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p2037817657090254"><a name="p2037817657090254"></a><a name="p2037817657090254"></a><a href="Softbus.md#gaddf75957b595adaddd4f227b9834e20b">value</a></p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p153364510090254"><a name="p153364510090254"></a><a name="p153364510090254"></a>char *&nbsp;</p>
</td>
</tr>
<tr id="row1367322673090254"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p99575126090254"><a name="p99575126090254"></a><a name="p99575126090254"></a><a href="Softbus.md#ga0e85f0b19c5d5d8368b93b9751473fb1">devType</a></p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p662223940090254"><a name="p662223940090254"></a><a name="p662223940090254"></a><a href="Softbus.md#ga9334bacb3ded964dc3c3367a6b70bcf4">DeviceType</a>&nbsp;</p>
</td>
</tr>
</tbody>
</table>
此差异已折叠。
此差异已折叠。
# IOT平台<a name="ZH-CN_TOPIC_0000001055036444"></a>
- **[IOT子系统](IOT子系统.md)**
# IOT子系统<a name="ZH-CN_TOPIC_0000001054476491"></a>
- **[Wifiiot](Wifiiot.md)**
# IPublishCallback<a name="ZH-CN_TOPIC_0000001054915093"></a>
## **Overview**<a name="section1305755903191859"></a>
**Related Modules:**
[Softbus](Softbus.md)
**Description:**
Defines the callbacks for successful and failed service publishing.
## **Summary**<a name="section1445080536191859"></a>
## Data Fields<a name="pub-attribs"></a>
<a name="table2105675329191859"></a>
<table><thead align="left"><tr id="row76584977191859"><th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.1"><p id="p524981378191859"><a name="p524981378191859"></a><a name="p524981378191859"></a>Variable Name</p>
</th>
<th class="cellrowborder" valign="top" width="50%" id="mcps1.1.3.1.2"><p id="p1947577598191859"><a name="p1947577598191859"></a><a name="p1947577598191859"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1033040761191859"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p1576250764191859"><a name="p1576250764191859"></a><a name="p1576250764191859"></a><a href="Softbus.md#gade0a74f5ae9b16a1fa7f03df5d9fbdf1">onPublishSuccess</a> )(int publishId)</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p1313521954191859"><a name="p1313521954191859"></a><a name="p1313521954191859"></a>void(*&nbsp;</p>
</td>
</tr>
<tr id="row1675598662191859"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.1 "><p id="p1148398614191859"><a name="p1148398614191859"></a><a name="p1148398614191859"></a><a href="Softbus.md#ga0f84feec4640c176938bbce26b8f25c8">onPublishFail</a> )(int publishId, <a href="Softbus.md#ga6632fcae1db4a3a13370e3fb49e5e620">PublishFailReason</a> reason)</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.1.3.1.2 "><p id="p1272313502191859"><a name="p1272313502191859"></a><a name="p1272313502191859"></a>void(*&nbsp;</p>
</td>
</tr>
</tbody>
</table>
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
# OpenHarmony内核<a name="ZH-CN_TOPIC_0000001055388122"></a>
- **[标准库](标准库.md)**
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
# Utils子系统<a name="ZH-CN_TOPIC_0000001054915083"></a>
- **[Kv\_store](Kv_store.md)**
- **[Parameter](Parameter.md)**
- **[Utils\_config](Utils_config.md)**
- **[Utils\_file](Utils_file.md)**
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册