Skip to content
Snippets Groups Projects
  1. Feb 14, 2020
    • George Kiagiadakis's avatar
      registry: safely destroy proxy when its initial augment is still in progress · 813351bc
      George Kiagiadakis authored
      ... in case the global is removed from the registry before
      the initial augment completes
      813351bc
    • George Kiagiadakis's avatar
      registry: use a temporary globals list · 269b9e19
      George Kiagiadakis authored
      When a new global is created, it is not certain
      if the registry global event or the proxy bound event will
      be fired first. In order to make sure we associate all
      proxies to their WpGlobals correctly, we now wait a core sync
      before exposing globals to the object managers, so that in case
      the implementation proxy receives the bound event after the
      registry creates the WpGlobal, we can make sure to use this
      proxy instead of constructing a new one through the object managers
      269b9e19
    • George Kiagiadakis's avatar
      module-session: export session after the core is connected · 87cc64b4
      George Kiagiadakis authored
      wp_exported_export() used to do that internally, but it's cleaner
      to do it this way now
      87cc64b4
    • George Kiagiadakis's avatar
      object-manager: refactor to be able to track locally created proxies · 753e7085
      George Kiagiadakis authored
      There are 3 kinds of WpProxy objects:
       * the ones that are created as a result of binding a global
         from the registry
       * the ones that are created as a result of calling into a remote
         factory (wp_node_new_from_factory, etc...)
       * the ones that are a local implementation of an object
         (WpImplNode, etc...) and are exported
      
      Previously the object manager was only able to track the first kind.
      With these changes we can now also have globals associated with
      WpProxies that were created earlier (and caused the creation of the global).
      This saves some resources and reduces round-trips (in case client
      code wants to change properties of an object that is locally
      implemented, it shouldn't need to do a round-trip through the server)
      753e7085
  2. Feb 12, 2020
  3. Feb 11, 2020
    • George Kiagiadakis's avatar
      proxy/core: refactor object creation · 9330208a
      George Kiagiadakis authored
      * core no longer exposes create_remote/local_object
      * node, device & link have constructor methods
        to enable the create_remote_object functionality
      * added WpImplNode to wrap pw_impl_node and allow creating
        "local" node instances
      * added WpSpaDevice to wrap spa_device and allow creating
        "local" device instances
      * exporting objects in all cases now happens by requesting
        FEATURE_BOUND from the proxy, eliminating the need for WpExported
      * replaced WpMonitor by new, simpler code directly in module-monitor
      * the proxy type lookup table in WpProxy is gone, we now
        use a field on the class structure of every WpProxy subclass
        and iterate through all the class structures instead; this is
        more flexible and extensible
      9330208a
  4. Feb 10, 2020
    • George Kiagiadakis's avatar
      proxy: replace global-id with bound-id · d8ae151a
      George Kiagiadakis authored
      + use the pw_proxy API to find the bound id instead
      of relying on WpGlobal
      
      This has the advantage that it works also for exported
      objects and for objects that have been created by calling
      into a remote factory (such as the link-factory), so we can
      now know the global id of all proxies, not only the ones
      that have been created by the registry.
      d8ae151a
  5. Jan 22, 2020
  6. Jan 16, 2020
  7. Jan 14, 2020
  8. Jan 13, 2020
  9. Jan 10, 2020
  10. Jan 09, 2020
  11. Jan 08, 2020
  12. Jan 07, 2020
  13. Dec 27, 2019
  14. Dec 23, 2019
  15. Dec 19, 2019
  16. Dec 18, 2019
Loading