14#ifndef SIMICS_SYSTEMC_IFACE_TEMPORAL_STATE_SIMICS_ADAPTER_H
15#define SIMICS_SYSTEMC_IFACE_TEMPORAL_STATE_SIMICS_ADAPTER_H
19#ifndef SHOW_OBSOLETE_API
20#define SHOW_OBSOLETE_API
21#define WE_DEFINED_SHOW_OBSOLETE_API
23#include <simics/model-iface/temporal-state.h>
24#ifdef WE_DEFINED_SHOW_OBSOLETE_API
25#undef SHOW_OBSOLETE_API
26#undef WE_DEFINED_SHOW_OBSOLETE_API
39template<
typename TBase,
typename TInterface = TemporalStateInterface>
44 temporal_state_interface_t>(TEMPORAL_STATE_INTERFACE, init_iface()) {}
47 static lang_void *
save(conf_object_t *obj) {
48 return adapter<TBase, TInterface>(obj)->save();
50 static void merge(conf_object_t *obj, lang_void *prev, lang_void *killed) {
51 return adapter<TBase, TInterface>(obj)->merge(prev, killed);
54 return adapter<TBase, TInterface>(obj)->prepare_restore();
57 return adapter<TBase, TInterface>(obj)->finish_restore(state);
61 std::vector<std::string> description(conf_object_t *obj,
63 return descriptionBase<TBase, TInterface>(obj, type);
65 temporal_state_interface_t init_iface() {
66 temporal_state_interface_t iface = {};
Base class for mapping Simics interface to a C++ interface.
Definition: simics_adapter.h:45
Definition: temporal_state_simics_adapter.h:41
TemporalStateSimicsAdapter()
Definition: temporal_state_simics_adapter.h:43
static void merge(conf_object_t *obj, lang_void *prev, lang_void *killed)
Definition: temporal_state_simics_adapter.h:50
static void prepare_restore(conf_object_t *obj)
Definition: temporal_state_simics_adapter.h:53
static lang_void * save(conf_object_t *obj)
Definition: temporal_state_simics_adapter.h:47
static void finish_restore(conf_object_t *obj, lang_void *state)
Definition: temporal_state_simics_adapter.h:56
DescriptionType
Definition: description_interface.h:23