"Fossies" - the Fresh Open Source Software Archive

Member "pulseaudio-13.0/src/pulsecore/shared.h" (20 Nov 2018, 2164 Bytes) of package /linux/misc/pulseaudio-13.0.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "shared.h" see the Fossies "Dox" file reference documentation.

    1 #ifndef foosharedshfoo
    2 #define foosharedshfoo
    3 
    4 /***
    5   This file is part of PulseAudio.
    6 
    7   Copyright 2004-2006 Lennart Poettering
    8 
    9   PulseAudio is free software; you can redistribute it and/or modify
   10   it under the terms of the GNU Lesser General Public License as published
   11   by the Free Software Foundation; either version 2.1 of the License,
   12   or (at your option) any later version.
   13 
   14   PulseAudio is distributed in the hope that it will be useful, but
   15   WITHOUT ANY WARRANTY; without even the implied warranty of
   16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
   17   General Public License for more details.
   18 
   19   You should have received a copy of the GNU Lesser General Public License
   20   along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
   21 ***/
   22 
   23 #include <pulsecore/core.h>
   24 #include <pulsecore/strbuf.h>
   25 
   26 /* The shared property subsystem is to be used to share data between
   27  * modules. Consider them to be kind of "global" variables for a
   28  * core. Why not use the hashmap functions directly? The hashmap
   29  * functions copy neither the key nor value, while this property
   30  * system copies the key. Users of this system have to think about
   31  * reference counting themselves. */
   32 
   33 /* Note: please don't confuse this with the proplist framework in
   34  * pulse/proplist.[ch]! */
   35 
   36 /* Return a pointer to the value of the specified shared property. */
   37 void* pa_shared_get(pa_core *c, const char *name);
   38 
   39 /* Set the shared property 'name' to 'data'. This function fails in
   40  * case a property by this name already exists. The property data is
   41  * not copied or reference counted. This is the caller's job. */
   42 int pa_shared_set(pa_core *c, const char *name, void *data);
   43 
   44 /* Remove the specified shared property. Return non-zero on failure */
   45 int pa_shared_remove(pa_core *c, const char *name);
   46 
   47 /* A combination of pa_shared_remove() and pa_shared_set(); this function
   48  * first tries to remove the property by this name and then sets the
   49  * property. Return non-zero on failure. */
   50 int pa_shared_replace(pa_core *c, const char *name, void *data);
   51 
   52 /* Dump the current set of shared properties */
   53 void pa_shared_dump(pa_core *c, pa_strbuf *s);
   54 
   55 #endif