14#ifndef SIMICS_SYSTEMC_INJECTION_EXTENSION_INJECT_I2C_MASTER_V2_H
15#define SIMICS_SYSTEMC_INJECTION_EXTENSION_INJECT_I2C_MASTER_V2_H
32template <
typename TPAYLOAD>
38 attr_value_t *attr, TPAYLOAD *gp)
override {
39 if (key ==
"acknowledge") {
47 }
else if (key ==
"read_response") {
49 if (!parser->value(&value))
53 ->read_response(value);
62 if (!parser->
value(&ack))
66 parser->
reportError(
"%s must be either I2C_ack or I2C_noack",
#define ATTR_DICT_PARSER_NAMESPACE(ns)
Definition: attr_dict_parser.h:32
Definition: attr_dict_parser.h:38
void reportError(const char *str,...)
bool value(T *v)
Definition: attr_dict_parser.h:64
Definition: inject_base.h:43
Definition: extension_setter.h:32
Definition: inject_i2c_master_v2.h:33
bool setValue(AttrDictParser *parser, const std::string &key, attr_value_t *attr, TPAYLOAD *gp) override
Definition: inject_i2c_master_v2.h:37
bool i2cAckValue(AttrDictParser *parser, simics::types::i2c_ack_t *v, std::string key)
Definition: inject_i2c_master_v2.h:59
i2c_ack_t
Definition: i2c_ack.h:20
@ I2C_ack
Definition: i2c_ack.h:21
@ I2C_noack
Definition: i2c_ack.h:22