Delete FunctorMessageHandler, in tests use alternative ways to post functors
Bug: None
Change-Id: I22c7623300c2370269651b67a919a3c4a2ff3926
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161080
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29969}
diff --git a/rtc_base/message_handler.h b/rtc_base/message_handler.h
index 9836594..85cb785 100644
--- a/rtc_base/message_handler.h
+++ b/rtc_base/message_handler.h
@@ -13,6 +13,7 @@
#include <utility>
+#include "api/function_view.h"
#include "rtc_base/constructor_magic.h"
#include "rtc_base/system/rtc_export.h"
@@ -21,7 +22,6 @@
struct Message;
// Messages get dispatched to a MessageHandler
-
class RTC_EXPORT MessageHandler {
public:
virtual ~MessageHandler();
@@ -34,38 +34,6 @@
RTC_DISALLOW_COPY_AND_ASSIGN(MessageHandler);
};
-// Helper class to facilitate executing a functor on a thread.
-template <class ReturnT, class FunctorT>
-class FunctorMessageHandler : public MessageHandler {
- public:
- explicit FunctorMessageHandler(FunctorT&& functor)
- : functor_(std::forward<FunctorT>(functor)) {}
- virtual void OnMessage(Message* msg) { result_ = functor_(); }
- const ReturnT& result() const { return result_; }
-
- // Returns moved result. Should not call result() or MoveResult() again
- // after this.
- ReturnT MoveResult() { return std::move(result_); }
-
- private:
- FunctorT functor_;
- ReturnT result_;
-};
-
-// Specialization for ReturnT of void.
-template <class FunctorT>
-class FunctorMessageHandler<void, FunctorT> : public MessageHandler {
- public:
- explicit FunctorMessageHandler(FunctorT&& functor)
- : functor_(std::forward<FunctorT>(functor)) {}
- virtual void OnMessage(Message* msg) { functor_(); }
- void result() const {}
- void MoveResult() {}
-
- private:
- FunctorT functor_;
-};
-
} // namespace rtc
#endif // RTC_BASE_MESSAGE_HANDLER_H_