X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gmodule%2Fgmodule.h;h=ae7f8e54aec8b3bacbac8ce4afcf180db8591629;hb=e17c805ce49b68fc9166819114be575c6e33f11a;hp=0ebe26de1bdbd7d352624b517eed6779688dac93;hpb=c9bd7542e1a28ba9de60048361c0a97d251833e7;p=platform%2Fupstream%2Fglib.git diff --git a/gmodule/gmodule.h b/gmodule/gmodule.h index 0ebe26d..ae7f8e5 100644 --- a/gmodule/gmodule.h +++ b/gmodule/gmodule.h @@ -29,57 +29,57 @@ #include -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -extern const char *g_log_domain_gmodule; - +G_BEGIN_DECLS /* exporting and importing functions, this is special cased * to feature Windows dll stubs. */ #define G_MODULE_IMPORT extern -#if defined (G_OS_WIN32) +#ifdef G_PLATFORM_WIN32 # define G_MODULE_EXPORT __declspec(dllexport) -#else /* !G_OS_WIN32 */ +#else /* !G_PLATFORM_WIN32 */ # define G_MODULE_EXPORT -#endif /* !G_OS_WIN32 */ +#endif /* !G_PLATFORM_WIN32 */ typedef enum { G_MODULE_BIND_LAZY = 1 << 0, - G_MODULE_BIND_MASK = 0x01 + G_MODULE_BIND_LOCAL = 1 << 1, + G_MODULE_BIND_MASK = 0x03 } GModuleFlags; typedef struct _GModule GModule; typedef const gchar* (*GModuleCheckInit) (GModule *module); typedef void (*GModuleUnload) (GModule *module); +#ifdef G_OS_WIN32 +#define g_module_open g_module_open_utf8 +#define g_module_name g_module_name_utf8 +#endif + /* return TRUE if dynamic module loading is supported */ -gboolean g_module_supported (void); +gboolean g_module_supported (void) G_GNUC_CONST; /* open a module `file_name' and return handle, which is NULL on error */ -GModule* g_module_open (const gchar *file_name, - GModuleFlags flags); +GModule* g_module_open (const gchar *file_name, + GModuleFlags flags); /* close a previously opened module, returns TRUE on success */ -gboolean g_module_close (GModule *module); +gboolean g_module_close (GModule *module); /* make a module resident so g_module_close on it will be ignored */ -void g_module_make_resident (GModule *module); +void g_module_make_resident (GModule *module); /* query the last module error as a string */ -gchar* g_module_error (void); - -/* retrive a symbol pointer from `module', returns TRUE on success */ -gboolean g_module_symbol (GModule *module, - const gchar *symbol_name, - gpointer *symbol); +G_CONST_RETURN gchar* g_module_error (void); -/* retrive the file name from an existing module */ -gchar* g_module_name (GModule *module); +/* retrieve a symbol pointer from `module', returns TRUE on success */ +gboolean g_module_symbol (GModule *module, + const gchar *symbol_name, + gpointer *symbol); +/* retrieve the file name from an existing module */ +G_CONST_RETURN gchar* g_module_name (GModule *module); /* Build the actual file name containing a module. `directory' is the * directory where the module file is supposed to be, or NULL or empty @@ -92,12 +92,10 @@ gchar* g_module_name (GModule *module); * * No checks are made that the file exists, or is of correct type. */ -gchar* g_module_build_path (const gchar *directory, - const gchar *module_name); +gchar* g_module_build_path (const gchar *directory, + const gchar *module_name); -#ifdef __cplusplus -} -#endif /* __cplusplus */ +G_END_DECLS #endif /* __GMODULE_H__ */