16#ifndef SIMICS_SYSTEMC_IFACE_TEMPORAL_STATE_SIMICS_ADAPTER_H
17#define SIMICS_SYSTEMC_IFACE_TEMPORAL_STATE_SIMICS_ADAPTER_H
21#ifndef SHOW_OBSOLETE_API
22#define SHOW_OBSOLETE_API
23#define WE_DEFINED_SHOW_OBSOLETE_API
25#include <simics/model-iface/temporal-state.h>
26#ifdef WE_DEFINED_SHOW_OBSOLETE_API
27#undef SHOW_OBSOLETE_API
28#undef WE_DEFINED_SHOW_OBSOLETE_API
41template<
typename TBase,
typename TInterface = TemporalStateInterface>
46 temporal_state_interface_t>(TEMPORAL_STATE_INTERFACE, init_iface()) {}
49 static lang_void *
save(conf_object_t *obj) {
50 return adapter<TBase, TInterface>(obj)->save();
52 static void merge(conf_object_t *obj, lang_void *prev, lang_void *killed) {
53 return adapter<TBase, TInterface>(obj)->merge(prev, killed);
56 return adapter<TBase, TInterface>(obj)->prepare_restore();
59 return adapter<TBase, TInterface>(obj)->finish_restore(state);
63 std::vector<std::string> description(conf_object_t *obj,
65 return descriptionBase<TBase, TInterface>(obj, type);
67 temporal_state_interface_t init_iface() {
68 temporal_state_interface_t iface = {};
Base class for mapping Simics interface to a C++ interface.
Definition: simics_adapter.h:47
Definition: temporal_state_simics_adapter.h:43
TemporalStateSimicsAdapter()
Definition: temporal_state_simics_adapter.h:45
static void merge(conf_object_t *obj, lang_void *prev, lang_void *killed)
Definition: temporal_state_simics_adapter.h:52
static void prepare_restore(conf_object_t *obj)
Definition: temporal_state_simics_adapter.h:55
static lang_void * save(conf_object_t *obj)
Definition: temporal_state_simics_adapter.h:49
static void finish_restore(conf_object_t *obj, lang_void *state)
Definition: temporal_state_simics_adapter.h:58
DescriptionType
Definition: description_interface.h:25