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 { CommonEventConstants } from '../CommonEventConstants'; 180fbfc30aSopenharmony_ciimport { sendBroadcast } from '@ohos/common/src/main/ets/broadcast/BroadcastHelper'; 190fbfc30aSopenharmony_ci 200fbfc30aSopenharmony_ciexport const OPERATION_INSERT: string = 'insert'; 210fbfc30aSopenharmony_ci 220fbfc30aSopenharmony_ciexport const OPERATION_UPDATE: string = 'update'; 230fbfc30aSopenharmony_ci 240fbfc30aSopenharmony_ciexport const OPERATION_DELETE: string = 'delete'; 250fbfc30aSopenharmony_ci 260fbfc30aSopenharmony_ciexport const OPERATION_UNKNOWN: string = 'unknown'; 270fbfc30aSopenharmony_ci 280fbfc30aSopenharmony_ciconst BROAD_CAST_DELAY: number = 100; 290fbfc30aSopenharmony_ci 300fbfc30aSopenharmony_ci/** 310fbfc30aSopenharmony_ci * 发送数据库变化广播通知 320fbfc30aSopenharmony_ci * 330fbfc30aSopenharmony_ci * @param tableName 变化的表 340fbfc30aSopenharmony_ci * @param operation 操作:插入、更新、删除、未知 350fbfc30aSopenharmony_ci */ 360fbfc30aSopenharmony_ciinterface ParametersI { 370fbfc30aSopenharmony_ci table: string; 380fbfc30aSopenharmony_ci operation: string; 390fbfc30aSopenharmony_ci} 400fbfc30aSopenharmony_ci 410fbfc30aSopenharmony_ciinterface DataI { 420fbfc30aSopenharmony_ci parameters: ParametersI; 430fbfc30aSopenharmony_ci} 440fbfc30aSopenharmony_ci 450fbfc30aSopenharmony_ciexport function notifyProviderChange(tableName: string, operation: string) { 460fbfc30aSopenharmony_ci const data: DataI = { 470fbfc30aSopenharmony_ci parameters: { 480fbfc30aSopenharmony_ci table: tableName, 490fbfc30aSopenharmony_ci operation: operation, 500fbfc30aSopenharmony_ci } 510fbfc30aSopenharmony_ci }; 520fbfc30aSopenharmony_ci setTimeout(() => { 530fbfc30aSopenharmony_ci sendBroadcast(CommonEventConstants.DATA_CHANGED, data); 540fbfc30aSopenharmony_ci }, BROAD_CAST_DELAY); 550fbfc30aSopenharmony_ci}