Commit graph

704 commits

Author SHA1 Message Date
Wim Taymans
f724319e8a context: move core implementation to impl-core.h
Move the core implementation to a separate file. Make a default
core object in the context.

Pass impl-core to server. We now tie the server to a core. Also
keep track of the core that a client connected to.

Fill the properties that we usually use to connect in the context
and copy them when a connection is made.

Use "internal" as the remote name to connect to the default
internal core.
2019-12-12 16:34:01 +01:00
Wim Taymans
2a142edadb pw_impl_port_new -> pw_context_create_port 2019-12-11 18:07:03 +01:00
Wim Taymans
930b595724 pw_impl_node_new -> pw_context_create_node 2019-12-11 17:59:00 +01:00
Wim Taymans
6043a3f8c0 pw_impl_device_new -> pw_context_create_device 2019-12-11 17:56:24 +01:00
Wim Taymans
c3f6524120 pw_impl_link_new -> pw_context_create_link 2019-12-11 17:54:27 +01:00
Wim Taymans
e96bdc6bd9 pw_impl_client_new -> pw_context_create_client 2019-12-11 17:52:15 +01:00
Wim Taymans
310077438b pw_impl_factory_new -> pw_context_create_factory 2019-12-11 17:50:27 +01:00
Wim Taymans
73eea24443 impl-client: improve constructor
Pass the protocol in constructor
Keep the link in the server protocol list private to the prototol.
2019-12-11 17:19:12 +01:00
Wim Taymans
d99b1918ed small cleanups 2019-12-11 16:51:38 +01:00
Wim Taymans
3805d5dfa2 pw_endpoint_stream_proxy -> pw_endpoint_stream 2019-12-11 16:48:00 +01:00
Wim Taymans
9b53c65c72 pw_endpoint_proxy -> pw_endpoint 2019-12-11 16:43:53 +01:00
Wim Taymans
85103d128e pw_session_proxy -> pw_session 2019-12-11 16:39:24 +01:00
Wim Taymans
3c737cf39c pw_endpoint_link_proxy -> pw_endpoint_link 2019-12-11 16:36:12 +01:00
Wim Taymans
94ed9c8e38 pw_client_endpoint_proxy -> pw_client_endpoint
pw_client_session_proxy -> pw_client_session
2019-12-11 16:31:58 +01:00
Wim Taymans
743450a19f pw_client_node_proxy -> pw_client_node 2019-12-11 16:13:46 +01:00
Wim Taymans
c23006fcdb pw_port_proxy -> pw_port 2019-12-11 15:59:26 +01:00
Wim Taymans
beb3c69dfe pw_node_proxy -> pw_node 2019-12-11 15:26:11 +01:00
Wim Taymans
199fa47216 pw_module_proxy -> pw_module 2019-12-11 15:16:30 +01:00
Wim Taymans
e633e205c2 pw_link_proxy -> pw_link 2019-12-11 15:11:56 +01:00
Wim Taymans
114982f3f5 pw_factory_proxy -> pw_factory 2019-12-11 15:06:00 +01:00
Wim Taymans
f1eb5f6046 pw_device_proxy -> pw_device 2019-12-11 15:00:41 +01:00
Wim Taymans
a8f1d756c3 pw_client_proxy -> pw_client 2019-12-11 14:53:39 +01:00
Wim Taymans
aa378417c2 interfaces: move proxy API into their own header files 2019-12-11 14:44:59 +01:00
Wim Taymans
898e870997 pw_node -> pw_impl_node 2019-12-11 12:41:45 +01:00
Wim Taymans
f62d1cb357 pw_port -> pw_impl_port 2019-12-11 12:24:03 +01:00
Wim Taymans
b88741dbb9 pw_link -> pw_impl_link 2019-12-11 12:06:08 +01:00
Wim Taymans
443a49947e pw_module -> pw_impl_module 2019-12-11 11:57:56 +01:00
Wim Taymans
815d4a8d20 pw_factory -> pw_impl_factory 2019-12-11 11:45:27 +01:00
Wim Taymans
73900eea1b pw_device -> pw_impl_device 2019-12-11 11:34:02 +01:00
Wim Taymans
95688939bf pw_client -> pw_impl_client 2019-12-11 11:21:43 +01:00
Wim Taymans
d70a47b7fe move proxy implementations in their own file
Rearrange headers
2019-12-11 10:58:51 +01:00
Wim Taymans
49d736bbb7 pw_registry_proxy -> pw_registry 2019-12-11 09:44:48 +01:00
Wim Taymans
ecc6b27cd7 rename core_proxy -> core
Rename core_proxy to core and move the introspect and interface
contents to core.h

In an effort to promote the proxy API.
2019-12-11 07:46:59 +01:00
Wim Taymans
8ea78c2e3f pw_core -> pw_context
The proxy API is the one that we would like to expose for applications
and the other API is used internally when implementing modules or
factories.

The current pw_core object is really a context for all objects so
name it that way. It also makes it possible to rename pw_core_proxy
to pw_proxy later.
2019-12-10 18:19:56 +01:00
Wim Taymans
c0f5e8d967 protocol-native: always create a local server
Always create a local server without any socket. We can use this
to create clients that connect locally (in-process), such as
the cli or any app that wants to create a local pipeline.
2019-12-10 16:23:43 +01:00
Wim Taymans
468cbb8892 core-proxy: improve cleanup
Don't disconnect and destroy on errors, let the app do that.
Don't try to use a destroyed core-proxy.
2019-12-10 12:33:10 +01:00
Wim Taymans
2c492ff71f client-node: don't check format
Don't check if we got a Format param to be able to set buffers,
let the implementation decide on that.
2019-12-10 12:21:02 +01:00
Wim Taymans
5a2ad084e8 proxy: add pw_proxy_set_bound_id
Add method to set bound_id and emit the signal.

Rename resource_bound_id -> resource_set_bound_id and add
resource_get_bound_id.
2019-12-10 12:19:11 +01:00
Wim Taymans
6204c95ee3 remote-node: restore old activation after we unmap the server one 2019-12-06 22:56:35 +01:00
Wim Taymans
c990c73d62 support absolute paths 2019-12-06 17:54:05 +01:00
Wim Taymans
af605cdda2 use opaque types for proxies
This makes it easier to implement the proxies
2019-12-06 17:37:41 +01:00
Wim Taymans
ca6f1bd2f1 remote: remove the remote
Mostly rename pw_remote_* to pw_core_proxy_*
2019-12-06 13:40:23 +01:00
Wim Taymans
3d79970d88 remote: remove events and states 2019-12-06 12:03:45 +01:00
Wim Taymans
8a959ea7a1 core_proxy: prepare to rename pw_remote -> pw_core_proxy
The pw_remote object is really a wrapper around the pw_core_proxy.
The events it emits are also available in the core proxy and are
generally awkward to use.

With some clever new pw_core_proxy_* methods and a pw_core_connect
to create the core_proxy, we can convert all code away from pw_remote.

This is a first step in this conversion, using the pw_remote behind
the scenes. It leaks into some places because it really needs to become
its own struct in a next step.
2019-12-06 11:48:40 +01:00
Wim Taymans
0b2e4a18ff protocol-native: make the connection earlier
Make the connection as soon as we create the client. We create it
without file descriptor and then set it when we connect. This
makes it possible to use the connection to queue messages before
we connect.
2019-12-05 11:43:05 +01:00
Wim Taymans
8bb1ccf587 protocol-native: emit a core error on disconnect
Let the listeners on the core_proxy know about connection errors.
2019-12-05 11:32:51 +01:00
Wim Taymans
7594eabdc8 remote: pass core_proxy to export function
We want to remove the need for the pw_remote in most cases.
2019-12-05 11:15:04 +01:00
Wim Taymans
125fcb5660 session-manager: remove obsolte _set_id
media-session: Wait for devices to appear and be bound before setting
the profile on the device. Then wait for all the nodes to appear
before attempting the create endpoints on the device.
2019-11-29 13:34:09 +01:00
Wim Taymans
8e24e57db0 endpoint: handle NULL name and media_class 2019-11-29 13:34:09 +01:00
Wim Taymans
8335c50e1e session-manager: fix protocol 2019-11-29 13:34:09 +01:00