SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
simics::systemc::iface::ExtensionReceiver< TExtension, TInterface > Class Template Reference

Receiver of protocol specific extensions. More...

#include <extension_receiver.h>

Inheritance diagram for simics::systemc::iface::ExtensionReceiver< TExtension, TInterface >:
simics::systemc::iface::ReceiverInterface

Public Member Functions

 ExtensionReceiver (TInterface *device)
 
bool handle (tlm::tlm_generic_payload *payload) override
 
bool probe (tlm::tlm_generic_payload *payload) override
 
- Public Member Functions inherited from simics::systemc::iface::ReceiverInterface
virtual bool handle (tlm::tlm_generic_payload *payload)=0
 
virtual bool probe (tlm::tlm_generic_payload *payload)=0
 
virtual ~ReceiverInterface ()
 

Detailed Description

template<class TExtension, class TInterface>
class simics::systemc::iface::ExtensionReceiver< TExtension, TInterface >

Receiver of protocol specific extensions.

The ExtensionReceiver can optionally be registered with the ExtensionDispatcher as a subscriber of transactions. If the receiver can handle one of the extensions set on the payload, it calls this extension with the object implementing the interface. The extension then handles the unmarshalling of the interface and calls the corresponding interface method of the object.

Constructor & Destructor Documentation

◆ ExtensionReceiver()

template<class TExtension , class TInterface >
simics::systemc::iface::ExtensionReceiver< TExtension, TInterface >::ExtensionReceiver ( TInterface *  device)
inlineexplicit

Member Function Documentation

◆ handle()

template<class TExtension , class TInterface >
bool simics::systemc::iface::ExtensionReceiver< TExtension, TInterface >::handle ( tlm::tlm_generic_payload *  payload)
inlineoverridevirtual

◆ probe()

template<class TExtension , class TInterface >
bool simics::systemc::iface::ExtensionReceiver< TExtension, TInterface >::probe ( tlm::tlm_generic_payload *  payload)
inlineoverridevirtual

The documentation for this class was generated from the following file: