Index: base/callback_old.h |
diff --git a/base/callback_old.h b/base/callback_old.h |
index ab3927df00dc98f477a14dbf1222b67c09922008..75a062a4aa3a0a1c7dd7c3d1ca8fefd015edb52a 100644 |
--- a/base/callback_old.h |
+++ b/base/callback_old.h |
@@ -200,6 +200,22 @@ typename Callback5<Arg1, Arg2, Arg3, Arg4, Arg5>::Type* NewCallback( |
Tuple5<Arg1, Arg2, Arg3, Arg4, Arg5> >(object, method); |
} |
+// 6-arg implementation |
+template <typename Arg1, typename Arg2, typename Arg3, |
+ typename Arg4, typename Arg5, typename Arg6> |
+struct Callback6 { |
+ typedef CallbackRunner<Tuple6<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6> > Type; |
+}; |
+ |
+template <class T, typename Arg1, typename Arg2, typename Arg3, |
+ typename Arg4, typename Arg5, typename Arg6> |
+typename Callback6<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6>::Type* NewCallback( |
+ T* object, |
+ void (T::*method)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6)) { |
+ return new CallbackImpl<T, void (T::*)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6), |
+ Tuple6<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6> >(object, method); |
+} |
+ |
// An UnboundMethod is a wrapper for a method where the actual object is |
// provided at Run dispatch time. |
template <class T, class Method, class Params> |