SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
simics::systemc::iface::ExtensionDispatcher Class Reference

Utility class that can unmarshal a Simics interface embedded as an Extension in the tlm::tlm_generic_payload and dispatch the interface method to a callback method on the corresponding receiver class, implementing the ReceiverInterface. More...

#include <extension_dispatcher.h>

Inheritance diagram for simics::systemc::iface::ExtensionDispatcher:
simics::systemc::iface::ReceiverInterface

Public Member Functions

void subscribe (ReceiverInterface *receiver)
 
bool handle (tlm::tlm_generic_payload *payload) override
 
bool probe (tlm::tlm_generic_payload *payload) override
 
virtual ~ExtensionDispatcher ()
 
- 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 ()
 

Protected Attributes

std::vector< ReceiverInterface * > receivers_
 

Detailed Description

Utility class that can unmarshal a Simics interface embedded as an Extension in the tlm::tlm_generic_payload and dispatch the interface method to a callback method on the corresponding receiver class, implementing the ReceiverInterface.

There is no limit to the number of receivers that can subscribe to the same dispatcher.

Constructor & Destructor Documentation

◆ ~ExtensionDispatcher()

virtual simics::systemc::iface::ExtensionDispatcher::~ExtensionDispatcher ( )
inlinevirtual

Member Function Documentation

◆ handle()

bool simics::systemc::iface::ExtensionDispatcher::handle ( tlm::tlm_generic_payload *  payload)
inlineoverridevirtual

◆ probe()

bool simics::systemc::iface::ExtensionDispatcher::probe ( tlm::tlm_generic_payload *  payload)
inlineoverridevirtual

◆ subscribe()

void simics::systemc::iface::ExtensionDispatcher::subscribe ( ReceiverInterface receiver)
inline

Member Data Documentation

◆ receivers_

std::vector<ReceiverInterface *> simics::systemc::iface::ExtensionDispatcher::receivers_
protected

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