6#ifndef GP_GRABBERS_GRABBER_H
7#define GP_GRABBERS_GRABBER_H
11typedef struct gp_grabber gp_grabber;
22 int (*poll)(gp_grabber *self);
32 int (*start)(gp_grabber *self);
37 int (*stop)(gp_grabber *self);
42 void (*exit)(gp_grabber *self);
47#define GP_GRABBER_PRIV(grabber) ((void*)(grabber)->priv)
49static inline void gp_grabber_exit(gp_grabber *self)
54static inline int gp_grabber_poll(gp_grabber *self)
56 return self->poll(self);
59static inline int gp_grabber_start(gp_grabber *self)
62 return self->start(self);
67static inline int gp_grabber_stop(gp_grabber *self)
70 return self->stop(self);