2019-11-13 16:07:36 +02:00
|
|
|
/* WirePlumber
|
|
|
|
|
*
|
|
|
|
|
* Copyright © 2019 Collabora Ltd.
|
|
|
|
|
* @author George Kiagiadakis <george.kiagiadakis@collabora.com>
|
|
|
|
|
*
|
|
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifndef __WIREPLUMBER_OBJECT_MANAGER_H__
|
|
|
|
|
#define __WIREPLUMBER_OBJECT_MANAGER_H__
|
|
|
|
|
|
|
|
|
|
#include <glib-object.h>
|
|
|
|
|
#include "proxy.h"
|
|
|
|
|
|
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
|
WP_OBJECT_MANAGER_CONSTRAINT_PW_GLOBAL_PROPERTY,
|
|
|
|
|
WP_OBJECT_MANAGER_CONSTRAINT_PW_PROPERTY,
|
|
|
|
|
WP_OBJECT_MANAGER_CONSTRAINT_G_PROPERTY,
|
|
|
|
|
} WpObjectManagerConstraintType;
|
|
|
|
|
|
|
|
|
|
#define WP_TYPE_OBJECT_MANAGER (wp_object_manager_get_type ())
|
2020-01-16 18:50:07 +02:00
|
|
|
WP_API
|
2019-11-13 16:07:36 +02:00
|
|
|
G_DECLARE_FINAL_TYPE (WpObjectManager, wp_object_manager, WP, OBJECT_MANAGER, GObject)
|
|
|
|
|
|
2020-01-16 18:50:07 +02:00
|
|
|
WP_API
|
2019-11-13 16:07:36 +02:00
|
|
|
WpObjectManager * wp_object_manager_new (void);
|
|
|
|
|
|
2020-01-16 18:50:07 +02:00
|
|
|
WP_API
|
2020-02-13 19:56:41 +02:00
|
|
|
void wp_object_manager_add_interest (WpObjectManager *self,
|
2020-02-12 14:15:51 +02:00
|
|
|
GType gtype, GVariant * constraints, WpProxyFeatures wanted_features);
|
2020-01-16 18:50:07 +02:00
|
|
|
|
|
|
|
|
WP_API
|
2019-11-13 16:07:36 +02:00
|
|
|
GPtrArray * wp_object_manager_get_objects (WpObjectManager *self,
|
|
|
|
|
GType type_filter);
|
|
|
|
|
|
|
|
|
|
G_END_DECLS
|
|
|
|
|
|
|
|
|
|
#endif
|