Branch data Line data Source code
1 : : #ifndef foopulsemsgobjecthfoo
2 : : #define foopulsemsgobjecthfoo
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 <sys/types.h>
27 : :
28 : : #include <pulsecore/macro.h>
29 : : #include <pulsecore/object.h>
30 : : #include <pulsecore/memchunk.h>
31 : :
32 : : typedef struct pa_msgobject pa_msgobject;
33 : :
34 : : struct pa_msgobject {
35 : : pa_object parent;
36 : : int (*process_msg)(pa_msgobject *o, int code, void *userdata, int64_t offset, pa_memchunk *chunk);
37 : : };
38 : :
39 : : pa_msgobject *pa_msgobject_new_internal(size_t size, const char *type_id, pa_bool_t (*check_type)(const char *type_name));
40 : :
41 : : #define pa_msgobject_new(type) ((type*) pa_msgobject_new_internal(sizeof(type), type##_type_id, type##_check_type))
42 : : #define pa_msgobject_free ((void (*) (pa_msgobject* o)) pa_object_free)
43 : :
44 : : #define PA_MSGOBJECT(o) pa_msgobject_cast(o)
45 : :
46 [ # # ][ # # ]: 0 : PA_DECLARE_PUBLIC_CLASS(pa_msgobject);
[ # # # # ]
[ # # ][ # # ]
[ # # ]
47 : :
48 : : #endif
|