mirror of
https://github.com/irssi/irssi.git
synced 2026-08-11 12:53:42 +02:00
Object type checking fixes
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@638 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
cf7eb945ea
commit
b4bdec4436
15 changed files with 78 additions and 75 deletions
|
|
@ -1,6 +1,18 @@
|
|||
#ifndef __MODULES_H
|
||||
#define __MODULES_H
|
||||
|
||||
#define MODULE_DATA_INIT(rec) \
|
||||
(rec)->module_data = g_hash_table_new(g_str_hash, g_str_equal)
|
||||
|
||||
#define MODULE_DATA_DEINIT(rec) \
|
||||
g_hash_table_destroy((rec)->module_data)
|
||||
|
||||
#define MODULE_DATA_SET(rec, data) \
|
||||
g_hash_table_insert((rec)->module_data, MODULE_NAME, data)
|
||||
|
||||
#define MODULE_DATA(rec) \
|
||||
g_hash_table_lookup((rec)->module_data, MODULE_NAME)
|
||||
|
||||
enum {
|
||||
MODULE_ERROR_ALREADY_LOADED,
|
||||
MODULE_ERROR_LOAD,
|
||||
|
|
@ -19,17 +31,9 @@ MODULE_REC *module_find(const char *name);
|
|||
int module_load(const char *path);
|
||||
void module_unload(MODULE_REC *module);
|
||||
|
||||
#define MODULE_DATA_INIT(rec) \
|
||||
(rec)->module_data = g_hash_table_new(g_str_hash, g_str_equal)
|
||||
|
||||
#define MODULE_DATA_DEINIT(rec) \
|
||||
g_hash_table_destroy((rec)->module_data)
|
||||
|
||||
#define MODULE_DATA_SET(rec, data) \
|
||||
g_hash_table_insert((rec)->module_data, MODULE_NAME, data)
|
||||
|
||||
#define MODULE_DATA(rec) \
|
||||
g_hash_table_lookup((rec)->module_data, MODULE_NAME)
|
||||
#define MODULE_CHECK_CAST(object, cast, type_field, id) \
|
||||
((cast *) module_check_cast(object, offsetof(cast, type_field), id))
|
||||
void *module_check_cast(void *object, int type_pos, const char *id);
|
||||
|
||||
/* return unique number across all modules for `id' */
|
||||
int module_get_uniq_id(const char *module, int id);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue