mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	pw_session_proxy -> pw_session
This commit is contained in:
		
							parent
							
								
									3c737cf39c
								
							
						
					
					
						commit
						85103d128e
					
				
					 5 changed files with 58 additions and 58 deletions
				
			
		| 
						 | 
				
			
			@ -607,8 +607,8 @@ static void session_event_info(void *object, const struct pw_session_info *info)
 | 
			
		|||
	pw_proxy_sync(sess->obj.proxy, 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static const struct pw_session_proxy_events session_events = {
 | 
			
		||||
	PW_VERSION_SESSION_PROXY_EVENTS,
 | 
			
		||||
static const struct pw_session_events session_events = {
 | 
			
		||||
	PW_VERSION_SESSION_EVENTS,
 | 
			
		||||
	.info = session_event_info,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -641,7 +641,7 @@ static void session_destroy(void *object)
 | 
			
		|||
 | 
			
		||||
static const struct object_info session_info = {
 | 
			
		||||
	.type = PW_TYPE_INTERFACE_Session,
 | 
			
		||||
	.version = PW_VERSION_SESSION_PROXY,
 | 
			
		||||
	.version = PW_VERSION_SESSION,
 | 
			
		||||
	.events = &session_events,
 | 
			
		||||
	.size = sizeof(struct sm_session),
 | 
			
		||||
	.init = session_init,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,8 +35,8 @@
 | 
			
		|||
extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define PW_VERSION_SESSION_PROXY		0
 | 
			
		||||
struct pw_session_proxy;
 | 
			
		||||
#define PW_VERSION_SESSION		0
 | 
			
		||||
struct pw_session;
 | 
			
		||||
#define PW_VERSION_ENDPOINT_PROXY		0
 | 
			
		||||
struct pw_endpoint_proxy;
 | 
			
		||||
#define PW_VERSION_ENDPOINT_STREAM_PROXY	0
 | 
			
		||||
| 
						 | 
				
			
			@ -46,12 +46,12 @@ struct pw_endpoint_link;
 | 
			
		|||
 | 
			
		||||
/* Session */
 | 
			
		||||
 | 
			
		||||
#define PW_SESSION_PROXY_EVENT_INFO		0
 | 
			
		||||
#define PW_SESSION_PROXY_EVENT_PARAM		1
 | 
			
		||||
#define PW_SESSION_PROXY_EVENT_NUM		2
 | 
			
		||||
#define PW_SESSION_EVENT_INFO		0
 | 
			
		||||
#define PW_SESSION_EVENT_PARAM		1
 | 
			
		||||
#define PW_SESSION_EVENT_NUM		2
 | 
			
		||||
 | 
			
		||||
struct pw_session_proxy_events {
 | 
			
		||||
#define PW_VERSION_SESSION_PROXY_EVENTS		0
 | 
			
		||||
struct pw_session_events {
 | 
			
		||||
#define PW_VERSION_SESSION_EVENTS		0
 | 
			
		||||
	uint32_t version;			/**< version of this structure */
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
| 
						 | 
				
			
			@ -77,20 +77,20 @@ struct pw_session_proxy_events {
 | 
			
		|||
		       const struct spa_pod *param);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define PW_SESSION_PROXY_METHOD_ADD_LISTENER		0
 | 
			
		||||
#define PW_SESSION_PROXY_METHOD_SUBSCRIBE_PARAMS	1
 | 
			
		||||
#define PW_SESSION_PROXY_METHOD_ENUM_PARAMS		2
 | 
			
		||||
#define PW_SESSION_PROXY_METHOD_SET_PARAM		3
 | 
			
		||||
#define PW_SESSION_PROXY_METHOD_CREATE_LINK		4
 | 
			
		||||
#define PW_SESSION_PROXY_METHOD_NUM			5
 | 
			
		||||
#define PW_SESSION_METHOD_ADD_LISTENER		0
 | 
			
		||||
#define PW_SESSION_METHOD_SUBSCRIBE_PARAMS	1
 | 
			
		||||
#define PW_SESSION_METHOD_ENUM_PARAMS		2
 | 
			
		||||
#define PW_SESSION_METHOD_SET_PARAM		3
 | 
			
		||||
#define PW_SESSION_METHOD_CREATE_LINK		4
 | 
			
		||||
#define PW_SESSION_METHOD_NUM			5
 | 
			
		||||
 | 
			
		||||
struct pw_session_proxy_methods {
 | 
			
		||||
#define PW_VERSION_SESSION_PROXY_METHODS	0
 | 
			
		||||
struct pw_session_methods {
 | 
			
		||||
#define PW_VERSION_SESSION_METHODS	0
 | 
			
		||||
	uint32_t version;			/**< version of this structure */
 | 
			
		||||
 | 
			
		||||
	int (*add_listener) (void *object,
 | 
			
		||||
			struct spa_hook *listener,
 | 
			
		||||
			const struct pw_session_proxy_events *events,
 | 
			
		||||
			const struct pw_session_events *events,
 | 
			
		||||
			void *data);
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
| 
						 | 
				
			
			@ -131,19 +131,19 @@ struct pw_session_proxy_methods {
 | 
			
		|||
			  const struct spa_pod *param);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define pw_session_proxy_method(o,method,version,...)			\
 | 
			
		||||
#define pw_session_method(o,method,version,...)				\
 | 
			
		||||
({									\
 | 
			
		||||
	int _res = -ENOTSUP;						\
 | 
			
		||||
	spa_interface_call_res((struct spa_interface*)o,		\
 | 
			
		||||
			struct pw_session_proxy_methods, _res,		\
 | 
			
		||||
			struct pw_session_methods, _res,		\
 | 
			
		||||
			method, version, ##__VA_ARGS__);		\
 | 
			
		||||
	_res;								\
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
#define pw_session_proxy_add_listener(c,...)		pw_session_proxy_method(c,add_listener,0,__VA_ARGS__)
 | 
			
		||||
#define pw_session_proxy_subscribe_params(c,...)	pw_session_proxy_method(c,subscribe_params,0,__VA_ARGS__)
 | 
			
		||||
#define pw_session_proxy_enum_params(c,...)		pw_session_proxy_method(c,enum_params,0,__VA_ARGS__)
 | 
			
		||||
#define pw_session_proxy_set_param(c,...)		pw_session_proxy_method(c,set_param,0,__VA_ARGS__)
 | 
			
		||||
#define pw_session_add_listener(c,...)		pw_session_method(c,add_listener,0,__VA_ARGS__)
 | 
			
		||||
#define pw_session_subscribe_params(c,...)	pw_session_method(c,subscribe_params,0,__VA_ARGS__)
 | 
			
		||||
#define pw_session_enum_params(c,...)		pw_session_method(c,enum_params,0,__VA_ARGS__)
 | 
			
		||||
#define pw_session_set_param(c,...)		pw_session_method(c,set_param,0,__VA_ARGS__)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* Endpoint */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1767,7 +1767,7 @@ static void session_marshal_info (void *object,
 | 
			
		|||
	struct spa_pod_builder *b;
 | 
			
		||||
 | 
			
		||||
	b = pw_protocol_native_begin_resource(resource,
 | 
			
		||||
		PW_SESSION_PROXY_EVENT_INFO, NULL);
 | 
			
		||||
		PW_SESSION_EVENT_INFO, NULL);
 | 
			
		||||
 | 
			
		||||
	marshal_pw_session_info(b, info);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1782,7 +1782,7 @@ static void session_marshal_param (void *object, int seq, uint32_t id,
 | 
			
		|||
	struct spa_pod_builder *b;
 | 
			
		||||
 | 
			
		||||
	b = pw_protocol_native_begin_resource(resource,
 | 
			
		||||
		PW_SESSION_PROXY_EVENT_PARAM, NULL);
 | 
			
		||||
		PW_SESSION_EVENT_PARAM, NULL);
 | 
			
		||||
 | 
			
		||||
	spa_pod_builder_add_struct(b,
 | 
			
		||||
				SPA_POD_Int(seq),
 | 
			
		||||
| 
						 | 
				
			
			@ -1796,7 +1796,7 @@ static void session_marshal_param (void *object, int seq, uint32_t id,
 | 
			
		|||
 | 
			
		||||
static int session_marshal_add_listener(void *object,
 | 
			
		||||
			struct spa_hook *listener,
 | 
			
		||||
			const struct pw_session_proxy_events *events,
 | 
			
		||||
			const struct pw_session_events *events,
 | 
			
		||||
			void *data)
 | 
			
		||||
{
 | 
			
		||||
	struct pw_proxy *proxy = object;
 | 
			
		||||
| 
						 | 
				
			
			@ -1811,7 +1811,7 @@ static int session_marshal_subscribe_params(void *object,
 | 
			
		|||
	struct spa_pod_builder *b;
 | 
			
		||||
 | 
			
		||||
	b = pw_protocol_native_begin_proxy(proxy,
 | 
			
		||||
		PW_SESSION_PROXY_METHOD_SUBSCRIBE_PARAMS, NULL);
 | 
			
		||||
		PW_SESSION_METHOD_SUBSCRIBE_PARAMS, NULL);
 | 
			
		||||
 | 
			
		||||
	spa_pod_builder_add_struct(b,
 | 
			
		||||
			SPA_POD_Array(sizeof(uint32_t), SPA_TYPE_Id, n_ids, ids));
 | 
			
		||||
| 
						 | 
				
			
			@ -1829,7 +1829,7 @@ static int session_marshal_enum_params(void *object,
 | 
			
		|||
	struct spa_pod_builder *b;
 | 
			
		||||
 | 
			
		||||
	b = pw_protocol_native_begin_proxy(proxy,
 | 
			
		||||
		PW_SESSION_PROXY_METHOD_ENUM_PARAMS, &msg);
 | 
			
		||||
		PW_SESSION_METHOD_ENUM_PARAMS, &msg);
 | 
			
		||||
 | 
			
		||||
	spa_pod_builder_add_struct(b,
 | 
			
		||||
			SPA_POD_Int(SPA_RESULT_RETURN_ASYNC(msg->seq)),
 | 
			
		||||
| 
						 | 
				
			
			@ -1849,7 +1849,7 @@ static int session_marshal_set_param(void *object,
 | 
			
		|||
	struct spa_pod_builder *b;
 | 
			
		||||
 | 
			
		||||
	b = pw_protocol_native_begin_proxy(proxy,
 | 
			
		||||
		PW_SESSION_PROXY_METHOD_SET_PARAM, NULL);
 | 
			
		||||
		PW_SESSION_METHOD_SET_PARAM, NULL);
 | 
			
		||||
 | 
			
		||||
	spa_pod_builder_add_struct(b,
 | 
			
		||||
			SPA_POD_Id(id),
 | 
			
		||||
| 
						 | 
				
			
			@ -1872,7 +1872,7 @@ static int session_demarshal_info(void *object,
 | 
			
		|||
 | 
			
		||||
	demarshal_pw_session_info(&prs, &f, &info);
 | 
			
		||||
 | 
			
		||||
	return pw_proxy_notify(proxy, struct pw_session_proxy_events,
 | 
			
		||||
	return pw_proxy_notify(proxy, struct pw_session_events,
 | 
			
		||||
				info, 0, &info);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1894,7 +1894,7 @@ static int session_demarshal_param(void *object,
 | 
			
		|||
				SPA_POD_Pod(¶m)) < 0)
 | 
			
		||||
		return -EINVAL;
 | 
			
		||||
 | 
			
		||||
	return pw_proxy_notify(proxy, struct pw_session_proxy_events,
 | 
			
		||||
	return pw_proxy_notify(proxy, struct pw_session_events,
 | 
			
		||||
				param, 0, seq, id, index, next, param);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1914,7 +1914,7 @@ static int session_demarshal_subscribe_params(void *object,
 | 
			
		|||
	if (ctype != SPA_TYPE_Id)
 | 
			
		||||
		return -EINVAL;
 | 
			
		||||
 | 
			
		||||
	return pw_resource_notify(resource, struct pw_session_proxy_methods,
 | 
			
		||||
	return pw_resource_notify(resource, struct pw_session_methods,
 | 
			
		||||
				subscribe_params, 0, ids, n_ids);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1936,7 +1936,7 @@ static int session_demarshal_enum_params(void *object,
 | 
			
		|||
				SPA_POD_Pod(&filter)) < 0)
 | 
			
		||||
		return -EINVAL;
 | 
			
		||||
 | 
			
		||||
	return pw_resource_notify(resource, struct pw_session_proxy_methods,
 | 
			
		||||
	return pw_resource_notify(resource, struct pw_session_methods,
 | 
			
		||||
				enum_params, 0, seq, id, index, num, filter);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1955,25 +1955,25 @@ static int session_demarshal_set_param(void *object,
 | 
			
		|||
				SPA_POD_Pod(¶m)) < 0)
 | 
			
		||||
		return -EINVAL;
 | 
			
		||||
 | 
			
		||||
	return pw_resource_notify(resource, struct pw_session_proxy_methods,
 | 
			
		||||
	return pw_resource_notify(resource, struct pw_session_methods,
 | 
			
		||||
				set_param, 0, id, flags, param);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static const struct pw_session_proxy_events pw_protocol_native_session_event_marshal = {
 | 
			
		||||
	PW_VERSION_SESSION_PROXY_EVENTS,
 | 
			
		||||
static const struct pw_session_events pw_protocol_native_session_event_marshal = {
 | 
			
		||||
	PW_VERSION_SESSION_EVENTS,
 | 
			
		||||
	.info = session_marshal_info,
 | 
			
		||||
	.param = session_marshal_param,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const struct pw_protocol_native_demarshal
 | 
			
		||||
pw_protocol_native_session_event_demarshal[PW_SESSION_PROXY_EVENT_NUM] =
 | 
			
		||||
pw_protocol_native_session_event_demarshal[PW_SESSION_EVENT_NUM] =
 | 
			
		||||
{
 | 
			
		||||
	[PW_SESSION_PROXY_EVENT_INFO] = { session_demarshal_info, 0 },
 | 
			
		||||
	[PW_SESSION_PROXY_EVENT_PARAM] = { session_demarshal_param, 0 },
 | 
			
		||||
	[PW_SESSION_EVENT_INFO] = { session_demarshal_info, 0 },
 | 
			
		||||
	[PW_SESSION_EVENT_PARAM] = { session_demarshal_param, 0 },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const struct pw_session_proxy_methods pw_protocol_native_session_method_marshal = {
 | 
			
		||||
	PW_VERSION_SESSION_PROXY_METHODS,
 | 
			
		||||
static const struct pw_session_methods pw_protocol_native_session_method_marshal = {
 | 
			
		||||
	PW_VERSION_SESSION_METHODS,
 | 
			
		||||
	.add_listener = session_marshal_add_listener,
 | 
			
		||||
	.subscribe_params = session_marshal_subscribe_params,
 | 
			
		||||
	.enum_params = session_marshal_enum_params,
 | 
			
		||||
| 
						 | 
				
			
			@ -1981,20 +1981,20 @@ static const struct pw_session_proxy_methods pw_protocol_native_session_method_m
 | 
			
		|||
};
 | 
			
		||||
 | 
			
		||||
static const struct pw_protocol_native_demarshal
 | 
			
		||||
pw_protocol_native_session_method_demarshal[PW_SESSION_PROXY_METHOD_NUM] =
 | 
			
		||||
pw_protocol_native_session_method_demarshal[PW_SESSION_METHOD_NUM] =
 | 
			
		||||
{
 | 
			
		||||
	[PW_SESSION_PROXY_METHOD_ADD_LISTENER] = { NULL, 0 },
 | 
			
		||||
	[PW_SESSION_PROXY_METHOD_SUBSCRIBE_PARAMS] = { session_demarshal_subscribe_params, 0 },
 | 
			
		||||
	[PW_SESSION_PROXY_METHOD_ENUM_PARAMS] = { session_demarshal_enum_params, 0 },
 | 
			
		||||
	[PW_SESSION_PROXY_METHOD_SET_PARAM] = { session_demarshal_set_param, PW_PERM_W },
 | 
			
		||||
	[PW_SESSION_METHOD_ADD_LISTENER] = { NULL, 0 },
 | 
			
		||||
	[PW_SESSION_METHOD_SUBSCRIBE_PARAMS] = { session_demarshal_subscribe_params, 0 },
 | 
			
		||||
	[PW_SESSION_METHOD_ENUM_PARAMS] = { session_demarshal_enum_params, 0 },
 | 
			
		||||
	[PW_SESSION_METHOD_SET_PARAM] = { session_demarshal_set_param, PW_PERM_W },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const struct pw_protocol_marshal pw_protocol_native_session_marshal = {
 | 
			
		||||
	PW_TYPE_INTERFACE_Session,
 | 
			
		||||
	PW_VERSION_SESSION_PROXY,
 | 
			
		||||
	PW_VERSION_SESSION,
 | 
			
		||||
	0,
 | 
			
		||||
	PW_SESSION_PROXY_METHOD_NUM,
 | 
			
		||||
	PW_SESSION_PROXY_EVENT_NUM,
 | 
			
		||||
	PW_SESSION_METHOD_NUM,
 | 
			
		||||
	PW_SESSION_EVENT_NUM,
 | 
			
		||||
	&pw_protocol_native_session_method_marshal,
 | 
			
		||||
	&pw_protocol_native_session_method_demarshal,
 | 
			
		||||
	&pw_protocol_native_session_event_marshal,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -47,7 +47,7 @@ struct resource_data {
 | 
			
		|||
};
 | 
			
		||||
 | 
			
		||||
#define pw_session_resource(r,m,v,...)	\
 | 
			
		||||
	pw_resource_call(r,struct pw_session_proxy_events,m,v,__VA_ARGS__)
 | 
			
		||||
	pw_resource_call(r,struct pw_session_events,m,v,__VA_ARGS__)
 | 
			
		||||
#define pw_session_resource_info(r,...)	\
 | 
			
		||||
	pw_session_resource(r,info,0,__VA_ARGS__)
 | 
			
		||||
#define pw_session_resource_param(r,...)	\
 | 
			
		||||
| 
						 | 
				
			
			@ -123,8 +123,8 @@ static int session_set_param (void *object, uint32_t id, uint32_t flags,
 | 
			
		|||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static const struct pw_session_proxy_methods methods = {
 | 
			
		||||
	PW_VERSION_SESSION_PROXY_METHODS,
 | 
			
		||||
static const struct pw_session_methods methods = {
 | 
			
		||||
	PW_VERSION_SESSION_METHODS,
 | 
			
		||||
	.subscribe_params = session_subscribe_params,
 | 
			
		||||
	.enum_params = session_enum_params,
 | 
			
		||||
	.set_param = session_set_param,
 | 
			
		||||
| 
						 | 
				
			
			@ -289,7 +289,7 @@ int session_init(struct session *this,
 | 
			
		|||
 | 
			
		||||
	this->global = pw_global_new (context,
 | 
			
		||||
			PW_TYPE_INTERFACE_Session,
 | 
			
		||||
			PW_VERSION_SESSION_PROXY,
 | 
			
		||||
			PW_VERSION_SESSION,
 | 
			
		||||
			properties, session_bind, this);
 | 
			
		||||
	if (!this->global)
 | 
			
		||||
		goto no_mem;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -939,8 +939,8 @@ static void session_event_info(void *object,
 | 
			
		|||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static const struct pw_session_proxy_events session_events = {
 | 
			
		||||
	PW_VERSION_SESSION_PROXY_EVENTS,
 | 
			
		||||
static const struct pw_session_events session_events = {
 | 
			
		||||
	PW_VERSION_SESSION_EVENTS,
 | 
			
		||||
	.info = session_event_info,
 | 
			
		||||
	.param = event_param
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -1140,7 +1140,7 @@ static bool bind_global(struct remote_data *rd, struct global *global, char **er
 | 
			
		|||
		break;
 | 
			
		||||
	case PW_TYPE_INTERFACE_Session:
 | 
			
		||||
		events = &session_events;
 | 
			
		||||
		client_version = PW_VERSION_SESSION_PROXY;
 | 
			
		||||
		client_version = PW_VERSION_SESSION;
 | 
			
		||||
		destroy = (pw_destroy_t) session_info_free;
 | 
			
		||||
		info_func = info_session;
 | 
			
		||||
		break;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue