Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Julian Bouzas
WirePlumber
Commits
82fe7831
Commit
82fe7831
authored
Sep 24, 2019
by
George Kiagiadakis
Browse files
lib: implement WpSession (proxy + exported for pw_session)
parent
ce3883c1
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
lib/wp/meson.build
View file @
82fe7831
...
...
@@ -14,6 +14,7 @@ wp_lib_sources = [
'proxy-link.c',
'proxy-node.c',
'proxy-port.c',
'session.c',
'spa-props.c',
]
...
...
@@ -33,6 +34,7 @@ wp_lib_headers = [
'proxy-node.h',
'proxy-port.h',
'proxy-link.h',
'session.h',
'wp.h',
]
...
...
lib/wp/session.c
0 → 100644
View file @
82fe7831
This diff is collapsed.
Click to expand it.
lib/wp/session.h
0 → 100644
View file @
82fe7831
/* WirePlumber
*
* Copyright © 2019 Collabora Ltd.
* @author George Kiagiadakis <george.kiagiadakis@collabora.com>
*
* SPDX-License-Identifier: MIT
*/
#ifndef __WIREPLUMBER_SESSION_H__
#define __WIREPLUMBER_SESSION_H__
#include
"exported.h"
#include
"proxy.h"
G_BEGIN_DECLS
#define WP_TYPE_SESSION (wp_session_get_type ())
G_DECLARE_INTERFACE
(
WpSession
,
wp_session
,
WP
,
SESSION
,
GObject
)
typedef
enum
{
WP_DEFAULT_ENDPOINT_TYPE_AUDIO_SOURCE
=
0x1000000
/* SPA_PROP_START_CUSTOM */
,
WP_DEFAULT_ENDPOINT_TYPE_AUDIO_SINK
,
WP_DEFAULT_ENDPOINT_TYPE_VIDEO_SOURCE
,
}
WpDefaultEndpointType
;
struct
_WpSessionInterface
{
GTypeInterface
parent
;
WpProperties
*
(
*
get_properties
)
(
WpSession
*
self
);
guint32
(
*
get_default_endpoint
)
(
WpSession
*
self
,
WpDefaultEndpointType
type
);
void
(
*
set_default_endpoint
)
(
WpSession
*
self
,
WpDefaultEndpointType
type
,
guint32
id
);
};
WpProperties
*
wp_session_get_properties
(
WpSession
*
self
);
guint32
wp_session_get_default_endpoint
(
WpSession
*
self
,
WpDefaultEndpointType
type
);
void
wp_session_set_default_endpoint
(
WpSession
*
self
,
WpDefaultEndpointType
type
,
guint32
id
);
/* proxy */
typedef
enum
{
/*< flags >*/
WP_PROXY_SESSION_FEATURE_DEFAULT_ENDPOINT
=
WP_PROXY_FEATURE_LAST
,
}
WpProxySessionFeatures
;
#define WP_TYPE_PROXY_SESSION (wp_proxy_session_get_type ())
G_DECLARE_FINAL_TYPE
(
WpProxySession
,
wp_proxy_session
,
WP
,
PROXY_SESSION
,
WpProxy
)
const
struct
pw_session_info
*
wp_proxy_session_get_info
(
WpProxySession
*
self
);
/* exported */
#define WP_TYPE_EXPORTED_SESSION (wp_exported_session_get_type ())
G_DECLARE_DERIVABLE_TYPE
(
WpExportedSession
,
wp_exported_session
,
WP
,
EXPORTED_SESSION
,
WpExported
)
struct
_WpExportedSessionClass
{
WpExportedClass
parent_class
;
};
WpExportedSession
*
wp_exported_session_new
(
WpCore
*
core
);
guint32
wp_exported_session_get_global_id
(
WpExportedSession
*
self
);
void
wp_exported_session_set_property
(
WpExportedSession
*
self
,
const
gchar
*
key
,
const
gchar
*
value
);
void
wp_exported_session_update_properties
(
WpExportedSession
*
self
,
WpProperties
*
updates
);
G_END_DECLS
#endif
lib/wp/wp.h
View file @
82fe7831
...
...
@@ -21,4 +21,5 @@
#include
"proxy-link.h"
#include
"proxy-node.h"
#include
"proxy-port.h"
#include
"session.h"
#include
"wpenums.h"
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment