| Index: webrtc/api/proxy.h
|
| diff --git a/webrtc/api/proxy.h b/webrtc/api/proxy.h
|
| index b5a8071bcfbbcdddf21e459a22802c7a88498e8c..5d92db09765b7a7ad523ed5f038c9184520d403e 100644
|
| --- a/webrtc/api/proxy.h
|
| +++ b/webrtc/api/proxy.h
|
| @@ -18,7 +18,7 @@
|
| // public:
|
| // std::string FooA() = 0;
|
| // std::string FooB(bool arg1) const = 0;
|
| -// std::string FooC(bool arg1)= 0;
|
| +// std::string FooC(bool arg1) = 0;
|
| // };
|
| //
|
| // Note that return types can not be a const reference.
|
| @@ -30,10 +30,19 @@
|
| // BEGIN_PROXY_MAP(Test)
|
| // PROXY_METHOD0(std::string, FooA)
|
| // PROXY_CONSTMETHOD1(std::string, FooB, arg1)
|
| -// PROXY_METHOD1(std::string, FooC, arg1)
|
| +// PROXY_WORKER_METHOD1(std::string, FooC, arg1)
|
| // END_PROXY()
|
| //
|
| -// The proxy can be created using TestProxy::Create(Thread*, TestInterface*).
|
| +// where the first two methods are invoked on the signalling thread,
|
| +// and the third is invoked on the worker thread.
|
| +//
|
| +// The proxy can be created using
|
| +//
|
| +// TestProxy::Create(Thread* signalling_thread, Thread* worker_thread,
|
| +// TestInterface*).
|
| +//
|
| +// The variant defined with BEGIN_SIGNALLING_PROXY_MAP is unaware of
|
| +// the worker thread, and invokes all methods on the signalling thread.
|
|
|
| #ifndef WEBRTC_API_PROXY_H_
|
| #define WEBRTC_API_PROXY_H_
|
| @@ -295,26 +304,25 @@ class MethodCall5 : public rtc::Message,
|
| T5 a5_;
|
| };
|
|
|
| -// TODO(nisse): Rename this to {BEGIN|END}_SIGNALLING_PROXY_MAP, and
|
| -// the below to {BEGIN|END}_PROXY_MAP. Also rename the class to
|
| -// c##SignallingProxy.
|
| -#define BEGIN_PROXY_MAP(c) \
|
| +#define BEGIN_SIGNALLING_PROXY_MAP(c) \
|
| class c##Proxy : public c##Interface { \
|
| protected: \
|
| typedef c##Interface C; \
|
| c##Proxy(rtc::Thread* signaling_thread, C* c) \
|
| : signaling_thread_(signaling_thread), c_(c) {} \
|
| ~c##Proxy() { \
|
| - MethodCall0<c##Proxy, void> call(this, &c##Proxy::Release_s); \
|
| + MethodCall0<c##Proxy, void> call( \
|
| + this, &c##Proxy::Release_s); \
|
| call.Marshal(signaling_thread_); \
|
| } \
|
| \
|
| public: \
|
| static rtc::scoped_refptr<C> Create(rtc::Thread* signaling_thread, C* c) { \
|
| - return new rtc::RefCountedObject<c##Proxy>(signaling_thread, c); \
|
| + return new rtc::RefCountedObject<c##Proxy>( \
|
| + signaling_thread, c); \
|
| }
|
|
|
| -#define BEGIN_WORKER_PROXY_MAP(c) \
|
| +#define BEGIN_PROXY_MAP(c) \
|
| class c##Proxy : public c##Interface { \
|
| protected: \
|
| typedef c##Interface C; \
|
| @@ -397,16 +405,16 @@ class MethodCall5 : public rtc::Message,
|
| return call.Marshal(worker_thread_); \
|
| }
|
|
|
| -#define END_PROXY() \
|
| +#define END_SIGNALLING_PROXY() \
|
| private:\
|
| void Release_s() {\
|
| c_ = NULL;\
|
| }\
|
| mutable rtc::Thread* signaling_thread_;\
|
| rtc::scoped_refptr<C> c_;\
|
| - };\
|
| + };
|
|
|
| -#define END_WORKER_PROXY() \
|
| +#define END_PROXY() \
|
| private: \
|
| void Release_s() { \
|
| c_ = NULL; \
|
|
|