14#ifndef SIMICS_SYSTEMC_IFACE_INSTRUMENTATION_PROVIDER_CONTROLLER_SIMICS_ADAPTER_H
15#define SIMICS_SYSTEMC_IFACE_INSTRUMENTATION_PROVIDER_CONTROLLER_SIMICS_ADAPTER_H
19#include <systemc-provider-interfaces.h>
30namespace instrumentation {
32template<
typename TBase,
typename TInterface = Prov
iderControllerInterface>
38 SC_PROVIDER_CONTROLLER_INTERFACE, init_iface()) {
42 static bool insert(conf_object_t *obj, conf_object_t *conn,
int pos) {
43 return adapter<TBase, TInterface>(obj)->insert(
static_cast<
45 SIM_object_data(conn)), pos);
47 static void remove(conf_object_t *obj, conf_object_t *conn) {
48 adapter<TBase, TInterface>(obj)->remove(
static_cast<
50 SIM_object_data(conn)));
54 std::vector<std::string> description(conf_object_t *obj,
56 return descriptionBase<TBase, TInterface>(obj, type);
58 sc_provider_controller_interface_t init_iface() {
59 sc_provider_controller_interface_t iface = {};
Base class for mapping Simics interface to a C++ interface.
Definition: simics_adapter.h:45
Definition: provider_controller_simics_adapter.h:34
ProviderControllerSimicsAdapter()
Definition: provider_controller_simics_adapter.h:36
static void remove(conf_object_t *obj, conf_object_t *conn)
Definition: provider_controller_simics_adapter.h:47
static bool insert(conf_object_t *obj, conf_object_t *conn, int pos)
Definition: provider_controller_simics_adapter.h:42
DescriptionType
Definition: description_interface.h:23