Logo Search packages:      
Sourcecode: pulseaudio version File versions

mainloop-api.h File Reference


Detailed Description

Main loop abstraction layer. Both the PulseAudio core and the PulseAudio client library use a main loop abstraction layer. Due to this it is possible to embed PulseAudio into other applications easily. Two main loop implemenations are currently available: The structure pa_mainloop_api is used as vtable for the main loop abstraction.

This mainloop abstraction layer has no direct support for UNIX signals. Generic, mainloop implementation agnostic support is available throught mainloop-signal.h.

Definition in file mainloop-api.h.

#include <sys/time.h>
#include <time.h>
#include <pulse/cdecl.h>
#include <pulse/version.h>

Go to the source code of this file.

Classes

struct  pa_mainloop_api

Typedefs

typedef struct pa_defer_event pa_defer_event
typedef void(* pa_defer_event_cb_t )(pa_mainloop_api *a, pa_defer_event *e, void *userdata)
typedef void(* pa_defer_event_destroy_cb_t )(pa_mainloop_api *a, pa_defer_event *e, void *userdata)
typedef struct pa_io_event pa_io_event
typedef void(* pa_io_event_cb_t )(pa_mainloop_api *ea, pa_io_event *e, int fd, pa_io_event_flags_t events, void *userdata)
typedef void(* pa_io_event_destroy_cb_t )(pa_mainloop_api *a, pa_io_event *e, void *userdata)
typedef enum pa_io_event_flags pa_io_event_flags_t
typedef typedefPA_C_DECL_BEGIN
struct pa_mainloop_api 
pa_mainloop_api
typedef struct pa_time_event pa_time_event
typedef void(* pa_time_event_cb_t )(pa_mainloop_api *a, pa_time_event *e, const struct timeval *tv, void *userdata)
typedef void(* pa_time_event_destroy_cb_t )(pa_mainloop_api *a, pa_time_event *e, void *userdata)

Enumerations

enum  pa_io_event_flags {
  PA_IO_EVENT_NULL = 0, PA_IO_EVENT_INPUT = 1, PA_IO_EVENT_OUTPUT = 2, PA_IO_EVENT_HANGUP = 4,
  PA_IO_EVENT_ERROR = 8
}

Functions

void pa_mainloop_api_once (pa_mainloop_api *m, void(*callback)(pa_mainloop_api *m, void *userdata), void *userdata)


Generated by  Doxygen 1.6.0   Back to index