A class for connecting with another Simics object. More...
#include <connect.h>
Public Types | |
| typedef std::tuple< typename FirstIface::ToC, typename RestIfaces::ToC... > | ifaces_type |
Public Member Functions | |
| Connect ()=default | |
| Connect (const ConnectConfig &config) | |
| Connect (const ConfObjectRef &device) | |
| Connect (const ConfObjectRef &device, const ConnectConfig &config) | |
| bool | set (const ConfObjectRef &o) override |
| template<typename T > | |
| std::enable_if< sizeof...(RestIfaces)!=0, consttypenameT::ToC >::type | iface () const |
| Return the Simics C++ interface struct implemented on obj_. | |
| const FirstIface::ToC & | iface () const |
Public Member Functions inherited from simics::ConnectBase | |
| ConnectBase () | |
| virtual | ~ConnectBase ()=default |
| virtual bool | set (const ConfObjectRef &o)=0 |
| ConfObjectRef | get () const |
| operator conf_object_t * () const | |
Protected Member Functions | |
| conf_object_t * | device () const |
| Return the device object which can be used for logging purpose. | |
Additional Inherited Members | |
Protected Attributes inherited from simics::ConnectBase | |
| ConfObjectRef | obj_ |
A class for connecting with another Simics object.
The template parameter(s) should be a group of Simics device interfaces, e.g, simics::iface::SignalInterface.
When method set is called, the Simics C interface pointers are fetched and cached locally for performance reasons. Use method iface<T> when invoking the Simics device interface method. For convenience, method iface return the first Simics device interface.
| typedef std::tuple<typename FirstIface::ToC, typename RestIfaces::ToC...> simics::Connect< FirstIface, RestIfaces >::ifaces_type |
|
default |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
|
inlineprotected |
Return the device object which can be used for logging purpose.
|
inline |
|
inline |
|
inlineoverridevirtual |
Implements simics::ConnectBase.