26 #ifndef DBUS_SOCKET_SET_H 
   27 #define DBUS_SOCKET_SET_H 
   29 #ifndef DOXYGEN_SHOULD_SKIP_THIS 
   31 #include <dbus/dbus.h> 
   32 #include <dbus/dbus-sysdeps.h> 
   39 typedef struct DBusSocketSet DBusSocketSet;
 
   41 typedef struct DBusSocketSetClass DBusSocketSetClass;
 
   42 struct DBusSocketSetClass {
 
   43     void            (*free)     (DBusSocketSet   *
self);
 
   48     void            (*remove)   (DBusSocketSet   *
self,
 
   50     void            (*enable)   (DBusSocketSet   *
self,
 
   53     void            (*disable)  (DBusSocketSet   *
self,
 
   55     int             (*poll)     (DBusSocketSet   *
self,
 
   56                                  DBusSocketEvent *revents,
 
   61 struct DBusSocketSet {
 
   62     DBusSocketSetClass *cls;
 
   65 DBusSocketSet *_dbus_socket_set_new           (
int               size_hint);
 
   68 _dbus_socket_set_free (DBusSocketSet *
self)
 
   70   (
self->cls->free) (
self);
 
   74 _dbus_socket_set_add (DBusSocketSet *
self,
 
   79   return (self->cls->add) (
self, fd, flags, enabled);
 
   83 _dbus_socket_set_remove (DBusSocketSet *
self,
 
   86   (
self->cls->remove) (
self, fd);
 
   90 _dbus_socket_set_enable (DBusSocketSet *
self,
 
   94   (
self->cls->enable) (
self, fd, flags);
 
   98 _dbus_socket_set_disable (DBusSocketSet *
self,
 
  101   (
self->cls->disable) (
self, fd);
 
  106 _dbus_socket_set_poll (DBusSocketSet    *
self,
 
  107                        DBusSocketEvent  *revents,
 
  111   return (self->cls->poll) (
self, revents, max_events, timeout_ms);
 
  116 extern DBusSocketSetClass _dbus_socket_set_poll_class;
 
  117 extern DBusSocketSetClass _dbus_socket_set_epoll_class;
 
  119 DBusSocketSet *_dbus_socket_set_poll_new  (
int  size_hint);
 
  120 DBusSocketSet *_dbus_socket_set_epoll_new (
void);