* Copyright (c) 2021-2023 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
* @file Common event data.
* @kit BasicServicesKit
*/
import { RecordData } from '../@ohos.base';
* Describes the data of a common event. The **CommonEventData** module is used to carry the common event data
* received by subscribers in common event subscription scenarios. The data includes the event name, publisher
* bundle name, code, data, and additional parameters. This module is applicable to scenarios where apps
* subscribe to and process common events and parse the data carried in the events.
*
* @syscap SystemCapability.Notification.CommonEvent
* @crossplatform [since 11]
* @atomicservice [since 11]
* @since 7 dynamic
* @since 23 static
*/
export interface CommonEventData {
* Name of the common event that is being received.
*
* @syscap SystemCapability.Notification.CommonEvent
* @crossplatform [since 11]
* @atomicservice [since 11]
* @since 7 dynamic
* @since 23 static
*/
event: string;
* Bundle name of the common event publisher. The default value is an empty string.
*
* @syscap SystemCapability.Notification.CommonEvent
* @crossplatform [since 26.1.0]
* @atomicservice [since 11]
* @since 7 dynamic
* @since 23 static
*/
bundleName?: string;
* Common event data received by the subscriber. The value of this field is the same as that of the **code** field in
* [CommonEventPublishData]{@link commonEventPublishData.CommonEventPublishData} when the publisher uses
* [commonEventManager.publish]{@link ../@ohos.commonEventManager:commonEventManager.publish}
* to publish a common event. The value ranges from –2147483648 to 2147483647.
* The default value is **0**.
*
* @default 0
* @syscap SystemCapability.Notification.CommonEvent
* @crossplatform [since 26.1.0]
* @atomicservice [since 11]
* @since 7 dynamic
* @since 23 static
*/
code?: int;
* Common event data received by the subscriber. The data size cannot exceed 64 KB.
* The value of this field is the same as that of the **data** field in
* [CommonEventPublishData]{@link commonEventPublishData.CommonEventPublishData} when the publisher uses
* [commonEventManager.publish]{@link ../@ohos.commonEventManager:commonEventManager.publish}
* to publish a common event.
*
* @syscap SystemCapability.Notification.CommonEvent
* @crossplatform [since 12]
* @atomicservice [since 11]
* @since 7 dynamic
* @since 23 static
*/
data?: string;
* Additional information about the common event received by the subscriber. The value of this field is the same as
* that of the **parameters** field in [CommonEventPublishData]{@link commonEventPublishData.CommonEventPublishData}
* when the publisher uses
* [commonEventManager.publish]{@link ../@ohos.commonEventManager:commonEventManager.publish}
* to publish a common event.
*
* @syscap SystemCapability.Notification.CommonEvent
* @crossplatform [since 26.1.0]
* @atomicservice [since 11]
* @since 7 dynamic
*/
parameters?: { [key: string]: any };
* Additional information about the common event received by the subscriber. The value of this field is the same as
* that of the **parameters** field in [CommonEventPublishData]{@link commonEventPublishData:CommonEventPublishData}
* when the publisher uses
* [commonEventManager.publish]{@link ../@ohos.commonEventManager:commonEventManager.publish}
* to publish a common event.
*
* @syscap SystemCapability.Notification.CommonEvent
* @since 23 static
*/
parameters?: Record<string, RecordData>;
}