14#ifndef SIMICS_SYSTEMC_IFACE_SC_PROCESS_SIMICS_ADAPTER_H
15#define SIMICS_SYSTEMC_IFACE_SC_PROCESS_SIMICS_ADAPTER_H
19#include <systemc-interfaces.h>
29template<
typename TBase,
30 typename TInterface = ScProcessInterface>
35 SC_PROCESS_INTERFACE, init_iface()) {
39 static attr_value_t
events(conf_object_t *obj) {
40 return adapter<TBase, TInterface>(obj)->events();
42 static const char *
file(conf_object_t *obj) {
43 return adapter<TBase, TInterface>(obj)->file();
45 static int line(conf_object_t *obj) {
46 return adapter<TBase, TInterface>(obj)->line();
49 return adapter<TBase, TInterface>(obj)->process_id();
52 return adapter<TBase, TInterface>(obj)->dump_state();
55 return adapter<TBase, TInterface>(obj)->initialize();
57 static int state(conf_object_t *obj) {
58 return adapter<TBase, TInterface>(obj)->state();
60 static void run(conf_object_t *obj) {
61 return adapter<TBase, TInterface>(obj)->run();
65 std::vector<std::string> description(conf_object_t *obj,
67 return descriptionBase<TBase, TInterface>(obj, type);
69 sc_process_interface_t init_iface() {
70 sc_process_interface_t iface = {};
Definition: sc_process_simics_adapter.h:31
static void run(conf_object_t *obj)
Definition: sc_process_simics_adapter.h:60
ScProcessSimicsAdapter()
Definition: sc_process_simics_adapter.h:33
static char * dump_state(conf_object_t *obj)
Definition: sc_process_simics_adapter.h:51
static int state(conf_object_t *obj)
Definition: sc_process_simics_adapter.h:57
static const char * file(conf_object_t *obj)
Definition: sc_process_simics_adapter.h:42
static int process_id(conf_object_t *obj)
Definition: sc_process_simics_adapter.h:48
static int line(conf_object_t *obj)
Definition: sc_process_simics_adapter.h:45
static bool initialize(conf_object_t *obj)
Definition: sc_process_simics_adapter.h:54
static attr_value_t events(conf_object_t *obj)
Definition: sc_process_simics_adapter.h:39
Base class for mapping Simics interface to a C++ interface.
Definition: simics_adapter.h:45
DescriptionType
Definition: description_interface.h:23