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

Returns the interface provided by the associated Simics object. More...

#include <interface_provider.h>

Inheritance diagram for simics::systemc::InterfaceProvider:
simics::systemc::InterfaceProviderAddOn simics::systemc::systemc2simics::Signal simics::systemc::tlm2simics::EthernetCommon simics::systemc::tlm2simics::I2cMasterV2 simics::systemc::tlm2simics::I2cSlaveV2 simics::systemc::tlm2simics::I3cMaster simics::systemc::tlm2simics::I3cSlave simics::systemc::tlm2simics::MemorySpace simics::systemc::tlm2simics::Packet simics::systemc::tlm2simics::PciBus simics::systemc::tlm2simics::SerialDevice simics::systemc::tlm2simics::SpiSlave simics::systemc::tlm2simics::Transaction

Classes

class  TargetUpdateListener
 

Public Member Functions

 InterfaceProvider (const char *interface_name)
 
 InterfaceProvider (const InterfaceProvider &)=delete
 
InterfaceProvideroperator= (const InterfaceProvider &)=delete
 
virtual ~InterfaceProvider ()
 
virtual void set_target (const ConfObjectRef &obj)
 
virtual void add_target_update_listener (TargetUpdateListener *l)
 
virtual void remove_target_update_listener (TargetUpdateListener *l)
 
virtual const simics::ConfObjectRef & target () const
 
virtual bool has_interface ()
 
virtual const char * get_interface_name () const
 
template<typename TInterface >
SimicsTargetLock< TInterface > get_interface ()
 
virtual void set_optional (bool optional)
 
virtual bool optional () const
 

Protected Member Functions

virtual const interface_t * get_interface ()
 

Protected Attributes

simics::ConfObjectRef target_obj_
 
const interface_t * interface_
 
const char * interface_name_
 
bool optional_
 
std::set< TargetUpdateListener * > * target_update_listeners_
 

Detailed Description

Returns the interface provided by the associated Simics object.

This class is typically used with tlm2simics gaskets and connector attributes, making sure that the Simics object implements the requested interface.

Constructor & Destructor Documentation

◆ InterfaceProvider() [1/2]

simics::systemc::InterfaceProvider::InterfaceProvider ( const char *  interface_name)
inlineexplicit

◆ InterfaceProvider() [2/2]

simics::systemc::InterfaceProvider::InterfaceProvider ( const InterfaceProvider )
delete

◆ ~InterfaceProvider()

virtual simics::systemc::InterfaceProvider::~InterfaceProvider ( )
inlinevirtual

Member Function Documentation

◆ add_target_update_listener()

virtual void simics::systemc::InterfaceProvider::add_target_update_listener ( TargetUpdateListener l)
inlinevirtual

◆ get_interface() [1/2]

template<typename TInterface >
SimicsTargetLock< TInterface > simics::systemc::InterfaceProvider::get_interface ( )
inline

◆ get_interface() [2/2]

virtual const interface_t * simics::systemc::InterfaceProvider::get_interface ( )
inlineprotectedvirtual

◆ get_interface_name()

virtual const char * simics::systemc::InterfaceProvider::get_interface_name ( ) const
inlinevirtual

◆ has_interface()

virtual bool simics::systemc::InterfaceProvider::has_interface ( )
inlinevirtual

◆ operator=()

InterfaceProvider & simics::systemc::InterfaceProvider::operator= ( const InterfaceProvider )
delete

◆ optional()

virtual bool simics::systemc::InterfaceProvider::optional ( ) const
inlinevirtual

◆ remove_target_update_listener()

virtual void simics::systemc::InterfaceProvider::remove_target_update_listener ( TargetUpdateListener l)
inlinevirtual

◆ set_optional()

virtual void simics::systemc::InterfaceProvider::set_optional ( bool  optional)
inlinevirtual

◆ set_target()

virtual void simics::systemc::InterfaceProvider::set_target ( const ConfObjectRef &  obj)
inlinevirtual

◆ target()

virtual const simics::ConfObjectRef & simics::systemc::InterfaceProvider::target ( ) const
inlinevirtual

Member Data Documentation

◆ interface_

const interface_t* simics::systemc::InterfaceProvider::interface_
protected

◆ interface_name_

const char* simics::systemc::InterfaceProvider::interface_name_
protected

◆ optional_

bool simics::systemc::InterfaceProvider::optional_
protected

◆ target_obj_

simics::ConfObjectRef simics::systemc::InterfaceProvider::target_obj_
protected

◆ target_update_listeners_

std::set<TargetUpdateListener*>* simics::systemc::InterfaceProvider::target_update_listeners_
protected

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