}
-void CustomEventPublish(uint16_t topic, uint8_t *data , uint32_t size)
-{
- int32_t ret;
-
- BroadcastApi *broadcastApi = NULL;
- IUnknown *api = NULL;
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish topic=%u!!", topic);
+void CustomEventPublish(uint16_t topic, uint8_t *data, uint32_t size) {
+ int32_t ret;
+
+ BroadcastApi *broadcastApi = NULL;
+ IUnknown *api = NULL;
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish topic=%u!!", topic);
+
+ void *publishData = nullptr;
+ if (size > 0) {
+ publishData = malloc(size);
+ if (publishData == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish malloc failed! size = %u", size);
+ return;
+ }
+ ret = memcpy_s(publishData, size, (const void *)data, size);
+ if (ret != EOK) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish memcpy_s failed! ret = %d", ret);
+ free(publishData);
+ return;
+ }
+ }
+ Request request = {.msgId = topic, .len = size, .msgValue = 0, .data = publishData};
- void *publishData = nullptr;
- if (size > 0)
- {
- publishData = malloc(size);
- if (publishData == nullptr) {
- return;
- }
- ret = memcpy_s(publishData, size, (const void *)data, size);
- if (ret != EOK)
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish memcpy_s rateDataTmp fail! ret = %d", ret);
- free(publishData);
- return;
- }
- }
+ /* public request */
+ api = SAMGR_GetInstance()->GetFeatureApi(BROADCAST_SERVICE_NAME, BROADCAST_FEATURE_NAME);
+ if (api == NULL) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetFeatureApi failed for service: %s, feature: %s", BROADCAST_SERVICE_NAME, BROADCAST_FEATURE_NAME);
+ free(publishData);
+ return;
+ }
- Request request = {.msgId = topic, .len = size, .msgValue = 0,.data = publishData};
-
+ ret = api->QueryInterface(api, DEFAULT_VERSION, (void **)&broadcastApi);
+ if (ret != 0 || broadcastApi == NULL) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "QueryInterface failed! ret = %d, api = %p", ret, api);
+ free(publishData);
+ return;
+ }
- /* public request */
- api = SAMGR_GetInstance()->GetFeatureApi(BROADCAST_SERVICE_NAME, BROADCAST_FEATURE_NAME);
- if (api == NULL) {
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "GetFeatureApi failed");
- free(publishData);
- return;
- }
- ret = api->QueryInterface(api, DEFAULT_VERSION, (void **)&broadcastApi);
- if (ret != 0 || broadcastApi == NULL) {
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "QueryInterface failed");
- free(publishData);
- return;
- }
- broadcastApi->PublishTopic((IUnknown *)broadcastApi, &request);
- broadcastApi->Release((IUnknown *)broadcastApi);
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish end!!");
+ ret = broadcastApi->PublishTopic((IUnknown *)broadcastApi, &request);
+ if (ret != 0) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PublishTopic failed! ret = %d", ret);
+ }
+
+ broadcastApi->Release((IUnknown *)broadcastApi);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ChargerEventPublish end!!");
- return;
+ // 释放内存
+ free(publishData);
+ return;
}
void custom_set_volume(uint8_t channel,int32_t sounding)