diff options
author | Akira TAGOH <akira@tagoh.org> | 2011-02-25 20:52:53 +0900 |
---|---|---|
committer | Akira TAGOH <akira@tagoh.org> | 2011-02-25 20:52:53 +0900 |
commit | b0d1b21724aa96d56677b242793463a50aa5eb2e (patch) | |
tree | 8373e04061579d82a3c6afe0315352d0400aeea0 | |
parent | 8b9d11d75afc485380dc92a6e49b8d32d39cb0d6 (diff) |
hg_device_t APIs cleanup
-rw-r--r-- | hieroglyph/hgdevice.c | 31 | ||||
-rw-r--r-- | hieroglyph/hgdevice.h | 26 | ||||
-rw-r--r-- | hieroglyph/hgobject.h | 5 | ||||
-rw-r--r-- | hieroglyph/hgvm.c | 11 |
4 files changed, 30 insertions, 43 deletions
diff --git a/hieroglyph/hgdevice.c b/hieroglyph/hgdevice.c index fc539a4..ce19875 100644 --- a/hieroglyph/hgdevice.c +++ b/hieroglyph/hgdevice.c @@ -172,35 +172,40 @@ _hg_device_open(hg_mem_t *mem, * Returns: */ hg_bool_t -hg_device_gc_mark(hg_device_t *device, - hg_gc_iterate_func_t func, - hg_pointer_t user_data) +hg_device_gc_mark(hg_device_t *device) { hg_return_val_if_fail (device != NULL, FALSE, HG_e_VMerror); - hg_return_val_if_fail (func != NULL, FALSE, HG_e_VMerror); if (device->params) { - hg_mem_t *mem = hg_mem_spool_get(hg_quark_get_mem_id(device->params->self)); + hg_mem_t *mem; + mem = hg_mem_spool_get(hg_quark_get_mem_id(device->params->self)); if (!hg_mem_gc_mark(mem, device->params->self)) return FALSE; - if (!func(device->params->qinput_attributes, user_data)) + mem = hg_mem_spool_get(hg_quark_get_mem_id(device->params->qinput_attributes)); + if (!hg_mem_gc_mark(mem, device->params->qinput_attributes)) return FALSE; - if (!func(device->params->qmedia_color, user_data)) + mem = hg_mem_spool_get(hg_quark_get_mem_id(device->params->qmedia_color)); + if (!hg_mem_gc_mark(mem, device->params->qmedia_color)) return FALSE; - if (!func(device->params->qmedia_type, user_data)) + mem = hg_mem_spool_get(hg_quark_get_mem_id(device->params->qmedia_type)); + if (!hg_mem_gc_mark(mem, device->params->qmedia_type)) return FALSE; - if (!func(device->params->qoutput_type, user_data)) + mem = hg_mem_spool_get(hg_quark_get_mem_id(device->params->qoutput_type)); + if (!hg_mem_gc_mark(mem, device->params->qoutput_type)) return FALSE; - if (!func(device->params->qinstall, user_data)) + mem = hg_mem_spool_get(hg_quark_get_mem_id(device->params->qinstall)); + if (!hg_mem_gc_mark(mem, device->params->qinstall)) return FALSE; - if (!func(device->params->qbegin_page, user_data)) + mem = hg_mem_spool_get(hg_quark_get_mem_id(device->params->qbegin_page)); + if (!hg_mem_gc_mark(mem, device->params->qbegin_page)) return FALSE; - if (!func(device->params->qend_page, user_data)) + mem = hg_mem_spool_get(hg_quark_get_mem_id(device->params->qend_page)); + if (!hg_mem_gc_mark(mem, device->params->qend_page)) return FALSE; if (device->gc_mark) { - if (!device->gc_mark(device, func, user_data)) + if (!device->gc_mark(device)) return FALSE; } } diff --git a/hieroglyph/hgdevice.h b/hieroglyph/hgdevice.h index 4d534af..4720e45 100644 --- a/hieroglyph/hgdevice.h +++ b/hieroglyph/hgdevice.h @@ -147,18 +147,16 @@ struct _hg_device_t { hg_quark_t qpdevparams_name[HG_pdev_END]; hg_pdev_params_t *params; - hg_usize_t (* get_page_params_size) (hg_device_t *device); - hg_error_t (* gc_mark) (hg_device_t *device, - hg_gc_iterate_func_t func, - hg_pointer_t user_data); - hg_quark_t (* get_page_param) (hg_device_t *device, - hg_uint_t index_); - void (* install) (hg_device_t *device, - hg_vm_t *vm); - hg_bool_t (* get_ctm) (hg_device_t *device, - hg_matrix_t *array); - hg_bool_t (* is_pending_draw) (hg_device_t *device); - void (* draw) (hg_device_t *device); + hg_usize_t (* get_page_params_size) (hg_device_t *device); + hg_error_t (* gc_mark) (hg_device_t *device); + hg_quark_t (* get_page_param) (hg_device_t *device, + hg_uint_t index_); + void (* install) (hg_device_t *device, + hg_vm_t *vm); + hg_bool_t (* get_ctm) (hg_device_t *device, + hg_matrix_t *array); + hg_bool_t (* is_pending_draw) (hg_device_t *device); + void (* draw) (hg_device_t *device); hg_device_operator_t eofill; hg_device_operator_t fill; @@ -169,9 +167,7 @@ struct _hg_device_t { }; -hg_bool_t hg_device_gc_mark (hg_device_t *device, - hg_gc_iterate_func_t func, - hg_pointer_t user_data); +hg_bool_t hg_device_gc_mark (hg_device_t *device); hg_device_t *hg_device_open (hg_mem_t *mem, const hg_char_t *name); void hg_device_close (hg_device_t *device); diff --git a/hieroglyph/hgobject.h b/hieroglyph/hgobject.h index 27af189..418eb09 100644 --- a/hieroglyph/hgobject.h +++ b/hieroglyph/hgobject.h @@ -85,11 +85,6 @@ HG_BEGIN_DECLS typedef struct _hg_object_vtable_t hg_object_vtable_t; typedef struct _hg_object_t hg_object_t; -typedef hg_bool_t (* hg_gc_iterate_func_t) (hg_quark_t qdata, - hg_pointer_t user_data); -typedef void (* hg_destroy_func_t) (hg_mem_t *mem, - hg_pointer_t user_data); - struct _hg_object_vtable_t { hg_usize_t (* get_capsulated_size) (void); diff --git a/hieroglyph/hgvm.c b/hieroglyph/hgvm.c index c1c553f..f40f24d 100644 --- a/hieroglyph/hgvm.c +++ b/hieroglyph/hgvm.c @@ -463,13 +463,6 @@ hg_vm_step_in_exec_array(hg_vm_t *vm, return retval; } -static hg_error_t -_hg_vm_quark_iterate_gc_mark(hg_quark_t qdata, - hg_pointer_t user_data) -{ - return hg_vm_quark_gc_mark((hg_vm_t *)user_data, qdata); -} - static hg_quark_t _hg_vm_quark_iterate_copy(hg_quark_t qdata, hg_pointer_t user_data, @@ -645,9 +638,7 @@ _hg_vm_run_gc(hg_mem_t *mem, return FALSE; hg_debug(HG_MSGCAT_GC, "VM: marking objects in device"); if (vm->device) { - if (!hg_device_gc_mark(vm->device, - _hg_vm_quark_iterate_gc_mark, - vm)) + if (!hg_device_gc_mark(vm->device)) return FALSE; } |