PulseAudio  5.0
context.h
Go to the documentation of this file.
1 #ifndef foocontexthfoo
2 #define foocontexthfoo
3 
4 /***
5  This file is part of PulseAudio.
6 
7  Copyright 2004-2006 Lennart Poettering
8  Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB
9 
10  PulseAudio is free software; you can redistribute it and/or modify
11  it under the terms of the GNU Lesser General Public License as published
12  by the Free Software Foundation; either version 2.1 of the License,
13  or (at your option) any later version.
14 
15  PulseAudio is distributed in the hope that it will be useful, but
16  WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  General Public License for more details.
19 
20  You should have received a copy of the GNU Lesser General Public License
21  along with PulseAudio; if not, write to the Free Software
22  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
23  USA.
24 ***/
25 
26 #include <pulse/sample.h>
27 #include <pulse/def.h>
28 #include <pulse/mainloop-api.h>
29 #include <pulse/cdecl.h>
30 #include <pulse/operation.h>
31 #include <pulse/proplist.h>
32 #include <pulse/version.h>
33 
153 PA_C_DECL_BEGIN
154 
156 typedef struct pa_context pa_context;
157 
159 typedef void (*pa_context_notify_cb_t)(pa_context *c, void *userdata);
160 
162 typedef void (*pa_context_success_cb_t) (pa_context *c, int success, void *userdata);
163 
169 typedef void (*pa_context_event_cb_t)(pa_context *c, const char *name, pa_proplist *p, void *userdata);
170 
174 pa_context *pa_context_new(pa_mainloop_api *mainloop, const char *name);
175 
179 pa_context *pa_context_new_with_proplist(pa_mainloop_api *mainloop, const char *name, pa_proplist *proplist);
180 
183 
186 
189 
193 
196 
199 
202 
211 int pa_context_connect(pa_context *c, const char *server, pa_context_flags_t flags, const pa_spawn_api *api);
212 
215 
218 
223 
225 pa_operation* pa_context_set_default_sink(pa_context *c, const char *name, pa_context_success_cb_t cb, void *userdata);
226 
228 pa_operation* pa_context_set_default_source(pa_context *c, const char *name, pa_context_success_cb_t cb, void *userdata);
229 
232 
234 pa_operation* pa_context_set_name(pa_context *c, const char *name, pa_context_success_cb_t cb, void *userdata);
235 
237 const char* pa_context_get_server(pa_context *c);
238 
241 
244 
251 
253 pa_operation *pa_context_proplist_remove(pa_context *c, const char *const keys[], pa_context_success_cb_t cb, void *userdata);
254 
258 uint32_t pa_context_get_index(pa_context *s);
259 
263 
267 
282 
289 int pa_context_load_cookie_from_file(pa_context *c, const char *cookie_file_path);
290 
291 PA_C_DECL_END
292 
293 #endif
struct pa_context pa_context
An opaque connection context to a daemon.
Definition: context.h:156
pa_operation * pa_context_proplist_remove(pa_context *c, const char *const keys[], pa_context_success_cb_t cb, void *userdata)
Update the property list of the client, remove entries.
enum pa_context_flags pa_context_flags_t
Some special flags for contexts.
An abstract mainloop API vtable.
Definition: mainloop-api.h:82
A sample format and attribute specification.
Definition: sample.h:250
int pa_context_is_pending(pa_context *c)
Return non-zero if some data is pending to be written to the connection.
void pa_context_disconnect(pa_context *c)
Terminate the context connection immediately.
Main loop abstraction layer.
Global definitions.
void pa_context_set_state_callback(pa_context *c, pa_context_notify_cb_t cb, void *userdata)
Set a callback function that is called whenever the context status changes.
void pa_context_unref(pa_context *c)
Decrease the reference counter of the context by one.
A structure for the spawn api.
Definition: def.h:736
const char * pa_context_get_server(pa_context *c)
Return the server name this context is connected to.
struct pa_operation pa_operation
An asynchronous operation object.
Definition: operation.h:35
void pa_context_rttime_restart(pa_context *c, pa_time_event *e, pa_usec_t usec)
Restart a running or expired timer event source (wrapper for mainloop->time_restart).
uint64_t pa_usec_t
Type for usec specifications (unsigned).
Definition: sample.h:262
pa_context * pa_context_new_with_proplist(pa_mainloop_api *mainloop, const char *name, pa_proplist *proplist)
Instantiate a new connection context with an abstract mainloop API and an application name...
pa_operation * pa_context_set_default_sink(pa_context *c, const char *name, pa_context_success_cb_t cb, void *userdata)
Set the name of the default sink.
pa_operation * pa_context_set_name(pa_context *c, const char *name, pa_context_success_cb_t cb, void *userdata)
Set a different application name for context on the server.
void(* pa_context_success_cb_t)(pa_context *c, int success, void *userdata)
A generic callback for operation completion.
Definition: context.h:162
enum pa_context_state pa_context_state_t
The state of a connection context.
void(* pa_context_notify_cb_t)(pa_context *c, void *userdata)
Generic notification callback prototype.
Definition: context.h:159
int pa_context_load_cookie_from_file(pa_context *c, const char *cookie_file_path)
Load the authentication cookie from a file.
uint32_t pa_context_get_protocol_version(pa_context *c)
Return the protocol version of the library.
pa_context * pa_context_ref(pa_context *c)
Increase the reference counter of the context by one.
enum pa_update_mode pa_update_mode_t
Update mode enum for pa_proplist_update().
int pa_context_is_local(pa_context *c)
Returns 1 when the connection is to a local daemon.
pa_context * pa_context_new(pa_mainloop_api *mainloop, const char *name)
Instantiate a new connection context with an abstract mainloop API and an application name...
void(* pa_time_event_cb_t)(pa_mainloop_api *a, pa_time_event *e, const struct timeval *tv, void *userdata)
A time event callback prototype.
Definition: mainloop-api.h:70
pa_operation * pa_context_set_default_source(pa_context *c, const char *name, pa_context_success_cb_t cb, void *userdata)
Set the name of the default source.
void(* pa_context_event_cb_t)(pa_context *c, const char *name, pa_proplist *p, void *userdata)
A callback for asynchronous meta/policy event messages.
Definition: context.h:169
int pa_context_errno(pa_context *c)
Return the error number of the last failed operation.
pa_operation * pa_context_drain(pa_context *c, pa_context_notify_cb_t cb, void *userdata)
Drain the context.
Define header version.
int pa_context_connect(pa_context *c, const char *server, pa_context_flags_t flags, const pa_spawn_api *api)
Connect the context to the specified server.
Constants and routines for sample type handling.
void pa_context_set_event_callback(pa_context *p, pa_context_event_cb_t cb, void *userdata)
Set a callback function that is called whenever a meta/policy control event is received.
Asynchronous operations.
uint32_t pa_context_get_index(pa_context *s)
Return the client index this context is identified in the server with.
pa_context_state_t pa_context_get_state(pa_context *c)
Return the current context status.
size_t pa_context_get_tile_size(pa_context *c, const pa_sample_spec *ss)
Return the optimal block size for passing around audio buffers.
struct pa_time_event pa_time_event
An opaque timer event source object.
Definition: mainloop-api.h:68
pa_operation * pa_context_proplist_update(pa_context *c, pa_update_mode_t mode, pa_proplist *p, pa_context_success_cb_t cb, void *userdata)
Update the property list of the client, adding new entries.
struct pa_proplist pa_proplist
A property list object.
Definition: proplist.h:274
uint32_t pa_context_get_server_protocol_version(pa_context *c)
Return the protocol version of the connected server.
pa_operation * pa_context_exit_daemon(pa_context *c, pa_context_success_cb_t cb, void *userdata)
Tell the daemon to exit.
Property list constants and functions.
pa_time_event * pa_context_rttime_new(pa_context *c, pa_usec_t usec, pa_time_event_cb_t cb, void *userdata)
Create a new timer event source for the specified time (wrapper for mainloop->time_new).