X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=source%2Fsrc%2Fvm%2Flibcpu_newdev%2Fdevice.h;h=a0c4e886d7aa3bd15a2a0dcb3a93d7b6e1387a6a;hb=90a1d498c79c26d69c78435600856b152aa07291;hp=67ced3a47b765f3d0b0b12ad62660feffa27b396;hpb=4a9dd913086e16c09daf42cdd2b1e25a939e5b30;p=csp-qt%2Fcommon_source_project-fm7.git diff --git a/source/src/vm/libcpu_newdev/device.h b/source/src/vm/libcpu_newdev/device.h index 67ced3a47..a0c4e886d 100644 --- a/source/src/vm/libcpu_newdev/device.h +++ b/source/src/vm/libcpu_newdev/device.h @@ -63,14 +63,9 @@ protected: CSP_Logger *p_logger; public: DEVICE(VM_TEMPLATE* parent_vm, EMU* parent_emu); - //ToDo: Will implement real destructor per real classes and below destructor decl. with "virtual". - // This makes warning: - //"deleting object of polymorphic class type 'DEVICE' which has non-virtual - // destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]". - //~DEVICE(void); - virtual ~DEVICE() {} - - virtual void initialize() { /* osd = emu->get_osd(); */} + ~DEVICE() {} + + virtual void initialize() { } virtual void release(); virtual void update_config() {} @@ -517,7 +512,7 @@ public: { event_manager = device; } - int get_event_manager_id(); + virtual int get_event_manager_id(); virtual void register_event(DEVICE* device, int event_id, double usec, bool loop, int* register_id); virtual void register_event_by_clock(DEVICE* device, int event_id, uint64_t clock, bool loop, int* register_id); virtual void cancel_event(DEVICE* device, int register_id); @@ -531,7 +526,7 @@ public: virtual uint32_t get_passed_clock_since_vline(); virtual double get_passed_usec_since_vline(); virtual int get_cur_vline(); - int get_cur_vline_clocks(); + virtual int get_cur_vline_clocks(); virtual uint32_t get_cpu_pc(int index); virtual void request_skip_frames(); virtual void set_frames_per_sec(double frames); @@ -566,7 +561,7 @@ public: virtual void set_device_name(const _TCHAR *format, ...); virtual void out_debug_log(const char *fmt, ...); virtual void force_out_debug_log(const char *fmt, ...); -#if 1 + // debugger // DEBUGGER is enabled by default. virtual void *get_debugger(); @@ -587,9 +582,13 @@ public: virtual bool write_debug_reg(const _TCHAR *reg, uint32_t data); virtual void get_debug_regs_info(_TCHAR *buffer, size_t buffer_len); virtual int debug_dasm(uint32_t pc, _TCHAR *buffer, size_t buffer_len); -#endif + + // misc + const _TCHAR *get_lib_common_vm_version(void); + _TCHAR this_device_name[128]; + // device node using with iterator. DEVICE* prev_device; DEVICE* next_device; int this_device_id;