16#ifndef SIMICS_SYSTEMC_IFACE_EXTENSION_RECEIVER_H
17#define SIMICS_SYSTEMC_IFACE_EXTENSION_RECEIVER_H
36template<
class TExtension,
class TInterface>
41 bool handle(tlm::tlm_generic_payload *payload)
override {
42 TExtension *extension = payload->get_extension<TExtension>();
43 if (extension && extension->valid()) {
44 payload->set_response_status(tlm::TLM_OK_RESPONSE);
45 extension->method_call(device_);
51 bool probe(tlm::tlm_generic_payload *payload)
override {
52 TExtension *extension = payload->get_extension<TExtension>();
53 return extension && extension->valid();
Receiver of protocol specific extensions.
Definition: extension_receiver.h:37
bool handle(tlm::tlm_generic_payload *payload) override
Definition: extension_receiver.h:41
bool probe(tlm::tlm_generic_payload *payload) override
Definition: extension_receiver.h:51
ExtensionReceiver(TInterface *device)
Definition: extension_receiver.h:39
Interface implemented by the ExtensionReceiver class, used by the ExtensionDispatcher.
Definition: receiver_interface.h:29
Definition: pci_bus_interface.h:24