26#ifndef DBUS_POLLABLE_SET_H
27#define DBUS_POLLABLE_SET_H
29#ifndef DOXYGEN_SHOULD_SKIP_THIS
32#include <dbus/dbus-sysdeps.h>
39typedef struct DBusPollableSet DBusPollableSet;
41typedef struct DBusPollableSetClass DBusPollableSetClass;
42struct DBusPollableSetClass {
43 void (*free) (DBusPollableSet *self);
48 void (*remove) (DBusPollableSet *self,
50 void (*enable) (DBusPollableSet *self,
53 void (*disable) (DBusPollableSet *self,
55 int (*poll) (DBusPollableSet *self,
56 DBusPollableEvent *revents,
61struct DBusPollableSet {
62 DBusPollableSetClass *cls;
65DBusPollableSet *_dbus_pollable_set_new (
int size_hint);
68_dbus_pollable_set_free (DBusPollableSet *self)
70 (self->cls->free) (self);
74_dbus_pollable_set_add (DBusPollableSet *self,
79 return (self->cls->add) (self, fd, flags, enabled);
83_dbus_pollable_set_remove (DBusPollableSet *self,
86 (self->cls->remove) (self, fd);
90_dbus_pollable_set_enable (DBusPollableSet *self,
94 (self->cls->enable) (self, fd, flags);
98_dbus_pollable_set_disable (DBusPollableSet *self,
101 (self->cls->disable) (self, fd);
106_dbus_pollable_set_poll (DBusPollableSet *self,
107 DBusPollableEvent *revents,
111 return (self->cls->poll) (self, revents, max_events, timeout_ms);
116extern DBusPollableSetClass _dbus_pollable_set_poll_class;
117extern DBusPollableSetClass _dbus_pollable_set_epoll_class;
119DBusPollableSet *_dbus_pollable_set_poll_new (
int size_hint);
120DBusPollableSet *_dbus_pollable_set_epoll_new (
void);
dbus_uint32_t dbus_bool_t
A boolean, valid values are TRUE and FALSE.