
Now that we have proper module load order, we can have this shared dbus connection in a module instead of the library. The module has to be loaded before any other modules that need it, obviously.
104 lines
2.4 KiB
C
104 lines
2.4 KiB
C
/* WirePlumber
|
|
*
|
|
* Copyright © 2019 Collabora Ltd.
|
|
* @author George Kiagiadakis <george.kiagiadakis@collabora.com>
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
#ifndef __WIREPLUMBER_WP_H__
|
|
#define __WIREPLUMBER_WP_H__
|
|
|
|
#include "client.h"
|
|
#include "component-loader.h"
|
|
#include "conf.h"
|
|
#include "core.h"
|
|
#include "device.h"
|
|
#include "error.h"
|
|
#include "event-dispatcher.h"
|
|
#include "event-hook.h"
|
|
#include "global-proxy.h"
|
|
#include "iterator.h"
|
|
#include "link.h"
|
|
#include "log.h"
|
|
#include "metadata.h"
|
|
#include "module.h"
|
|
#include "node.h"
|
|
#include "object-interest.h"
|
|
#include "object-manager.h"
|
|
#include "object.h"
|
|
#include "plugin.h"
|
|
#include "port.h"
|
|
#include "properties.h"
|
|
#include "proxy.h"
|
|
#include "proxy-interfaces.h"
|
|
#include "session-item.h"
|
|
#include "si-factory.h"
|
|
#include "si-interfaces.h"
|
|
#include "spa-json.h"
|
|
#include "spa-pod.h"
|
|
#include "spa-type.h"
|
|
#include "state.h"
|
|
#include "transition.h"
|
|
#include "wpenums.h"
|
|
#include "wpversion.h"
|
|
#include "factory.h"
|
|
#include "settings.h"
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
/*!
|
|
* \ingroup wp
|
|
* Flags for wp_init()
|
|
*/
|
|
typedef enum {
|
|
/*! Initialize PipeWire by calling pw_init() */
|
|
WP_INIT_PIPEWIRE = (1<<0),
|
|
/*! Initialize support for dynamic spa types.
|
|
* See wp_spa_dynamic_type_init() */
|
|
WP_INIT_SPA_TYPES = (1<<1),
|
|
/*! Override PipeWire's logging system with WirePlumber's one */
|
|
WP_INIT_SET_PW_LOG = (1<<2),
|
|
/*! Set wp_log_writer_default() as GLib's default log writer function */
|
|
WP_INIT_SET_GLIB_LOG = (1<<3),
|
|
/*! Initialize all of the above */
|
|
WP_INIT_ALL = 0xf,
|
|
} WpInitFlags;
|
|
|
|
WP_API
|
|
void wp_init (WpInitFlags flags);
|
|
|
|
WP_API
|
|
const char * wp_get_library_version (void);
|
|
|
|
WP_API
|
|
const char * wp_get_library_api_version (void);
|
|
|
|
WP_API
|
|
const gchar * wp_get_module_dir (void);
|
|
|
|
/*!
|
|
* \brief Flags to specify lookup directories
|
|
* \ingroup wp
|
|
*/
|
|
typedef enum { /*< flags >*/
|
|
WP_LOOKUP_DIR_ENV_DATA = (1 << 1), /*!< $WIREPLUMBER_DATA_DIR */
|
|
WP_LOOKUP_DIR_ENV_TEST_SRCDIR = (1 << 2), /*!< $G_TEST_SRCDIR */
|
|
|
|
WP_LOOKUP_DIR_XDG_CONFIG_HOME = (1 << 10), /*!< XDG_CONFIG_HOME/wireplumber */
|
|
WP_LOOKUP_DIR_ETC = (1 << 11), /*!< ($prefix)/etc/wireplumber */
|
|
WP_LOOKUP_DIR_PREFIX_SHARE = (1 << 12), /*!< $prefix/share/wireplumber */
|
|
} WpLookupDirs;
|
|
|
|
WP_API
|
|
gchar * wp_find_file (WpLookupDirs dirs, const gchar *filename,
|
|
const char *subdir);
|
|
|
|
WP_API
|
|
WpIterator * wp_new_files_iterator (WpLookupDirs dirs, const gchar *subdir,
|
|
const gchar *suffix);
|
|
|
|
G_END_DECLS
|
|
|
|
#endif
|