diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2024-07-18 12:55:38 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2024-07-18 12:55:38 -0400 |
commit | 35ee96709ef2704a2636a11c67d61190dd6bdd50 (patch) | |
tree | 6ebe53856900f0c6bef75e0de920cd0851fa81f0 /indra/cmake/Variables.cmake | |
parent | dbfab7c12c47a2300854eb4e53b0ee68e2ff6e5e (diff) |
Make `LLEventPump::listen()` also accept new `LLAwareListener`.
`listen()` still takes `LLEventListener`, a `callable(const LLSD&)`, but now
also accepts `LLAwareListener`, a `callable(const LLBoundListener&, const LLSD&)`.
This uses `boost::signals2::signal::connect_extended()`, which, when the
signal is called, passes to a connected listener the `LLBoundListener` (aka
`boost::signals2::connection`) representing its own connection. This allows a
listener to disconnect itself when done.
Internally, `listen_impl()` now always uses `connect_extended()`. When passed
a classic `LLEventListener`, `listen()` wraps it in a lambda that ignores the
passed `LLBoundListener`.
`listen()` also now accepts `LLVoidListener`, and internally wraps it in a lambda
that returns `false` on its behalf.
Diffstat (limited to 'indra/cmake/Variables.cmake')
0 files changed, 0 insertions, 0 deletions