flatpak: add flatpak module

Pass LoopUtils to callbacks to make it easier to reschedule timeouts.
This commit is contained in:
Wim Taymans 2017-04-17 16:32:25 +02:00
parent a5b39019d1
commit be528ba7c2
17 changed files with 826 additions and 259 deletions

View file

@ -123,9 +123,12 @@ typedef void (*SpaNotify) (void *data);
#define SPA_IDX_INVALID ((unsigned int)-1)
#define SPA_ID_INVALID ((uint32_t)0xffffffff)
#define SPA_NSEC_PER_SEC (1000000000ll)
#define SPA_USEC_PER_SEC (1000000ll)
#define SPA_MSEC_PER_SEC (1000ll)
#define SPA_NSEC_PER_SEC (1000000000ll)
#define SPA_NSEC_PER_MSEC (1000000ll)
#define SPA_NSEC_PER_USEC (1000ll)
#define SPA_USEC_PER_SEC (1000000ll)
#define SPA_USEC_PER_MSEC (1000ll)
#define SPA_MSEC_PER_SEC (1000ll)
#define SPA_TIMESPEC_TO_TIME(ts) ((ts)->tv_sec * SPA_NSEC_PER_SEC + (ts)->tv_nsec)
#define SPA_TIMEVAL_TO_TIME(tv) ((tv)->tv_sec * SPA_NSEC_PER_SEC + (tv)->tv_usec * 1000ll)

View file

@ -126,19 +126,24 @@ struct _SpaLoopControl {
#define spa_loop_control_leave(l) (l)->leave(l)
typedef void (*SpaSourceIOFunc) (SpaSource *source,
int fd,
SpaIO mask,
void *data);
typedef void (*SpaSourceIdleFunc) (SpaSource *source,
void *data);
typedef void (*SpaSourceEventFunc) (SpaSource *source,
void *data);
typedef void (*SpaSourceTimerFunc) (SpaSource *source,
void *data);
typedef void (*SpaSourceSignalFunc) (SpaSource *source,
int signal_number,
void *data);
typedef void (*SpaSourceIOFunc) (SpaLoopUtils *utils,
SpaSource *source,
int fd,
SpaIO mask,
void *data);
typedef void (*SpaSourceIdleFunc) (SpaLoopUtils *utils,
SpaSource *source,
void *data);
typedef void (*SpaSourceEventFunc) (SpaLoopUtils *utils,
SpaSource *source,
void *data);
typedef void (*SpaSourceTimerFunc) (SpaLoopUtils *utils,
SpaSource *source,
void *data);
typedef void (*SpaSourceSignalFunc) (SpaLoopUtils *utils,
SpaSource *source,
int signal_number,
void *data);
/**
* SpaLoopUtils:
@ -160,6 +165,7 @@ struct _SpaLoopUtils {
SpaIO mask);
SpaSource * (*add_idle) (SpaLoopUtils *utils,
bool enabled,
SpaSourceIdleFunc func,
void *data);
void (*enable_idle) (SpaSource *source,