#include #include "mainloop.h" typedef struct MainContext MainContext; MainContext *main_context_new (MainLoop *loop, gpointer data); void main_context_free (MainContext *context); /* Filedescriptors */ typedef void (* MainFdTask) (MainContext *context, int fd, gpointer data); void main_context_add_fd (MainContext *context, int fd, gpointer data); void main_context_remove_fd (MainContext *context, int fd); /* Called before the fd is polled */ void main_context_set_prepare_callback (MainContext *context, int fd, MainFdTask func); /* Called when the fd is writable */ void main_context_set_write_callback (MainContext *context, int fd, MainFdTask func); /* Called when there is data to be read, if the fd is closed/hungup, or * if there is an error */ void main_context_set_read_callback (MainContext *context, int fd, MainFdTask func); /* Idle/timeout tasks */ #if 0 typedef gboolean (* MainTaskFunc) (gpointer data); MainTask *main_context_add_idle (MainContext *context, MainTaskFunc func, gpointer data); MainTask *main_context_add_timeout (MainContext *context, int millisecs, MainTaskFunc func, gpointer data); void main_task_remove (MainTask *task); #endif