C++ Device API Reference Manual
Reference documentation for the Simics C++ Device API.
 
Loading...
Searching...
No Matches
simics::Event Class Reference

#include <event.h>

Inheritance diagram for simics::Event:
simics::iface::EventInterface simics::CycleEvent< T > simics::StepEvent< T > simics::TimeEvent< T >

Public Member Functions

 Event (ConfObject *obj, event_class_t *ev)
 
void destroy (void *data) override
 Called when the event is removed from the queue without being called.
 
attr_value_t get_value (void *data) override
 Called to convert the event data into a value that can be saved in a configuration.
 
void * set_value (attr_value_t value) override
 Called to convert a configuration value into event data.
 
char * describe (void *data) const override
 Called to generate a human-readable description of the event to be used in the print-event-queue command.
 
 operator event_class_t * () const
 
- Public Member Functions inherited from simics::iface::EventInterface
virtual ~EventInterface ()=default
 
virtual void callback (void *data)=0
 Called when the event expires.
 
virtual void destroy (void *data)=0
 Called when the event is removed from the queue without being called.
 
virtual attr_value_t get_value (void *data)=0
 Called to convert the event data into a value that can be saved in a configuration.
 
virtual void * set_value (attr_value_t value)=0
 Called to convert a configuration value into event data.
 
virtual char * describe (void *data) const =0
 Called to generate a human-readable description of the event to be used in the print-event-queue command.
 

Protected Member Functions

template<typename T >
T * device_ptr () const
 
const char * name () const
 

Static Protected Member Functions

static int pointer_eq (void *data, void *match_data)
 

Protected Attributes

ConfObjectobj_ {nullptr}
 
event_class_t * ev_ {nullptr}
 
conf_object_tclock_ {nullptr}
 clock_ cannot be initialized here by SIM_object_clock, since attribute queue is not set yet
 

Constructor & Destructor Documentation

◆ Event()

simics::Event::Event ( ConfObject obj,
event_class_t *  ev 
)
inline
Parameters
objshould be an instance of the same class the event is registered on

Member Function Documentation

◆ describe()

char * simics::Event::describe ( void *  data) const
inlineoverridevirtual

Called to generate a human-readable description of the event to be used in the print-event-queue command.

Implements simics::iface::EventInterface.

◆ destroy()

void simics::Event::destroy ( void *  data)
inlineoverridevirtual

Called when the event is removed from the queue without being called.

Implements simics::iface::EventInterface.

◆ device_ptr()

template<typename T >
T * simics::Event::device_ptr ( ) const
inlineprotected
Returns
pointer of the device class instance contains this event instance

◆ get_value()

attr_value_t simics::Event::get_value ( void *  data)
inlineoverridevirtual

Called to convert the event data into a value that can be saved in a configuration.

Implements simics::iface::EventInterface.

◆ name()

const char * simics::Event::name ( ) const
inlineprotected

◆ operator event_class_t *()

simics::Event::operator event_class_t * ( ) const
inline

◆ pointer_eq()

static int simics::Event::pointer_eq ( void *  data,
void *  match_data 
)
inlinestaticprotected

◆ set_value()

void * simics::Event::set_value ( attr_value_t  value)
inlineoverridevirtual

Called to convert a configuration value into event data.

Implements simics::iface::EventInterface.

Member Data Documentation

◆ clock_

conf_object_t* simics::Event::clock_ {nullptr}
protected

clock_ cannot be initialized here by SIM_object_clock, since attribute queue is not set yet

◆ ev_

event_class_t* simics::Event::ev_ {nullptr}
protected

◆ obj_

ConfObject* simics::Event::obj_ {nullptr}
protected

The documentation for this class was generated from the following file: