Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0f1cad73 authored by Chris Manton's avatar Chris Manton Committed by Automerger Merge Worker
Browse files

Add explicit methods to enact contextual callback am: 5c8ab1b7 am: d762cb54

parents e2a9b1d4 d762cb54
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -40,6 +40,14 @@ class ContextualOnceCallback<R(Args...)> {
  ContextualOnceCallback(ContextualOnceCallback&&) noexcept = default;
  ContextualOnceCallback& operator=(ContextualOnceCallback&&) noexcept = default;

  void operator()(Args... args) {
    context_->Post(common::BindOnce(std::move(callback_), std::forward<Args>(args)...));
  }

  operator bool() const {
    return context_ && callback_;
  }

  void Invoke(Args... args) {
    context_->Post(common::BindOnce(std::move(callback_), std::forward<Args>(args)...));
  }
@@ -80,6 +88,14 @@ class ContextualCallback<R(Args...)> {
  ContextualCallback(ContextualCallback&&) noexcept = default;
  ContextualCallback& operator=(ContextualCallback&&) noexcept = default;

  void operator()(Args... args) {
    context_->Post(common::BindOnce(std::move(callback_), std::forward<Args>(args)...));
  }

  operator bool() const {
    return context_ && callback_;
  }

  void Invoke(Args... args) {
    context_->Post(common::BindOnce(callback_, std::forward<Args>(args)...));
  }