interface_sdk-js/api/@ohos.hiSysEvent.d.ts
c00792730 05086a02ac fix:add permmision to unsubscribe interface
Signed-off-by: c00792730 <chenbowei7@huawei.com>
2023-06-14 10:30:38 +08:00

520 lines
15 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* Copyright (c) 2022 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.
*/
import { AsyncCallback } from './@ohos.base';
/**
* Provides the system event logging function for applications to log the fault, statistical, security,
* and user behavior events reported during running. Based on event information,
* you will be able to analyze the running status of applications.
*
* @namespace hiSysEvent
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
declare namespace hiSysEvent {
/**
* Enumerate system event types.
*
* @enum {number}
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
enum EventType {
/**
* Fault event
*
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
FAULT = 1,
/**
* Statistic event
*
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
STATISTIC = 2,
/**
* Security event
*
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
SECURITY = 3,
/**
* System behavior event
*
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
BEHAVIOR = 4
}
/**
* Definition of written system event information.
*
* @interface SysEventInfo
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
interface SysEventInfo {
/**
* The domain of the event.
*
* @type { string }
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
domain: string;
/**
* The name of the event.
*
* @type { string }
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
name: string;
/**
* The type of the event.
*
* @type { EventType }
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
eventType: EventType;
/**
* The params of the event.
*
* @type { object }
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
params: object;
}
/**
* Write system event.
*
* @param {SysEventInfo} info - system event information to be written.
* @returns {Promise<void>} - Return Promise
* @throws {BusinessError} 401 - Invalid argument.
* @throws {BusinessError} 11200001 - Invalid event domain.
* @throws {BusinessError} 11200002 - Invalid event name.
* @throws {BusinessError} 11200003 - Abnormal environment.
* @throws {BusinessError} 11200004 - Length of the event is over limit.
* @throws {BusinessError} 11200051 - Invalid event parameter.
* @throws {BusinessError} 11200052 - Size of the event parameter of the string type is over limit.
* @throws {BusinessError} 11200053 - Count of event parameters is over limit.
* @throws {BusinessError} 11200054 - Count of event parameter of the array type is over limit.
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
function write(info: SysEventInfo): Promise<void>;
/**
* Write system event.
*
* @param {SysEventInfo} info - system event information to be written.
* @param {AsyncCallback<void>} callback - callback function.
* @throws {BusinessError} 401 - Invalid argument.
* @throws {BusinessError} 11200001 - Invalid event domain.
* @throws {BusinessError} 11200002 - Invalid event name.
* @throws {BusinessError} 11200003 - Abnormal environment.
* @throws {BusinessError} 11200004 - Length of the event is over limit.
* @throws {BusinessError} 11200051 - Invalid event parameter.
* @throws {BusinessError} 11200052 - Size of the event parameter of the string type is over limit.
* @throws {BusinessError} 11200053 - Count of event parameters is over limit.
* @throws {BusinessError} 11200054 - Count of event parameter of the array type is over limit.
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
function write(info: SysEventInfo, callback: AsyncCallback<void>): void;
/**
* Enumerate search system event rule type.
*
* @enum {number}
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
enum RuleType {
/**
* Whole word match
*
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
WHOLE_WORD = 1,
/**
* Prefix match
*
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
PREFIX = 2,
/**
* Regular match
*
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
REGULAR = 3
}
/**
* Definition listener rule for system event information.
*
* @interface WatchRule
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
interface WatchRule {
/**
* The domain of the event.
*
* @type { string }
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
domain: string;
/**
* The name of the event.
*
* @type { string }
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
name: string;
/**
* The tag of the event.
*
* @type { string }
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
tag: string;
/**
* The rule of match system event
*
* @type { RuleType }
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
ruleType: RuleType;
}
/**
* Definition watcher for system event information.
*
* @interface Watcher
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
interface Watcher {
/**
* Rule of filter system event
*
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
rules: WatchRule[];
/**
* Receive system event.
*
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
onEvent: (info: SysEventInfo) => void;
/**
* Hisysevent service shutdown.
*
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
onServiceDied: () => void;
}
/**
* Definition arguments for query system event information.
*
* @interface QueryArg
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
interface QueryArg {
/**
* Begin time
*
* @type { number }
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
beginTime: number;
/**
* End time
*
* @type { number }
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
endTime: number;
/**
* Max number of receive system event
*
* @type { number }
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
maxEvents: number;
/**
* Begin sequence
*
* @type { ?number }
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 10
*/
fromSeq?: number;
/**
* End sequence
*
* @type { ?number }
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 10
*/
toSeq?: number;
}
/**
* Definition event for query system event information
*
* @interface QueryRule
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
interface QueryRule {
/**
* The domain of the event
*
* @type { string }
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
domain: string;
/**
* List of event name
*
* @type { string[] }
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
names: string[];
/**
* Extra parameter condition of event
*
* @type { ?string }
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 10
*/
condition?: string;
}
/**
* Definition query result handler
*
* @interface Querier
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
interface Querier {
/**
* Handle query result, the query result will be send in several times.
*
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
onQuery: (infos: SysEventInfo[]) => void;
/**
* Notify querier execute query has finished.
*
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
onComplete: (reason: number, total: number) => void;
}
/**
* Add watcher to watch system event
*
* @permission ohos.permission.READ_DFX_SYSEVENT
* @param {Watcher} watcher watch system event
* @throws {BusinessError} 201 - Permission denied. An attempt was made to read system event forbidden by permission: ohos.permission.READ_DFX_SYSEVENT.
* @throws {BusinessError} 202 - System API is not allowed called by Non-system application.
* @throws {BusinessError} 401 - Invalid argument.
* @throws {BusinessError} 11200101 - Count of watchers is over limit.
* @throws {BusinessError} 11200102 - Count of watch rules is over limit.
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
function addWatcher(watcher: Watcher): void;
/**
* Remove watcher
*
* @permission ohos.permission.READ_DFX_SYSEVENT
* @param {Watcher} watcher watch system event
* @throws {BusinessError} 201 - Permission denied. An attempt was made to read system event forbidden by permission: ohos.permission.READ_DFX_SYSEVENT.
* @throws {BusinessError} 202 - System API is not allowed called by Non-system application.
* @throws {BusinessError} 401 - Invalid argument.
* @throws {BusinessError} 11200201 - The watcher does not exist.
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
function removeWatcher(watcher: Watcher): void;
/**
* Query system event
*
* @permission ohos.permission.READ_DFX_SYSEVENT
* @param {QueryArg} queryArg common arguments of query system event
* @param {QueryRule[]} rules rule of query system event
* @param {Querier} querier receive query result
* @throws {BusinessError} 201 - Permission denied. An attempt was made to read system event forbidden by permission: ohos.permission.READ_DFX_SYSEVENT.
* @throws {BusinessError} 202 - System API is not allowed called by Non-system application.
* @throws {BusinessError} 401 - Invalid argument.
* @throws {BusinessError} 11200301 - Count of query rules is over limit.
* @throws {BusinessError} 11200302 - Invalid query rule.
* @throws {BusinessError} 11200303 - Count of concurrent queriers is over limit.
* @throws {BusinessError} 11200304 - Query frequency is over limit.
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 9
*/
function query(queryArg: QueryArg, rules: QueryRule[], querier: Querier): void;
/**
* Export system event
*
* @permission ohos.permission.READ_DFX_SYSEVENT
* @param {QueryArg} queryArg common arguments of query system event
* @param {QueryRule[]} rules rule of query system event
* @returns {number} return hiview receive task time.
* @throws {BusinessError} 201 - Permission denied. An attempt was made to read system event forbidden by permission: ohos.permission.READ_DFX_SYSEVENT.
* @throws {BusinessError} 202 - System API is not allowed called by Non-system application.
* @throws {BusinessError} 401 - Invalid argument.
* @throws {BusinessError} 11200301 - Count of query rules is over limit.
* @throws {BusinessError} 11200302 - Invalid query rule.
* @throws {BusinessError} 11200304 Export frequency is over limit.
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 10
*/
function exportSysEvents(queryArg: QueryArg, rules: QueryRule[]): number;
/**
* Subscribe system event
*
* @permission ohos.permission.READ_DFX_SYSEVENT
* @param {QueryRule[]} rules rule of subscribe system event
* @returns {number} return hiview receive task time.
* @throws {BusinessError} 201 - Permission denied. An attempt was made to read system event forbidden by permission: ohos.permission.READ_DFX_SYSEVENT.
* @throws {BusinessError} 202 - System API is not allowed called by Non-system application.
* @throws {BusinessError} 401 - Invalid argument.
* @throws {BusinessError} 11200301 - Count of query rules is over limit.
* @throws {BusinessError} 11200302 - Invalid query rule.
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 10
*/
function subscribe(rules: QueryRule[]): number;
/**
* Unsubscribe system event
*
* @permission ohos.permission.READ_DFX_SYSEVENT
* @throws {BusinessError} 201 - Permission denied. An attempt was made to read system event forbidden by permission: ohos.permission.READ_DFX_SYSEVENT.
* @throws {BusinessError} 202 - System API is not allowed called by Non-system application.
* @throws {BusinessError} 401 - Invalid argument.
* @throws {BusinessError} 11200305 unsubscribe failed.
* @syscap SystemCapability.HiviewDFX.HiSysEvent
* @systemapi hide for inner use
* @since 10
*/
function unsubscribe(): void;
}
export default hiSysEvent;