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 <[EMAIL PROTECTED]>
_______________________________________________
Gamin-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gamin-list