diff options
author | Alexander Larsson <alexl@redhat.com> | 2008-01-28 19:43:10 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2008-01-28 19:43:10 +0000 |
commit | bff9ecedbbea1a794827f569638365db40c442e6 (patch) | |
tree | 66d6c0040549d835b24a2da1484cf98007bf4fe1 /gio/giomodule.h | |
parent | fce0485e2b962e6410bc54f84730539adf793a1d (diff) | |
download | glib-bff9ecedbbea1a794827f569638365db40c442e6.tar.gz |
Add registration hooks for extension points. Register the gio extension
2008-01-28 Alexander Larsson <alexl@redhat.com>
* giomodule.[ch]:
* gio.symbols:
Add registration hooks for extension points.
Register the gio extension points.
* fam/gfamdirectorymonitor.c:
* fam/gfamfilemonitor.c:
* glocaldirectorymonitor.[ch]:
* glocalfilemonitor.[ch]:
* gnativevolumemonitor.h:
* gunionvolumemonitor.c:
* gunixvolumemonitor.c:
* gvfs.[ch]:
* gvolumemonitor.h:
* inotify/ginotifydirectorymonitor.c:
* inotify/ginotifyfilemonitor.c:
Use the extension points registration instead
of g_type_children().
svn path=/trunk/; revision=6399
Diffstat (limited to 'gio/giomodule.h')
-rw-r--r-- | gio/giomodule.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/gio/giomodule.h b/gio/giomodule.h index bc2bb6725..76c27cef5 100644 --- a/gio/giomodule.h +++ b/gio/giomodule.h @@ -47,10 +47,31 @@ G_BEGIN_DECLS typedef struct _GIOModule GIOModule; typedef struct _GIOModuleClass GIOModuleClass; +typedef struct _GIOExtensionPoint GIOExtensionPoint; +typedef struct _GIOExtension GIOExtension; + GType g_io_module_get_type (void) G_GNUC_CONST; GIOModule *g_io_module_new (const gchar *filename); -GList * g_io_modules_load_all_in_directory (const char *dirname); +GList *g_io_modules_load_all_in_directory (const char *dirname); + +GIOExtensionPoint *g_io_extension_point_register (const char *extension_point); +GIOExtensionPoint *g_io_extension_point_lookup (const char *extension_point); +void g_io_extension_point_set_required_type (GIOExtensionPoint *extension_point, + GType type); +GType g_io_extension_point_get_required_type (GIOExtensionPoint *extension_point); +GList *g_io_extension_point_get_extensions (GIOExtensionPoint *extension_point); +GIOExtension * g_io_extension_point_get_extension_by_name (GIOExtensionPoint *extension_point, + const char *name); +GIOExtension * g_io_extension_point_implement (const char *extension_point_name, + GType type, + const char *extension_name, + gint priority); + +GType g_io_extension_get_type (GIOExtension *extension); +const char * g_io_extension_get_name (GIOExtension *extension); +gint g_io_extension_get_priority (GIOExtension *extension); +GTypeClass* g_io_extension_ref_class (GIOExtension *extension); /* API for the modules to implement */ /** |