| Index: ipc/ipc_message_utils.h
|
| ===================================================================
|
| --- ipc/ipc_message_utils.h (revision 69724)
|
| +++ ipc/ipc_message_utils.h (working copy)
|
| @@ -921,8 +921,8 @@
|
| static bool Read(const Message* msg, Param* p) IPC_MSG_NOINLINE;
|
|
|
| // Generic dispatcher. Should cover most cases.
|
| - template<class T, class Method>
|
| - static bool Dispatch(const Message* msg, T* obj, Method func) {
|
| + template<class T, class S, class Method>
|
| + static bool Dispatch(const Message* msg, T* obj, S* sender, Method func) {
|
| Param p;
|
| if (Read(msg, &p)) {
|
| DispatchToMethod(obj, func, p);
|
| @@ -934,8 +934,8 @@
|
| // The following dispatchers exist for the case where the callback function
|
| // needs the message as well. They assume that "Param" is a type of Tuple
|
| // (except the one arg case, as there is no Tuple1).
|
| - template<class T, typename TA>
|
| - static bool Dispatch(const Message* msg, T* obj,
|
| + template<class T, class S, typename TA>
|
| + static bool Dispatch(const Message* msg, T* obj, S* sender,
|
| void (T::*func)(const Message&, TA)) {
|
| Param p;
|
| if (Read(msg, &p)) {
|
| @@ -945,8 +945,8 @@
|
| return false;
|
| }
|
|
|
| - template<class T, typename TA, typename TB>
|
| - static bool Dispatch(const Message* msg, T* obj,
|
| + template<class T, class S, typename TA, typename TB>
|
| + static bool Dispatch(const Message* msg, T* obj, S* sender,
|
| void (T::*func)(const Message&, TA, TB)) {
|
| Param p;
|
| if (Read(msg, &p)) {
|
| @@ -956,8 +956,8 @@
|
| return false;
|
| }
|
|
|
| - template<class T, typename TA, typename TB, typename TC>
|
| - static bool Dispatch(const Message* msg, T* obj,
|
| + template<class T, class S, typename TA, typename TB, typename TC>
|
| + static bool Dispatch(const Message* msg, T* obj, S* sender,
|
| void (T::*func)(const Message&, TA, TB, TC)) {
|
| Param p;
|
| if (Read(msg, &p)) {
|
| @@ -967,8 +967,8 @@
|
| return false;
|
| }
|
|
|
| - template<class T, typename TA, typename TB, typename TC, typename TD>
|
| - static bool Dispatch(const Message* msg, T* obj,
|
| + template<class T, class S, typename TA, typename TB, typename TC, typename TD>
|
| + static bool Dispatch(const Message* msg, T* obj, S* sender,
|
| void (T::*func)(const Message&, TA, TB, TC, TD)) {
|
| Param p;
|
| if (Read(msg, &p)) {
|
| @@ -978,9 +978,9 @@
|
| return false;
|
| }
|
|
|
| - template<class T, typename TA, typename TB, typename TC, typename TD,
|
| + template<class T, class S, typename TA, typename TB, typename TC, typename TD,
|
| typename TE>
|
| - static bool Dispatch(const Message* msg, T* obj,
|
| + static bool Dispatch(const Message* msg, T* obj, S* sender,
|
| void (T::*func)(const Message&, TA, TB, TC, TD, TE)) {
|
| Param p;
|
| if (Read(msg, &p)) {
|
| @@ -1114,8 +1114,8 @@
|
| const Message* msg,
|
| typename TupleTypes<ReplyParam>::ValueTuple* p) IPC_MSG_NOINLINE;
|
|
|
| - template<class T, class Method>
|
| - static bool Dispatch(const Message* msg, T* obj, Method func) {
|
| + template<class T, class S, class Method>
|
| + static bool Dispatch(const Message* msg, T* obj, S* sender, Method func) {
|
| SendParam send_params;
|
| Message* reply = GenerateReply(msg);
|
| bool error;
|
| @@ -1131,7 +1131,7 @@
|
| error = true;
|
| }
|
|
|
| - obj->Send(reply);
|
| + sender->Send(reply);
|
| return !error;
|
| }
|
|
|
|
|