pw-object-mixin: refactor, implement param caching and features for impl objects
Now the WpPipewireObject interface is directly implemented by the mixin and there is another interface that users of the mixin must implement in order for the mixin to work proprely. A lot of manual stuff that proxy classes had to do before are now in the mixin. Also most of the data that would normally reside in Private structures is now in the mixin data structure (stored as qdata on the object). This is achieving the best amount of code reuse so far. For impl objects (WpImpl*) there are also default implementations of the standard pipewire object methods and the INFO & PARAM_* features are more coherently enabled during the whole lifetime of these objects.
Showing
- lib/wp/client.c 27 additions, 70 deletionslib/wp/client.c
- lib/wp/device.c 46 additions, 90 deletionslib/wp/device.c
- lib/wp/endpoint-link.c 225 additions, 319 deletionslib/wp/endpoint-link.c
- lib/wp/endpoint-stream.c 265 additions, 297 deletionslib/wp/endpoint-stream.c
- lib/wp/endpoint.c 297 additions, 312 deletionslib/wp/endpoint.c
- lib/wp/global-proxy.c 2 additions, 0 deletionslib/wp/global-proxy.c
- lib/wp/link.c 36 additions, 75 deletionslib/wp/link.c
- lib/wp/node.c 75 additions, 108 deletionslib/wp/node.c
- lib/wp/port.c 42 additions, 89 deletionslib/wp/port.c
- lib/wp/private/pipewire-object-mixin.c 834 additions, 134 deletionslib/wp/private/pipewire-object-mixin.c
- lib/wp/private/pipewire-object-mixin.h 179 additions, 93 deletionslib/wp/private/pipewire-object-mixin.h
- lib/wp/proxy-interfaces.c 29 additions, 11 deletionslib/wp/proxy-interfaces.c
- lib/wp/proxy-interfaces.h 9 additions, 9 deletionslib/wp/proxy-interfaces.h
- lib/wp/session.c 114 additions, 228 deletionslib/wp/session.c
- modules/module-dbus-reservation/reserve-device.c 1 addition, 1 deletionmodules/module-dbus-reservation/reserve-device.c
- modules/module-device-activation.c 1 addition, 1 deletionmodules/module-device-activation.c
- modules/module-si-adapter.c 2 additions, 2 deletionsmodules/module-si-adapter.c
- modules/module-si-bluez5-endpoint.c 2 additions, 1 deletionmodules/module-si-bluez5-endpoint.c
- modules/module-si-convert.c 14 additions, 16 deletionsmodules/module-si-convert.c
Loading
Please register or sign in to comment