OSDN Git Service

[BUILD] Set SOVERSION and GIT hash automatically.
[csp-qt/common_source_project-fm7.git] / source / src / vm / libcpu_newdev / device.h
index 67ced3a..a0c4e88 100644 (file)
@@ -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;