Index: ipc/ipc_message_utils.h |
diff --git a/ipc/ipc_message_utils.h b/ipc/ipc_message_utils.h |
index 24b38af68ee18c92b0829f7309d712658acd2c08..c704c5fc45c0db369396ad4c42aa303d54aca455 100644 |
--- a/ipc/ipc_message_utils.h |
+++ b/ipc/ipc_message_utils.h |
@@ -639,8 +639,38 @@ struct ParamTraits< Tuple5<A, B, C, D, E> > { |
} |
}; |
-template<class P> |
-struct ParamTraits<ScopedVector<P> > { |
+template <class A, class B, class C, class D, class E, class F> |
+struct ParamTraits<Tuple6<A, B, C, D, E, F> > { |
+ typedef Tuple6<A, B, C, D, E, F> param_type; |
+ static void Write(Message* m, const param_type& p) { |
+ WriteParam(m, p.a); |
+ WriteParam(m, p.b); |
+ WriteParam(m, p.c); |
+ WriteParam(m, p.d); |
+ WriteParam(m, p.e); |
+ WriteParam(m, p.f); |
+ } |
+ static bool Read(const Message* m, PickleIterator* iter, param_type* r) { |
+ return (ReadParam(m, iter, &r->a) && ReadParam(m, iter, &r->b) && |
+ ReadParam(m, iter, &r->c) && ReadParam(m, iter, &r->d) && |
+ ReadParam(m, iter, &r->e) && ReadParam(m, iter, &r->f)); |
+ } |
+ static void Log(const param_type& p, std::string* l) { |
+ LogParam(p.a, l); |
+ l->append(", "); |
+ LogParam(p.b, l); |
+ l->append(", "); |
+ LogParam(p.c, l); |
+ l->append(", "); |
+ LogParam(p.d, l); |
+ l->append(", "); |
+ LogParam(p.e, l); |
+ l->append(", "); |
+ LogParam(p.f, l); |
+ } |
+}; |
+ |
+template <class P> struct ParamTraits<ScopedVector<P> > { |
typedef ScopedVector<P> param_type; |
static void Write(Message* m, const param_type& p) { |
WriteParam(m, static_cast<int>(p.size())); |
@@ -880,6 +910,18 @@ class SyncMessageSchema { |
ReplyParam p(a, b, c, d, e); |
WriteParam(reply, p); |
} |
+ |
+ template <typename TA, |
+ typename TB, |
+ typename TC, |
+ typename TD, |
+ typename TE, |
+ typename TF> |
+ static void |
+ WriteReplyParams(Message* reply, TA a, TB b, TC c, TD d, TE e, TF f) { |
+ ReplyParam p(a, b, c, d, e, f); |
+ WriteParam(reply, p); |
+ } |
}; |
} // namespace IPC |