16#ifndef SIMICS_SYSTEMC_INJECTION_EXTENSION_INJECT_I2C_MASTER_V2_H
17#define SIMICS_SYSTEMC_INJECTION_EXTENSION_INJECT_I2C_MASTER_V2_H
34template <
typename TPAYLOAD>
40 attr_value_t *attr, TPAYLOAD *gp) {
41 if (key ==
"acknowledge") {
49 }
else if (key ==
"read_response") {
51 if (!parser->value(&value))
55 ->read_response(value);
64 if (!parser->
value(&ack))
68 parser->
reportError(
"%s must be either I2C_ack or I2C_noack",
#define ATTR_DICT_PARSER_NAMESPACE(ns)
Definition: attr_dict_parser.h:34
Definition: attr_dict_parser.h:40
void reportError(const char *str,...)
bool value(T *v)
Definition: attr_dict_parser.h:66
Definition: inject_base.h:45
Definition: extension_setter.h:34
Definition: inject_i2c_master_v2.h:35
virtual bool setValue(AttrDictParser *parser, const std::string &key, attr_value_t *attr, TPAYLOAD *gp)
Definition: inject_i2c_master_v2.h:39
bool i2cAckValue(AttrDictParser *parser, simics::types::i2c_ack_t *v, std::string key)
Definition: inject_i2c_master_v2.h:61
i2c_ack_t
Definition: i2c_ack.h:22
@ I2C_ack
Definition: i2c_ack.h:23
@ I2C_noack
Definition: i2c_ack.h:24
Definition: pci_bus_interface.h:24