16#ifndef SIMICS_SYSTEMC_IFACE_TEMPORAL_STATE_SIMICS_ADAPTER_H
17#define SIMICS_SYSTEMC_IFACE_TEMPORAL_STATE_SIMICS_ADAPTER_H
19#include <simics/model-iface/temporal-state.h>
30template<
typename TBase,
typename TInterface = TemporalStateInterface>
35 temporal_state_interface_t>(TEMPORAL_STATE_INTERFACE, init_iface()) {}
38 static lang_void *
save(conf_object_t *obj) {
39 return adapter<TBase, TInterface>(obj)->save();
41 static void merge(conf_object_t *obj, lang_void *prev, lang_void *killed) {
42 return adapter<TBase, TInterface>(obj)->merge(prev, killed);
45 return adapter<TBase, TInterface>(obj)->prepare_restore();
48 return adapter<TBase, TInterface>(obj)->finish_restore(state);
52 std::vector<std::string> description(conf_object_t *obj,
54 return descriptionBase<TBase, TInterface>(obj, type);
56 temporal_state_interface_t init_iface() {
57 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:32
TemporalStateSimicsAdapter()
Definition: temporal_state_simics_adapter.h:34
static void merge(conf_object_t *obj, lang_void *prev, lang_void *killed)
Definition: temporal_state_simics_adapter.h:41
static void prepare_restore(conf_object_t *obj)
Definition: temporal_state_simics_adapter.h:44
static lang_void * save(conf_object_t *obj)
Definition: temporal_state_simics_adapter.h:38
static void finish_restore(conf_object_t *obj, lang_void *state)
Definition: temporal_state_simics_adapter.h:47
DescriptionType
Definition: description_interface.h:25
Definition: pci_bus_interface.h:24