00001
00025 #ifndef _GAIM_EVENTLOOP_H_
00026 #define _GAIM_EVENTLOOP_H_
00027
00028 #include <glib.h>
00029
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033
00037 typedef enum
00038 {
00039 GAIM_INPUT_READ = 1 << 0,
00040 GAIM_INPUT_WRITE = 1 << 1
00042 } GaimInputCondition;
00043
00044 typedef void (*GaimInputFunction)(gpointer, gint, GaimInputCondition);
00045
00046 typedef struct _GaimEventLoopUiOps GaimEventLoopUiOps;
00047
00048 struct _GaimEventLoopUiOps
00049 {
00054 guint (*timeout_add)(guint interval, GSourceFunc function, gpointer data);
00055
00060 guint (*timeout_remove)(guint handle);
00061
00066 guint (*input_add)(int fd, GaimInputCondition cond,
00067 GaimInputFunction func, gpointer user_data);
00068
00073 void (*input_remove)(guint handle);
00074 };
00075
00076
00078
00089 guint gaim_timeout_add(guint interval, GSourceFunc function, gpointer data);
00090
00098 guint gaim_timeout_remove(guint handle);
00099
00111 guint gaim_input_add(int fd, GaimInputCondition cond,
00112 GaimInputFunction func, gpointer user_data);
00113
00120 void gaim_input_remove(guint handle);
00121
00125
00127
00134 void gaim_eventloop_set_ui_ops(GaimEventLoopUiOps *ops);
00135
00141 GaimEventLoopUiOps *gaim_eventloop_get_ui_ops(void);
00142
00145 #ifdef __cplusplus
00146 }
00147 #endif
00148
00149 #endif