mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-03 09:01:54 -05:00
core: move export function to core.h
This commit is contained in:
parent
2474f9ae7d
commit
dd2fa2caee
4 changed files with 37 additions and 32 deletions
|
|
@ -1288,3 +1288,23 @@ struct spa_handle *pw_core_load_spa_handle(struct pw_core *core,
|
||||||
|
|
||||||
return handle;
|
return handle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SPA_EXPORT
|
||||||
|
int pw_core_register_export_type(struct pw_core *core, struct pw_export_type *type)
|
||||||
|
{
|
||||||
|
pw_log_debug("core %p: Add export type %d/%s to core", core, type->type,
|
||||||
|
spa_debug_type_find_name(pw_type_info(), type->type));
|
||||||
|
spa_list_append(&core->export_list, &type->link);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
SPA_EXPORT
|
||||||
|
const struct pw_export_type *pw_core_find_export_type(struct pw_core *core, uint32_t type)
|
||||||
|
{
|
||||||
|
const struct pw_export_type *t;
|
||||||
|
spa_list_for_each(t, &core->export_list, link) {
|
||||||
|
if (t->type == type)
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,7 @@ struct pw_core;
|
||||||
|
|
||||||
#include <pipewire/client.h>
|
#include <pipewire/client.h>
|
||||||
#include <pipewire/introspect.h>
|
#include <pipewire/introspect.h>
|
||||||
|
#include <pipewire/remote.h>
|
||||||
#include <pipewire/global.h>
|
#include <pipewire/global.h>
|
||||||
#include <pipewire/loop.h>
|
#include <pipewire/loop.h>
|
||||||
#include <pipewire/factory.h>
|
#include <pipewire/factory.h>
|
||||||
|
|
@ -157,6 +158,22 @@ struct spa_handle *pw_core_load_spa_handle(struct pw_core *core,
|
||||||
const char *factory_name,
|
const char *factory_name,
|
||||||
const struct spa_dict *info);
|
const struct spa_dict *info);
|
||||||
|
|
||||||
|
|
||||||
|
/** data for registering export functions */
|
||||||
|
struct pw_export_type {
|
||||||
|
struct spa_list link;
|
||||||
|
uint32_t type;
|
||||||
|
struct pw_proxy * (*func) (struct pw_remote *remote,
|
||||||
|
uint32_t type, struct pw_properties *properties, void *object,
|
||||||
|
size_t user_data_size);
|
||||||
|
};
|
||||||
|
|
||||||
|
/** register a type that can be exported on a core_proxy. This is usually used by
|
||||||
|
* extension modules */
|
||||||
|
int pw_core_register_export_type(struct pw_core *core, struct pw_export_type *type);
|
||||||
|
/** find information about registered export type */
|
||||||
|
const struct pw_export_type *pw_core_find_export_type(struct pw_core *core, uint32_t type);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -581,22 +581,3 @@ exit:
|
||||||
errno = -res;
|
errno = -res;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
SPA_EXPORT
|
|
||||||
int pw_core_register_export_type(struct pw_core *core, struct pw_export_type *type)
|
|
||||||
{
|
|
||||||
pw_log_debug("core %p: Add export type %d/%s to core", core, type->type,
|
|
||||||
spa_debug_type_find_name(pw_type_info(), type->type));
|
|
||||||
spa_list_append(&core->export_list, &type->link);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
const struct pw_export_type *pw_core_find_export_type(struct pw_core *core, uint32_t type)
|
|
||||||
{
|
|
||||||
const struct pw_export_type *t;
|
|
||||||
spa_list_for_each(t, &core->export_list, link) {
|
|
||||||
if (t->type == type)
|
|
||||||
return t;
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -203,19 +203,6 @@ struct pw_proxy *pw_remote_export(struct pw_remote *remote, /**< the remote */
|
||||||
void *object, /**< object to export */
|
void *object, /**< object to export */
|
||||||
size_t user_data_size /**< extra user data */);
|
size_t user_data_size /**< extra user data */);
|
||||||
|
|
||||||
/** data for registering export functions */
|
|
||||||
struct pw_export_type {
|
|
||||||
struct spa_list link;
|
|
||||||
uint32_t type;
|
|
||||||
struct pw_proxy * (*func) (struct pw_remote *remote,
|
|
||||||
uint32_t type, struct pw_properties *properties, void *object,
|
|
||||||
size_t user_data_size);
|
|
||||||
};
|
|
||||||
|
|
||||||
/** register a type that can be exported on a remote. This is usually used by
|
|
||||||
* extension modules */
|
|
||||||
int pw_core_register_export_type(struct pw_core *core, struct pw_export_type *type);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue