- add get_notify_callback method

This commit is contained in:
Bryce Denney 2002-09-23 16:57:45 +00:00
parent 97f3350daf
commit 93311561aa
2 changed files with 12 additions and 2 deletions

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: siminterface.cc,v 1.65 2002-09-22 20:56:11 cbothamy Exp $
// $Id: siminterface.cc,v 1.66 2002-09-23 16:57:45 bdenney Exp $
/////////////////////////////////////////////////////////////////////////
//
// See siminterface.h for description of the siminterface concept.
@ -76,6 +76,7 @@ public:
virtual int get_cdrom_options (int drive, bx_atadevice_options *out, int *device = NULL);
virtual char *get_floppy_type_name (int type);
virtual void set_notify_callback (sim_interface_callback_t func, void *arg);
virtual void get_notify_callback (sim_interface_callback_t *func, void **arg);
virtual BxEvent* sim_to_ci_event (BxEvent *event);
virtual int log_msg (const char *prefix, int level, const char *msg);
virtual int ask_param (bx_id which);
@ -407,6 +408,14 @@ bx_real_sim_c::set_notify_callback (sim_interface_callback_t func, void *arg)
callback_ptr = arg;
}
void bx_real_sim_c::get_notify_callback (
sim_interface_callback_t *func,
void **arg)
{
*func = callback;
*arg = callback_ptr;
}
BxEvent *
bx_real_sim_c::sim_to_ci_event (BxEvent *event)
{

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: siminterface.h,v 1.70 2002-09-22 20:56:11 cbothamy Exp $
// $Id: siminterface.h,v 1.71 2002-09-23 16:57:45 bdenney Exp $
/////////////////////////////////////////////////////////////////////////
//
// Before I can describe what this file is for, I have to make the
@ -1142,6 +1142,7 @@ public:
// the buttons. Some of these implementations call the siminterface.
typedef BxEvent* (*sim_interface_callback_t)(void *theclass, BxEvent *event);
virtual void set_notify_callback (sim_interface_callback_t func, void *arg) {}
virtual void get_notify_callback (sim_interface_callback_t *func, void **arg) {}
// send an event from the simulator to the CI.
virtual BxEvent* sim_to_ci_event (BxEvent *event) {return NULL;}