#ifndef __GDAM_FD_POLL_H_
#define __GDAM_FD_POLL_H_

#include <glib.h>

typedef struct _GdamFdPoll GdamFdPoll;
typedef gboolean (*GdamFdPollFunc)   (GdamFdPoll     *poll_object,
                                      int             fd,
				      GIOCondition    events,
				      gpointer        data);
typedef gboolean (*GdamFdPollTimerFunc)(GdamFdPoll     *poll_object,
				        gpointer        data);

GdamFdPoll          *gdam_fd_poll_new        (int            fd,
					      int            priority,
				              GIOCondition   events,
				              GdamFdPollFunc func,
				              gpointer       data,
				              GDestroyNotify destroy);
GdamFdPoll          *gdam_fd_poll_new_timeout(int            millis_timeout,
		                              int            priority,
		                              GdamFdPollTimerFunc func,
		                              gpointer       data,
		                              GDestroyNotify destroy);
void                 gdam_fd_poll_set_events (GdamFdPoll    *poll_object,
					      GIOCondition   events);
void                 gdam_fd_poll_destroy    (GdamFdPoll    *poll_object);


#endif
