Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • W wireplumber
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 155
    • Issues 155
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 10
    • Merge requests 10
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.

  • PipeWirePipeWire
  • wireplumber
  • Merge requests
  • !68

Api improvements

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged George Kiagiadakis requested to merge gkiagia/wireplumber:api-improvements into master Feb 14, 2020
  • Overview 11
  • Commits 14
  • Pipelines 2
  • Changes 28
  • Refactor WpSession and WpEndpoint to use the proxy model without WpExported
  • remove WpExported
  • refactor object manager and the whole code around registry handling, so that locally created proxies are associated with globals. This means that when you create a WpProxy subclass somewhere in the code, let's say
WpNode *node = wp_node_new_from_factory (...);
wp_proxy_augment (node, WP_PROXY_FEATURE_BOUND, ...);

then all object managers that are interested in a WpNode will receive a pointer to that same WpNode instead of receiving another one that gets created through the registry "global" event.

The same happens with implementation proxies... so some code is doing:

WpImplNode *node = wp_impl_node_new (...);
wp_proxy_augment (node, WP_PROXY_FEATURE_BOUND, ...);

then all object managers that are interested in a WpNode will receive a pointer to that WpImplNode. This avoids doing round-trips through the server and allows client code to handle the implementation object directly as if it was a proxy to a remote object.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: api-improvements