Index: webrtc/api/proxy.h |
diff --git a/webrtc/api/proxy.h b/webrtc/api/proxy.h |
index 51cdd296cf586563a571ecf3c1c723cd7f2e1a73..16c07c11a3f6e5b4ea7cc8d73b8cf698723d651c 100644 |
--- a/webrtc/api/proxy.h |
+++ b/webrtc/api/proxy.h |
@@ -432,16 +432,16 @@ class MethodCall5 : public rtc::Message, |
worker_thread, c); \ |
} |
-#define BEGIN_OWNED_PROXY_MAP(c) \ |
- PROXY_MAP_BOILERPLATE(c) \ |
- WORKER_PROXY_MAP_BOILERPLATE(c) \ |
- OWNED_PROXY_MAP_BOILERPLATE(c) \ |
- public: \ |
- static std::unique_ptr<c##ProxyWithInternal> Create( \ |
- rtc::Thread* signaling_thread, rtc::Thread* worker_thread, \ |
- INTERNAL_CLASS* c) { \ |
- return std::unique_ptr<c##ProxyWithInternal>( \ |
- new c##ProxyWithInternal(signaling_thread, worker_thread, c)); \ |
+#define BEGIN_OWNED_PROXY_MAP(c) \ |
+ PROXY_MAP_BOILERPLATE(c) \ |
+ WORKER_PROXY_MAP_BOILERPLATE(c) \ |
+ OWNED_PROXY_MAP_BOILERPLATE(c) \ |
+ public: \ |
+ static std::unique_ptr<c##Interface> Create(rtc::Thread* signaling_thread, \ |
+ rtc::Thread* worker_thread, \ |
+ INTERNAL_CLASS* c) { \ |
+ return std::unique_ptr<c##Interface>( \ |
+ new c##ProxyWithInternal(signaling_thread, worker_thread, c)); \ |
} |
#define PROXY_SIGNALING_THREAD_DESTRUCTOR() \ |
@@ -549,6 +549,20 @@ class MethodCall5 : public rtc::Message, |
return call.Marshal(RTC_FROM_HERE, worker_thread_); \ |
} |
+#define PROXY_WORKER_METHOD3(r, method, t1, t2, t3) \ |
+ r method(t1 a1, t2 a2, t3 a3) override { \ |
+ MethodCall3<C, r, t1, t2, t3> call(c_.get(), &C::method, std::move(a1), \ |
+ std::move(a2), std::move(a3)); \ |
+ return call.Marshal(RTC_FROM_HERE, worker_thread_); \ |
+ } |
+ |
+#define PROXY_WORKER_CONSTMETHOD3(r, method, t1, t2) \ |
+ r method(t1 a1, t2 a2, t3 a3) const override { \ |
+ ConstMethodCall3<C, r, t1, t2, t3> call( \ |
+ c_.get(), &C::method, std::move(a1), std::move(a2), std::move(a3)); \ |
+ return call.Marshal(RTC_FROM_HERE, worker_thread_); \ |
+ } |
+ |
#define END_PROXY_MAP() \ |
} \ |
; |