Container class for multiple GasketOwners, each given a unique ID. More...
#include <multi_gasket_owner.h>
Public Member Functions | |
void | addGasket (int id, GasketInterface::Ptr gasketInterface) |
GasketInterface::Ptr | findGasket (int id) const |
Returns the gasket matching the ID given. | |
std::set< int > | keys () const |
virtual | ~MultiGasketOwner () |
Public Member Functions inherited from simics::systemc::simics2tlm::GasketOwner | |
GasketOwner () | |
GasketOwner (const GasketOwner &)=delete | |
GasketOwner & | operator= (const GasketOwner &)=delete |
virtual | ~GasketOwner ()=default |
void | set_gasket (GasketInterface::Ptr gasketInterface) |
virtual void | gasketUpdated () |
GasketInterface::Ptr | gasket () const |
Public Member Functions inherited from simics::systemc::ClassType | |
ClassType () | |
std::string | type () const |
bool | operator== (const ClassType &type) const |
bool | operator!= (const ClassType &type) const |
bool | operator< (const ClassType &type) const |
template<class T > | |
T * | get_interface () |
virtual | ~ClassType () |
Protected Member Functions | |
bool | hasId (int id) const |
int | empty () const |
Protected Member Functions inherited from simics::systemc::ClassType | |
void | set_type () |
Additional Inherited Members | |
Static Public Member Functions inherited from simics::systemc::ClassType | |
template<class T > | |
static ClassType | typeForClass () |
Protected Attributes inherited from simics::systemc::simics2tlm::GasketOwner | |
GasketInterface::Ptr | gasket_ |
Protected Attributes inherited from simics::systemc::ClassType | |
std::string | type_ |
ClassType * | implementor_ |
Container class for multiple GasketOwners, each given a unique ID.
This is useful for protocols where the interface implementation can de-mux a single Simics interface into multiple TLM target sockets, like the IoMemory for example. There must always be at least one valid gasket, which is guaranteed by the GasketOwner base class. See findGasket() for details.
|
inlinevirtual |
|
inline |
|
inlineprotected |
|
inline |
Returns the gasket matching the ID given.
If no such ID could be found, the gasket with the lowest ID is returned instead. If no gasket was added to this container with an ID, the gasket assigned to the base class (by GasketOwner::set_gasket()) is returned. The base class guarantees that such a gasket must exist.
|
inlineprotected |
|
inline |