10fbfc30aSopenharmony_ci/**
20fbfc30aSopenharmony_ci * @file Describe the file
30fbfc30aSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
40fbfc30aSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
50fbfc30aSopenharmony_ci * you may not use this file except in compliance with the License.
60fbfc30aSopenharmony_ci * You may obtain a copy of the License at
70fbfc30aSopenharmony_ci *
80fbfc30aSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
90fbfc30aSopenharmony_ci *
100fbfc30aSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
110fbfc30aSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
120fbfc30aSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130fbfc30aSopenharmony_ci * See the License for the specific language governing permissions and
140fbfc30aSopenharmony_ci * limitations under the License.
150fbfc30aSopenharmony_ci */
160fbfc30aSopenharmony_ci
170fbfc30aSopenharmony_ciimport commonEventManager from '@ohos.commonEventManager';
180fbfc30aSopenharmony_ciimport { Log } from '../utils/Log';
190fbfc30aSopenharmony_ciimport { BusinessError } from '@ohos.base';
200fbfc30aSopenharmony_ci
210fbfc30aSopenharmony_ciconst TAG = 'BroadcastHelper';
220fbfc30aSopenharmony_ci
230fbfc30aSopenharmony_ci/**
240fbfc30aSopenharmony_ci * 发送广播
250fbfc30aSopenharmony_ci *
260fbfc30aSopenharmony_ci * @param action 广播action
270fbfc30aSopenharmony_ci * @param data 广播携带数据,数据结构参考系统api:CommonEventPublishData
280fbfc30aSopenharmony_ci */
290fbfc30aSopenharmony_ciexport function sendBroadcast(action: string, data?: commonEventManager.CommonEventPublishData): void {
300fbfc30aSopenharmony_ci  const callback = (err: BusinessError): void => {
310fbfc30aSopenharmony_ci    if (err?.code) {
320fbfc30aSopenharmony_ci      Log.error(TAG, `sendBroadcast [${action}] get err:${err?.code}, msg=${err?.message}`);
330fbfc30aSopenharmony_ci    } else {
340fbfc30aSopenharmony_ci      Log.info(TAG, `sendBroadcast [${action}] successful`);
350fbfc30aSopenharmony_ci    }
360fbfc30aSopenharmony_ci  };
370fbfc30aSopenharmony_ci  if (data) {
380fbfc30aSopenharmony_ci    commonEventManager.publish(action, data, callback);
390fbfc30aSopenharmony_ci  } else {
400fbfc30aSopenharmony_ci    commonEventManager.publish(action, callback);
410fbfc30aSopenharmony_ci  }
420fbfc30aSopenharmony_ci}