鸿蒙OpenHarmony【HiSysEvent订阅】子系统DFX

概述

功能简介

HiSysEvent提供了跨进程订阅机制,开发者可以通过注册订阅接口实时获取关注的事件,例如电池模块订阅功耗相关的事件,用于分析耗电情况。

约束与限制

在订阅HiSysEvent事件之前,需要先完成HiSysEvent打点配置

开发指导

接口说明

C++接口说明

C++ HiSysEvent订阅开发能力如下:HiSysEventManager类,具体API详见接口目录(/base/hiviewdfx/hisysevent/interfaces/native/innerkits/hisysevent_manager/include/)。

表1 HiSysEvent订阅接口

接口名称 描述
int32_t HiSysEventManager::AddListener(std::shared_ptr listener,  std::vector& rules) 接口功能:添加对系统事件的订阅,通过设置规则订阅某些特定的事件。 输入参数: - listener:订阅回调对象。 - rules:事件订阅规则。 返回值: - 0:订阅添加成功。 - 负值:订阅添加失败。
int32_t HiSysEventManager::RemoveListener(std::shared_ptr listener) 接口功能:移除对系统事件的订阅。 输入参数: - listener:订阅回调对象。 返回值: - 0:订阅移除成功。 - 负值:订阅移除失败。

表2 ListenerRule订阅规则对象

接口名称 描述
ListenerRule(const std::string& tag,  RuleType ruleType = RuleType::WHOLE_WORD) 接口功能:订阅规则构造函数,创建事件标签订阅规则对象。 输入参数: - tag:订阅规则中指定的系统事件标签,字符串类型,最大长度16个字符(含),有效字符包含大小写字母及数字。 - ruleType:订阅规则的规则类型,RuleType枚举类型(参考表3)。
ListenerRule(const std::string& domain,  const std::string& eventName,  RuleType ruleType = RuleType::WHOLE_WORD) 接口功能:订阅规则构造函数,创建事件领域与事件名称订阅规则对象。 输入参数: - domain:订阅规则中指定的系统事件领域,字符串类型,最大长度16个字符(含),有效字符包含大写字母、数字及下划线。 - eventName:订阅规则中指定的系统事件名称,字符串类型,最大长度32个字符(含),有效字符包含大写字母、数字及下划线。 - ruleType:订阅规则的规则类型,RuleType枚举类型(参考表3)。
ListenerRule(const std::string& domain,  const std::string& eventName,  const std::string& tag,  RuleType ruleType = RuleType::WHOLE_WORD) 接口功能:订阅规则构造函数,创建事件领域、事件名称,事件标签订阅规则对象。 输入参数: - domain:订阅规则中指定的系统事件领域,字符串类型,最大长度16个字符(含),有效字符包含大写字母、数字及下划线。 - eventName:订阅规则中指定的系统事件名称,字符串类型,最大长度32个字符(含),有效字符包含大写字母、数字及下划线。 - tag:订阅规则中指定的系统事件标签,字符串类型,最大长度16个字符(含),有效字符包含大小写字母及数字。 - ruleType:订阅规则的规则类型,RuleType枚举类型。

表3 HiSysEventListener订阅对象

接口名称 描述
void HiSysEventListener::OnEvent(std::shared_ptr sysEvent) 接口功能:订阅事件的回调接口。 输入参数: - sysEvent:订阅到的实时系统事件。 返回值: 无。
void HiSysEventListener::OnServiceDied() 接口功能:服务异常回调。 输入参数: 无。 返回值: 无。

表4 HiSysEventRecord系统事件对象

接口名称 描述
std::string HiSysEventRe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值