14#ifndef SIMICS_SYSTEMC_INJECTION_EXTENSION_INJECT_PCIE_DEVICE_H
15#define SIMICS_SYSTEMC_INJECTION_EXTENSION_INJECT_PCIE_DEVICE_H
31template <
typename TPAYLOAD>
37 attr_value_t *attr, TPAYLOAD *gp)
override {
38 if (key ==
"hot_reset") {
42 }
else if (key ==
"connected") {
44 conf_object_t *port_obj =
nullptr;
45 if (!p.
lookUp(
"port_obj", &port_obj))
48 uint16_t device_id = 0;
49 if (!p.
lookUp(
"device_id", &device_id))
53 ->connected(port_obj, device_id);
55 }
else if (key ==
"disconnected") {
57 conf_object_t *port_obj =
nullptr;
58 if (!p.
lookUp(
"port_obj", &port_obj))
61 uint16_t device_id = 0;
62 if (!p.
lookUp(
"device_id", &device_id))
66 ->disconnected(port_obj, device_id);
#define ATTR_DICT_PARSER_NAMESPACE(ns)
Definition: attr_dict_parser.h:32
Definition: attr_dict_parser.h:38
AttrDictParser init(const attr_value_t *attr)
bool lookUp(const std::string &key, T *v)
Definition: attr_dict_parser.h:53
Definition: inject_base.h:43
Definition: extension_setter.h:32
Definition: inject_pcie_device.h:32
bool setValue(AttrDictParser *parser, const std::string &key, attr_value_t *attr, TPAYLOAD *gp) override
Definition: inject_pcie_device.h:36