14#ifndef SIMICS_SYSTEMC_IFACE_EXTENSION_RECEIVER_H
15#define SIMICS_SYSTEMC_IFACE_EXTENSION_RECEIVER_H
34template<
class TExtension,
class TInterface>
39 bool handle(tlm::tlm_generic_payload *payload)
override {
40 TExtension *extension = payload->get_extension<TExtension>();
41 if (extension && extension->valid()) {
42 payload->set_response_status(tlm::TLM_OK_RESPONSE);
43 extension->method_call(device_);
49 bool probe(tlm::tlm_generic_payload *payload)
override {
50 TExtension *extension = payload->get_extension<TExtension>();
51 return extension && extension->valid();
Receiver of protocol specific extensions.
Definition: extension_receiver.h:35
bool handle(tlm::tlm_generic_payload *payload) override
Definition: extension_receiver.h:39
bool probe(tlm::tlm_generic_payload *payload) override
Definition: extension_receiver.h:49
ExtensionReceiver(TInterface *device)
Definition: extension_receiver.h:37
Interface implemented by the ExtensionReceiver class, used by the ExtensionDispatcher.
Definition: receiver_interface.h:27