| Index: ipc/ipc_message_macros.h
|
| diff --git a/ipc/ipc_message_macros.h b/ipc/ipc_message_macros.h
|
| index c4e250cf9e6c9ac6839a2bc41eb3c44c3c5c95a4..f129f073fdd264211c83fb658d140f678f8d5062 100644
|
| --- a/ipc/ipc_message_macros.h
|
| +++ b/ipc/ipc_message_macros.h
|
| @@ -240,6 +240,9 @@
|
| #define IPC_MESSAGE_CONTROL5(msg_class, type1, type2, type3, type4, type5) \
|
| IPC_MESSAGE_DECL(ASYNC, CONTROL, msg_class, 5, 0, (type1, type2, type3, type4, type5), ())
|
|
|
| +#define IPC_MESSAGE_CONTROL6(msg_class, type1, type2, type3, type4, type5, type6) \
|
| + IPC_MESSAGE_DECL(ASYNC, CONTROL, msg_class, 6, 0, (type1, type2, type3, type4, type5, type6), ())
|
| +
|
| #define IPC_MESSAGE_ROUTED0(msg_class) \
|
| IPC_MESSAGE_DECL(EMPTY, ROUTED, msg_class, 0, 0, (), ())
|
|
|
| @@ -549,6 +552,35 @@
|
| *e = p.e; \
|
| return true; \
|
| }
|
| +#define IPC_ASYNC_MESSAGE_METHODS_6 \
|
| + IPC_ASYNC_MESSAGE_METHODS_GENERIC \
|
| + template<class T, class S, typename TA, typename TB, typename TC, \
|
| + typename TD, typename TE, typename TF> \
|
| + static bool Dispatch(const Message* msg, T* obj, S* sender, \
|
| + void (T::*func)( \
|
| + const Message&, TA, TB, TC, TD, TE, TF)) { \
|
| + Schema::Param p; \
|
| + if (Read(msg, &p)) { \
|
| + (obj->*func)(*msg, p.a, p.b, p.c, p.d, p.e, p.f); \
|
| + return true; \
|
| + } \
|
| + return false; \
|
| + } \
|
| + template<typename TA, typename TB, typename TC, typename TD, typename TE, \
|
| + typename TF> \
|
| + static bool Read(const IPC::Message* msg, TA* a, TB* b, TC* c, TD* d, \
|
| + TE* e, TF* f) { \
|
| + Schema::Param p; \
|
| + if (!Read(msg, &p)) \
|
| + return false; \
|
| + *a = p.a; \
|
| + *b = p.b; \
|
| + *c = p.c; \
|
| + *d = p.d; \
|
| + *e = p.e; \
|
| + *f = p.f; \
|
| + return true; \
|
| + }
|
|
|
| // The following macros define the common set of methods provided by SYNC
|
| // message classes.
|
| @@ -845,6 +877,7 @@
|
| #define IPC_TYPE_IN_3(t1, t2, t3) const t1& arg1, const t2& arg2, const t3& arg3
|
| #define IPC_TYPE_IN_4(t1, t2, t3, t4) const t1& arg1, const t2& arg2, const t3& arg3, const t4& arg4
|
| #define IPC_TYPE_IN_5(t1, t2, t3, t4, t5) const t1& arg1, const t2& arg2, const t3& arg3, const t4& arg4, const t5& arg5
|
| +#define IPC_TYPE_IN_6(t1, t2, t3, t4, t5, t6) const t1& arg1, const t2& arg2, const t3& arg3, const t4& arg4, const t5& arg5, const t6& arg6
|
|
|
| #define IPC_TYPE_OUT_0()
|
| #define IPC_TYPE_OUT_1(t1) t1* arg6
|
| @@ -852,25 +885,27 @@
|
| #define IPC_TYPE_OUT_3(t1, t2, t3) t1* arg6, t2* arg7, t3* arg8
|
| #define IPC_TYPE_OUT_4(t1, t2, t3, t4) t1* arg6, t2* arg7, t3* arg8, t4* arg9
|
|
|
| -#define IPC_TUPLE_IN_0() Tuple0
|
| -#define IPC_TUPLE_IN_1(t1) Tuple1<t1>
|
| -#define IPC_TUPLE_IN_2(t1, t2) Tuple2<t1, t2>
|
| -#define IPC_TUPLE_IN_3(t1, t2, t3) Tuple3<t1, t2, t3>
|
| -#define IPC_TUPLE_IN_4(t1, t2, t3, t4) Tuple4<t1, t2, t3, t4>
|
| -#define IPC_TUPLE_IN_5(t1, t2, t3, t4, t5) Tuple5<t1, t2, t3, t4, t5>
|
| -
|
| -#define IPC_TUPLE_OUT_0() Tuple0
|
| -#define IPC_TUPLE_OUT_1(t1) Tuple1<t1&>
|
| -#define IPC_TUPLE_OUT_2(t1, t2) Tuple2<t1&, t2&>
|
| -#define IPC_TUPLE_OUT_3(t1, t2, t3) Tuple3<t1&, t2&, t3&>
|
| -#define IPC_TUPLE_OUT_4(t1, t2, t3, t4) Tuple4<t1&, t2&, t3&, t4&>
|
| -
|
| -#define IPC_NAME_IN_0() MakeTuple()
|
| -#define IPC_NAME_IN_1(t1) MakeRefTuple(arg1)
|
| -#define IPC_NAME_IN_2(t1, t2) MakeRefTuple(arg1, arg2)
|
| -#define IPC_NAME_IN_3(t1, t2, t3) MakeRefTuple(arg1, arg2, arg3)
|
| -#define IPC_NAME_IN_4(t1, t2, t3, t4) MakeRefTuple(arg1, arg2, arg3, arg4)
|
| -#define IPC_NAME_IN_5(t1, t2, t3, t4, t5) MakeRefTuple(arg1, arg2, arg3, arg4, arg5)
|
| +#define IPC_TUPLE_IN_0() Tuple0
|
| +#define IPC_TUPLE_IN_1(t1) Tuple1<t1>
|
| +#define IPC_TUPLE_IN_2(t1, t2) Tuple2<t1, t2>
|
| +#define IPC_TUPLE_IN_3(t1, t2, t3) Tuple3<t1, t2, t3>
|
| +#define IPC_TUPLE_IN_4(t1, t2, t3, t4) Tuple4<t1, t2, t3, t4>
|
| +#define IPC_TUPLE_IN_5(t1, t2, t3, t4, t5) Tuple5<t1, t2, t3, t4, t5>
|
| +#define IPC_TUPLE_IN_6(t1, t2, t3, t4, t5, t6) Tuple6<t1, t2, t3, t4, t5, t6>
|
| +
|
| +#define IPC_TUPLE_OUT_0() Tuple0
|
| +#define IPC_TUPLE_OUT_1(t1) Tuple1<t1&>
|
| +#define IPC_TUPLE_OUT_2(t1, t2) Tuple2<t1&, t2&>
|
| +#define IPC_TUPLE_OUT_3(t1, t2, t3) Tuple3<t1&, t2&, t3&>
|
| +#define IPC_TUPLE_OUT_4(t1, t2, t3, t4) Tuple4<t1&, t2&, t3&, t4&>
|
| +
|
| +#define IPC_NAME_IN_0() MakeTuple()
|
| +#define IPC_NAME_IN_1(t1) MakeRefTuple(arg1)
|
| +#define IPC_NAME_IN_2(t1, t2) MakeRefTuple(arg1, arg2)
|
| +#define IPC_NAME_IN_3(t1, t2, t3) MakeRefTuple(arg1, arg2, arg3)
|
| +#define IPC_NAME_IN_4(t1, t2, t3, t4) MakeRefTuple(arg1, arg2, arg3, arg4)
|
| +#define IPC_NAME_IN_5(t1, t2, t3, t4, t5) MakeRefTuple(arg1, arg2, arg3, arg4, arg5)
|
| +#define IPC_NAME_IN_6(t1, t2, t3, t4, t5, t6) MakeRefTuple(arg1, arg2, arg3, arg4, arg5, arg6)
|
|
|
| #define IPC_NAME_OUT_0() MakeTuple()
|
| #define IPC_NAME_OUT_1(t1) MakeRefTuple(*arg6)
|
|
|