代码逻辑分析
(注:由于SDK在持续更新,有些接口可能会有些变化,所以仅供参考)
/*目前使用的rules 容器有*/
Common_rules_set
primary_rules_set
secondary_rules_set
hstop_rules_set
tws_topology_primary_rules
tws_topology_secondary_rules
/*rules的通用实现,包含创建、注销,执行和取消规则*/
//rules_engine.c
/*创建一个规则容器,将一个规则的table注册(容器与table关联)*/
RulesEngine_CreateRuleSet
/*删除一个规则容器*/
RulesEngine_DestroyRuleSet
/*运行一个规则,供模块外部调用*/
RulesEngine_SetEvent
/*运行一个规则,供模块内部调用*/
RulesEngine_RunRules
/*当一个规则运行完之后,清除相应事件mask及状态位*/
RulesEngine_SetRuleComplete
RulesEngine_SetRuleWithEventComplete
/*取消一个规则,清除相应事件mask及状态位*/
RulesEngine_ResetEvent
/*通用规则*/
//earbud_common_rules.c
/*earbud通