class which houses all four rule containers, only allocated if utilized.
More...
#include <callback_overlay.h>
|
| | callback_overlay () |
| | Construct a new callback overlay object.
|
| |
| | ~callback_overlay () |
| | Destroy the callback overlay object.
|
| |
| pattern_rule_container * | get_rule_container (stage::E _stage) |
| | Get the rule container object.
|
| |
| void | deactivate_rule (stage::E _stage, std::string _name) |
| | deactivates rule by name at stage.
|
| |
| void | activate_rule (stage::E _stage, std::string _name) |
| | activates rule by name at stage.
|
| |
| void | process_pre_read_rules (uint64_t _old_value, uint64_t _new_value) |
| | processes pre_read_rules.
|
| |
| void | process_post_read_rules (uint64_t _old_value, uint64_t _new_value) |
| | processes post_read_rules.
|
| |
| void | process_pre_write_rules (uint64_t _old_value, uint64_t _new_value) |
| | processes pre_write_rules.
|
| |
| void | process_post_write_rules (uint64_t _old_value, uint64_t _new_value) |
| | processes post_write_rules.
|
| |
| I_pattern_rule * | add_rule (std::function< void()> _func, stage::E _stage, type::E _type, std::string _name,...) |
| | add a rule to this entity.
|
| |
| I_pattern_rule * | add_user_rule (std::function< void(uint64_t, uint64_t)> _func, stage::E _stage, std::string _name,...) |
| |
|
| _keep_hot I_pattern_rule * | __add_rule (std::function< void()> _func, stage::E _stage, type::E _type, std::string _name, std::vector< uint64_t > &_ordered_args) |
| | real implementation of add a rule to this entity (decompressed va_list).
|
| |
| _keep_hot I_pattern_rule * | __add_rule (std::function< void(uint64_t, uint64_t)> _func, stage::E _stage, type::E _type, std::string _name, va_list &args) |
| | real implementation of add a rule to this entity (decompressed va_list).
|
| |
| void | delete_rules_from_container (pattern_rule_container *_rule_container) |
| | Free the memory from the rules within the rule container.
|
| |
class which houses all four rule containers, only allocated if utilized.
◆ callback_overlay()
| sme::callback_overlay::callback_overlay |
( |
| ) |
|
|
inline |
Construct a new callback overlay object.
◆ ~callback_overlay()
| sme::callback_overlay::~callback_overlay |
( |
| ) |
|
|
inline |
Destroy the callback overlay object.
◆ __add_rule() [1/2]
| _keep_hot I_pattern_rule * sme::callback_overlay::__add_rule |
( |
std::function< void()> |
_func, |
|
|
stage::E |
_stage, |
|
|
type::E |
_type, |
|
|
std::string |
_name, |
|
|
std::vector< uint64_t > & |
_ordered_args |
|
) |
| |
|
inlineprotected |
real implementation of add a rule to this entity (decompressed va_list).
For pre-defined rules.
- Parameters
-
| _func | is a lambda definition of what should occur. |
| _stage | of processing |
| _type | of rule |
| _name | of rule |
| args | va_list of args for rule creation |
- Returns
- I_pattern_rule* new rule or nullptr if failed to allocate
◆ __add_rule() [2/2]
| _keep_hot I_pattern_rule * sme::callback_overlay::__add_rule |
( |
std::function< void(uint64_t, uint64_t)> |
_func, |
|
|
stage::E |
_stage, |
|
|
type::E |
_type, |
|
|
std::string |
_name, |
|
|
va_list & |
args |
|
) |
| |
|
inlineprotected |
real implementation of add a rule to this entity (decompressed va_list).
For user defined rules.
- Parameters
-
| _func | is a lambda definition of what should occur. |
| _stage | of processing |
| _type | of rule |
| _name | of rule |
| args | va_list of args for rule creation |
- Returns
- I_pattern_rule* new rule or nullptr if failed to allocate
◆ activate_rule()
| void sme::callback_overlay::activate_rule |
( |
stage::E |
_stage, |
|
|
std::string |
_name |
|
) |
| |
|
inline |
activates rule by name at stage.
- Parameters
-
| _stage | of processing |
| _name | of rule |
◆ add_rule()
| I_pattern_rule * sme::callback_overlay::add_rule |
( |
std::function< void()> |
_func, |
|
|
stage::E |
_stage, |
|
|
type::E |
_type, |
|
|
std::string |
_name, |
|
|
|
... |
|
) |
| |
|
inline |
add a rule to this entity.
- Parameters
-
| _func | is a lambda definition of what should occur. For scoping reasons the lambda is typically declared as: [this]() -> void { do_something_interesting(); }); |
| _stage | of processing |
| _type | of rule |
| _name | of rule |
| ... | :: variadic parameters for rule creation, please see notify.h, masked.h, pattern.h, rising_bit.h, falling_bit.h |
- Returns
- I_pattern_rule* new rule or nullptr if failed to allocate
◆ add_user_rule()
| I_pattern_rule * sme::callback_overlay::add_user_rule |
( |
std::function< void(uint64_t, uint64_t)> |
_func, |
|
|
stage::E |
_stage, |
|
|
std::string |
_name, |
|
|
|
... |
|
) |
| |
|
inline |
◆ deactivate_rule()
| void sme::callback_overlay::deactivate_rule |
( |
stage::E |
_stage, |
|
|
std::string |
_name |
|
) |
| |
|
inline |
deactivates rule by name at stage.
- Parameters
-
| _stage | of processing |
| _name | of rule |
◆ delete_rules_from_container()
Free the memory from the rules within the rule container.
- Parameters
-
| _rule_container | is a container to clean the rule memory from. |
◆ get_rule_container()
Get the rule container object.
- Parameters
-
| _stage | determines which rule container |
- Returns
- pattern_rule_container*
◆ process_post_read_rules()
| void sme::callback_overlay::process_post_read_rules |
( |
uint64_t |
_old_value, |
|
|
uint64_t |
_new_value |
|
) |
| |
|
inline |
processes post_read_rules.
- Parameters
-
| _old_value | value of the register/field |
| _new_value | could be a modified new value, usually same as old |
◆ process_post_write_rules()
| void sme::callback_overlay::process_post_write_rules |
( |
uint64_t |
_old_value, |
|
|
uint64_t |
_new_value |
|
) |
| |
|
inline |
processes post_write_rules.
- Parameters
-
| _old_value | value of the register/field |
| _new_value | new value of the register/field (from bus) |
◆ process_pre_read_rules()
| void sme::callback_overlay::process_pre_read_rules |
( |
uint64_t |
_old_value, |
|
|
uint64_t |
_new_value |
|
) |
| |
|
inline |
processes pre_read_rules.
- Parameters
-
| _old_value | value of the register/field |
| _new_value | always the same as the old value |
◆ process_pre_write_rules()
| void sme::callback_overlay::process_pre_write_rules |
( |
uint64_t |
_old_value, |
|
|
uint64_t |
_new_value |
|
) |
| |
|
inline |
processes pre_write_rules.
- Parameters
-
| _old_value | value of the register/field |
| _new_value | new value of the register/field (from bus) |
◆ m_post_read
post_read rule container (ptr).
◆ m_post_write
post_write rule container (ptr).
◆ m_pre_read
pre_read rule container (ptr).
◆ m_pre_write
pre_write rule container (ptr).
The documentation for this class was generated from the following file:
- /disk2/mp/builds/nightly-base.745.16951401086.1/src/devices/c++-api/extensions/src/sme/overlays/callback_overlay.h