A class for connecting with another Simics object. More...
#include <connect.h>
Public Types | |
| using | ifaces_type = std::tuple< typename FirstIface::ToC, typename RestIfaces::ToC... > |
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 |
| Set the connected configuration object. | |
| 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 |
| Set the connected configuration object. | |
| ConfObjectRef | get () const |
| Get the connected configuration object. | |
| operator conf_object_t * () const | |
Conversion operator to conf_object_t*. | |
Protected Member Functions | |
| conf_object_t * | device () const |
| Return the device object which can be used for logging purpose. | |
| conf_object_t * | dev () const |
| Return the device object which can be used for logging purpose This is an alias for device() and follows the DML naming style. | |
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.
| using simics::Connect< FirstIface, RestIfaces >::ifaces_type = std::tuple<typename FirstIface::ToC, typename RestIfaces::ToC...> |
|
default |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
|
inlineprotected |
Return the device object which can be used for logging purpose This is an alias for device() and follows the DML naming style.
|
inlineprotected |
Return the device object which can be used for logging purpose.
|
inline |
|
inline |
|
inlineoverridevirtual |
Set the connected configuration object.
| o | The configuration object to connect. |
Implements simics::ConnectBase.