[gamin] poll backends are now pluggable
- From: John McCutchan <ttb tentacle dhs org>
- To: gamin-list gnome org
- Subject: [gamin] poll backends are now pluggable
- Date: Wed, 10 Aug 2005 11:41:59 -0400
Yo,
So, I just committed a semi-large change -- don't worry. I used the test
suite with the dnotify backend. Everything passes :). These changes make
the poll backend pluggables. We now have these functions in gam_server.
void gam_server_install_kernel_hooks (GamKernelHandler name,
gboolean (*add)(GamSubscription *sub),
gboolean (*remove)(GamSubscription *sub),
gboolean (*remove_all)(GamListener *listener),
void (*dir_handler)(const char *path, pollHandlerMode mode),
void (*file_handler)(const char *path, pollHandlerMode mode));
void gam_server_install_poll_hooks (GamPollHandler name,
gboolean (*add)(GamSubscription *sub),
gboolean (*remove)(GamSubscription *sub),
gboolean (*remove_all)(GamListener *listener));
GamKernelHandler gam_server_get_kernel_handler (void);
GamPollHandler gam_server_get_poll_handler (void);
gboolean gam_kernel_add_subscription (GamSubscription *sub);
gboolean gam_kernel_remove_subscription (GamSubscription *sub);
gboolean gam_kernel_remove_all_for (GamListener *listener);
void gam_kernel_dir_handler (const char *path, pollHandlerMode mode);
void gam_kernel_file_handler (const char *path, pollHandlerMode mode);
gboolean gam_poll_add_subscription (GamSubscription *sub);
gboolean gam_poll_remove_subscription (GamSubscription *sub);
gboolean gam_poll_remove_all_for (GamListener *listener);
These replace the backend_* variables in gam_server, and the
dir/file_handler variables in gam_poll.
My next plan is to remove the consume_subscription nonsense from the
poll & dnotify backends. I assume these are relics from the days when
gam_server was threaded.
I'd also like to rename gam_poll.c/h to gam_poll_dnotify.c/h because it
really is a dnotify specific poll implementation. Could this be done on
the CVS server so that we can keep the history?
--
John McCutchan <ttb tentacle dhs org>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]