xref: /aosp_15_r20/external/libchrome/base/test/mock_callback.h (revision 635a864187cb8b6c713ff48b7e790a6b21769273)
1*635a8641SAndroid Build Coastguard Worker // This file was GENERATED by command:
2*635a8641SAndroid Build Coastguard Worker //     pump.py mock_callback.h.pump
3*635a8641SAndroid Build Coastguard Worker // DO NOT EDIT BY HAND!!!
4*635a8641SAndroid Build Coastguard Worker 
5*635a8641SAndroid Build Coastguard Worker // Copyright 2017 The Chromium Authors. All rights reserved.
6*635a8641SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
7*635a8641SAndroid Build Coastguard Worker // found in the LICENSE file.
8*635a8641SAndroid Build Coastguard Worker 
9*635a8641SAndroid Build Coastguard Worker // Analogous to GMock's built-in MockFunction, but for base::Callback instead of
10*635a8641SAndroid Build Coastguard Worker // std::function. It takes the full callback type as a parameter, so that it can
11*635a8641SAndroid Build Coastguard Worker // support both OnceCallback and RepeatingCallback.
12*635a8641SAndroid Build Coastguard Worker //
13*635a8641SAndroid Build Coastguard Worker // Use:
14*635a8641SAndroid Build Coastguard Worker //   using FooCallback = base::Callback<int(std::string)>;
15*635a8641SAndroid Build Coastguard Worker //
16*635a8641SAndroid Build Coastguard Worker //   TEST(FooTest, RunsCallbackWithBarArgument) {
17*635a8641SAndroid Build Coastguard Worker //     base::MockCallback<FooCallback> callback;
18*635a8641SAndroid Build Coastguard Worker //     EXPECT_CALL(callback, Run("bar")).WillOnce(Return(1));
19*635a8641SAndroid Build Coastguard Worker //     Foo(callback.Get());
20*635a8641SAndroid Build Coastguard Worker //   }
21*635a8641SAndroid Build Coastguard Worker //
22*635a8641SAndroid Build Coastguard Worker // Can be used with StrictMock and NiceMock. Caller must ensure that it outlives
23*635a8641SAndroid Build Coastguard Worker // any base::Callback obtained from it.
24*635a8641SAndroid Build Coastguard Worker 
25*635a8641SAndroid Build Coastguard Worker #ifndef BASE_TEST_MOCK_CALLBACK_H_
26*635a8641SAndroid Build Coastguard Worker #define BASE_TEST_MOCK_CALLBACK_H_
27*635a8641SAndroid Build Coastguard Worker 
28*635a8641SAndroid Build Coastguard Worker #include "base/bind.h"
29*635a8641SAndroid Build Coastguard Worker #include "base/callback.h"
30*635a8641SAndroid Build Coastguard Worker #include "base/macros.h"
31*635a8641SAndroid Build Coastguard Worker #include "testing/gmock/include/gmock/gmock.h"
32*635a8641SAndroid Build Coastguard Worker 
33*635a8641SAndroid Build Coastguard Worker namespace base {
34*635a8641SAndroid Build Coastguard Worker 
35*635a8641SAndroid Build Coastguard Worker // clang-format off
36*635a8641SAndroid Build Coastguard Worker 
37*635a8641SAndroid Build Coastguard Worker template <typename F>
38*635a8641SAndroid Build Coastguard Worker class MockCallback;
39*635a8641SAndroid Build Coastguard Worker 
40*635a8641SAndroid Build Coastguard Worker template <typename R>
41*635a8641SAndroid Build Coastguard Worker class MockCallback<Callback<R()>> {
42*635a8641SAndroid Build Coastguard Worker  public:
43*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
44*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD0_T(Run, R());
45*635a8641SAndroid Build Coastguard Worker 
Get()46*635a8641SAndroid Build Coastguard Worker   Callback<R()> Get() {
47*635a8641SAndroid Build Coastguard Worker     return Bind(&MockCallback::Run, Unretained(this));
48*635a8641SAndroid Build Coastguard Worker   }
49*635a8641SAndroid Build Coastguard Worker 
50*635a8641SAndroid Build Coastguard Worker  private:
51*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
52*635a8641SAndroid Build Coastguard Worker };
53*635a8641SAndroid Build Coastguard Worker 
54*635a8641SAndroid Build Coastguard Worker template <typename R>
55*635a8641SAndroid Build Coastguard Worker class MockCallback<OnceCallback<R()>> {
56*635a8641SAndroid Build Coastguard Worker  public:
57*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
58*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD0_T(Run, R());
59*635a8641SAndroid Build Coastguard Worker 
Get()60*635a8641SAndroid Build Coastguard Worker   OnceCallback<R()> Get() {
61*635a8641SAndroid Build Coastguard Worker     return BindOnce(&MockCallback::Run, Unretained(this));
62*635a8641SAndroid Build Coastguard Worker   }
63*635a8641SAndroid Build Coastguard Worker 
64*635a8641SAndroid Build Coastguard Worker  private:
65*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
66*635a8641SAndroid Build Coastguard Worker };
67*635a8641SAndroid Build Coastguard Worker 
68*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1>
69*635a8641SAndroid Build Coastguard Worker class MockCallback<Callback<R(A1)>> {
70*635a8641SAndroid Build Coastguard Worker  public:
71*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
72*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD1_T(Run, R(A1));
73*635a8641SAndroid Build Coastguard Worker 
Get()74*635a8641SAndroid Build Coastguard Worker   Callback<R(A1)> Get() {
75*635a8641SAndroid Build Coastguard Worker     return Bind(&MockCallback::Run, Unretained(this));
76*635a8641SAndroid Build Coastguard Worker   }
77*635a8641SAndroid Build Coastguard Worker 
78*635a8641SAndroid Build Coastguard Worker  private:
79*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
80*635a8641SAndroid Build Coastguard Worker };
81*635a8641SAndroid Build Coastguard Worker 
82*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1>
83*635a8641SAndroid Build Coastguard Worker class MockCallback<OnceCallback<R(A1)>> {
84*635a8641SAndroid Build Coastguard Worker  public:
85*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
86*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD1_T(Run, R(A1));
87*635a8641SAndroid Build Coastguard Worker 
Get()88*635a8641SAndroid Build Coastguard Worker   OnceCallback<R(A1)> Get() {
89*635a8641SAndroid Build Coastguard Worker     return BindOnce(&MockCallback::Run, Unretained(this));
90*635a8641SAndroid Build Coastguard Worker   }
91*635a8641SAndroid Build Coastguard Worker 
92*635a8641SAndroid Build Coastguard Worker  private:
93*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
94*635a8641SAndroid Build Coastguard Worker };
95*635a8641SAndroid Build Coastguard Worker 
96*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2>
97*635a8641SAndroid Build Coastguard Worker class MockCallback<Callback<R(A1, A2)>> {
98*635a8641SAndroid Build Coastguard Worker  public:
99*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
100*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD2_T(Run, R(A1, A2));
101*635a8641SAndroid Build Coastguard Worker 
Get()102*635a8641SAndroid Build Coastguard Worker   Callback<R(A1, A2)> Get() {
103*635a8641SAndroid Build Coastguard Worker     return Bind(&MockCallback::Run, Unretained(this));
104*635a8641SAndroid Build Coastguard Worker   }
105*635a8641SAndroid Build Coastguard Worker 
106*635a8641SAndroid Build Coastguard Worker  private:
107*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
108*635a8641SAndroid Build Coastguard Worker };
109*635a8641SAndroid Build Coastguard Worker 
110*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2>
111*635a8641SAndroid Build Coastguard Worker class MockCallback<OnceCallback<R(A1, A2)>> {
112*635a8641SAndroid Build Coastguard Worker  public:
113*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
114*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD2_T(Run, R(A1, A2));
115*635a8641SAndroid Build Coastguard Worker 
Get()116*635a8641SAndroid Build Coastguard Worker   OnceCallback<R(A1, A2)> Get() {
117*635a8641SAndroid Build Coastguard Worker     return BindOnce(&MockCallback::Run, Unretained(this));
118*635a8641SAndroid Build Coastguard Worker   }
119*635a8641SAndroid Build Coastguard Worker 
120*635a8641SAndroid Build Coastguard Worker  private:
121*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
122*635a8641SAndroid Build Coastguard Worker };
123*635a8641SAndroid Build Coastguard Worker 
124*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2, typename A3>
125*635a8641SAndroid Build Coastguard Worker class MockCallback<Callback<R(A1, A2, A3)>> {
126*635a8641SAndroid Build Coastguard Worker  public:
127*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
128*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD3_T(Run, R(A1, A2, A3));
129*635a8641SAndroid Build Coastguard Worker 
Get()130*635a8641SAndroid Build Coastguard Worker   Callback<R(A1, A2, A3)> Get() {
131*635a8641SAndroid Build Coastguard Worker     return Bind(&MockCallback::Run, Unretained(this));
132*635a8641SAndroid Build Coastguard Worker   }
133*635a8641SAndroid Build Coastguard Worker 
134*635a8641SAndroid Build Coastguard Worker  private:
135*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
136*635a8641SAndroid Build Coastguard Worker };
137*635a8641SAndroid Build Coastguard Worker 
138*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2, typename A3>
139*635a8641SAndroid Build Coastguard Worker class MockCallback<OnceCallback<R(A1, A2, A3)>> {
140*635a8641SAndroid Build Coastguard Worker  public:
141*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
142*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD3_T(Run, R(A1, A2, A3));
143*635a8641SAndroid Build Coastguard Worker 
Get()144*635a8641SAndroid Build Coastguard Worker   OnceCallback<R(A1, A2, A3)> Get() {
145*635a8641SAndroid Build Coastguard Worker     return BindOnce(&MockCallback::Run, Unretained(this));
146*635a8641SAndroid Build Coastguard Worker   }
147*635a8641SAndroid Build Coastguard Worker 
148*635a8641SAndroid Build Coastguard Worker  private:
149*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
150*635a8641SAndroid Build Coastguard Worker };
151*635a8641SAndroid Build Coastguard Worker 
152*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2, typename A3, typename A4>
153*635a8641SAndroid Build Coastguard Worker class MockCallback<Callback<R(A1, A2, A3, A4)>> {
154*635a8641SAndroid Build Coastguard Worker  public:
155*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
156*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD4_T(Run, R(A1, A2, A3, A4));
157*635a8641SAndroid Build Coastguard Worker 
Get()158*635a8641SAndroid Build Coastguard Worker   Callback<R(A1, A2, A3, A4)> Get() {
159*635a8641SAndroid Build Coastguard Worker     return Bind(&MockCallback::Run, Unretained(this));
160*635a8641SAndroid Build Coastguard Worker   }
161*635a8641SAndroid Build Coastguard Worker 
162*635a8641SAndroid Build Coastguard Worker  private:
163*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
164*635a8641SAndroid Build Coastguard Worker };
165*635a8641SAndroid Build Coastguard Worker 
166*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2, typename A3, typename A4>
167*635a8641SAndroid Build Coastguard Worker class MockCallback<OnceCallback<R(A1, A2, A3, A4)>> {
168*635a8641SAndroid Build Coastguard Worker  public:
169*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
170*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD4_T(Run, R(A1, A2, A3, A4));
171*635a8641SAndroid Build Coastguard Worker 
Get()172*635a8641SAndroid Build Coastguard Worker   OnceCallback<R(A1, A2, A3, A4)> Get() {
173*635a8641SAndroid Build Coastguard Worker     return BindOnce(&MockCallback::Run, Unretained(this));
174*635a8641SAndroid Build Coastguard Worker   }
175*635a8641SAndroid Build Coastguard Worker 
176*635a8641SAndroid Build Coastguard Worker  private:
177*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
178*635a8641SAndroid Build Coastguard Worker };
179*635a8641SAndroid Build Coastguard Worker 
180*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2, typename A3, typename A4,
181*635a8641SAndroid Build Coastguard Worker     typename A5>
182*635a8641SAndroid Build Coastguard Worker class MockCallback<Callback<R(A1, A2, A3, A4, A5)>> {
183*635a8641SAndroid Build Coastguard Worker  public:
184*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
185*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD5_T(Run, R(A1, A2, A3, A4, A5));
186*635a8641SAndroid Build Coastguard Worker 
Get()187*635a8641SAndroid Build Coastguard Worker   Callback<R(A1, A2, A3, A4, A5)> Get() {
188*635a8641SAndroid Build Coastguard Worker     return Bind(&MockCallback::Run, Unretained(this));
189*635a8641SAndroid Build Coastguard Worker   }
190*635a8641SAndroid Build Coastguard Worker 
191*635a8641SAndroid Build Coastguard Worker  private:
192*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
193*635a8641SAndroid Build Coastguard Worker };
194*635a8641SAndroid Build Coastguard Worker 
195*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2, typename A3, typename A4,
196*635a8641SAndroid Build Coastguard Worker     typename A5>
197*635a8641SAndroid Build Coastguard Worker class MockCallback<OnceCallback<R(A1, A2, A3, A4, A5)>> {
198*635a8641SAndroid Build Coastguard Worker  public:
199*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
200*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD5_T(Run, R(A1, A2, A3, A4, A5));
201*635a8641SAndroid Build Coastguard Worker 
Get()202*635a8641SAndroid Build Coastguard Worker   OnceCallback<R(A1, A2, A3, A4, A5)> Get() {
203*635a8641SAndroid Build Coastguard Worker     return BindOnce(&MockCallback::Run, Unretained(this));
204*635a8641SAndroid Build Coastguard Worker   }
205*635a8641SAndroid Build Coastguard Worker 
206*635a8641SAndroid Build Coastguard Worker  private:
207*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
208*635a8641SAndroid Build Coastguard Worker };
209*635a8641SAndroid Build Coastguard Worker 
210*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2, typename A3, typename A4,
211*635a8641SAndroid Build Coastguard Worker     typename A5, typename A6>
212*635a8641SAndroid Build Coastguard Worker class MockCallback<Callback<R(A1, A2, A3, A4, A5, A6)>> {
213*635a8641SAndroid Build Coastguard Worker  public:
214*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
215*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD6_T(Run, R(A1, A2, A3, A4, A5, A6));
216*635a8641SAndroid Build Coastguard Worker 
Get()217*635a8641SAndroid Build Coastguard Worker   Callback<R(A1, A2, A3, A4, A5, A6)> Get() {
218*635a8641SAndroid Build Coastguard Worker     return Bind(&MockCallback::Run, Unretained(this));
219*635a8641SAndroid Build Coastguard Worker   }
220*635a8641SAndroid Build Coastguard Worker 
221*635a8641SAndroid Build Coastguard Worker  private:
222*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
223*635a8641SAndroid Build Coastguard Worker };
224*635a8641SAndroid Build Coastguard Worker 
225*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2, typename A3, typename A4,
226*635a8641SAndroid Build Coastguard Worker     typename A5, typename A6>
227*635a8641SAndroid Build Coastguard Worker class MockCallback<OnceCallback<R(A1, A2, A3, A4, A5, A6)>> {
228*635a8641SAndroid Build Coastguard Worker  public:
229*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
230*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD6_T(Run, R(A1, A2, A3, A4, A5, A6));
231*635a8641SAndroid Build Coastguard Worker 
Get()232*635a8641SAndroid Build Coastguard Worker   OnceCallback<R(A1, A2, A3, A4, A5, A6)> Get() {
233*635a8641SAndroid Build Coastguard Worker     return BindOnce(&MockCallback::Run, Unretained(this));
234*635a8641SAndroid Build Coastguard Worker   }
235*635a8641SAndroid Build Coastguard Worker 
236*635a8641SAndroid Build Coastguard Worker  private:
237*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
238*635a8641SAndroid Build Coastguard Worker };
239*635a8641SAndroid Build Coastguard Worker 
240*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2, typename A3, typename A4,
241*635a8641SAndroid Build Coastguard Worker     typename A5, typename A6, typename A7>
242*635a8641SAndroid Build Coastguard Worker class MockCallback<Callback<R(A1, A2, A3, A4, A5, A6, A7)>> {
243*635a8641SAndroid Build Coastguard Worker  public:
244*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
245*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD7_T(Run, R(A1, A2, A3, A4, A5, A6, A7));
246*635a8641SAndroid Build Coastguard Worker 
Get()247*635a8641SAndroid Build Coastguard Worker   Callback<R(A1, A2, A3, A4, A5, A6, A7)> Get() {
248*635a8641SAndroid Build Coastguard Worker     return Bind(&MockCallback::Run, Unretained(this));
249*635a8641SAndroid Build Coastguard Worker   }
250*635a8641SAndroid Build Coastguard Worker 
251*635a8641SAndroid Build Coastguard Worker  private:
252*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
253*635a8641SAndroid Build Coastguard Worker };
254*635a8641SAndroid Build Coastguard Worker 
255*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2, typename A3, typename A4,
256*635a8641SAndroid Build Coastguard Worker     typename A5, typename A6, typename A7>
257*635a8641SAndroid Build Coastguard Worker class MockCallback<OnceCallback<R(A1, A2, A3, A4, A5, A6, A7)>> {
258*635a8641SAndroid Build Coastguard Worker  public:
259*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
260*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD7_T(Run, R(A1, A2, A3, A4, A5, A6, A7));
261*635a8641SAndroid Build Coastguard Worker 
Get()262*635a8641SAndroid Build Coastguard Worker   OnceCallback<R(A1, A2, A3, A4, A5, A6, A7)> Get() {
263*635a8641SAndroid Build Coastguard Worker     return BindOnce(&MockCallback::Run, Unretained(this));
264*635a8641SAndroid Build Coastguard Worker   }
265*635a8641SAndroid Build Coastguard Worker 
266*635a8641SAndroid Build Coastguard Worker  private:
267*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
268*635a8641SAndroid Build Coastguard Worker };
269*635a8641SAndroid Build Coastguard Worker 
270*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2, typename A3, typename A4,
271*635a8641SAndroid Build Coastguard Worker     typename A5, typename A6, typename A7, typename A8>
272*635a8641SAndroid Build Coastguard Worker class MockCallback<Callback<R(A1, A2, A3, A4, A5, A6, A7, A8)>> {
273*635a8641SAndroid Build Coastguard Worker  public:
274*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
275*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD8_T(Run, R(A1, A2, A3, A4, A5, A6, A7, A8));
276*635a8641SAndroid Build Coastguard Worker 
Get()277*635a8641SAndroid Build Coastguard Worker   Callback<R(A1, A2, A3, A4, A5, A6, A7, A8)> Get() {
278*635a8641SAndroid Build Coastguard Worker     return Bind(&MockCallback::Run, Unretained(this));
279*635a8641SAndroid Build Coastguard Worker   }
280*635a8641SAndroid Build Coastguard Worker 
281*635a8641SAndroid Build Coastguard Worker  private:
282*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
283*635a8641SAndroid Build Coastguard Worker };
284*635a8641SAndroid Build Coastguard Worker 
285*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2, typename A3, typename A4,
286*635a8641SAndroid Build Coastguard Worker     typename A5, typename A6, typename A7, typename A8>
287*635a8641SAndroid Build Coastguard Worker class MockCallback<OnceCallback<R(A1, A2, A3, A4, A5, A6, A7, A8)>> {
288*635a8641SAndroid Build Coastguard Worker  public:
289*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
290*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD8_T(Run, R(A1, A2, A3, A4, A5, A6, A7, A8));
291*635a8641SAndroid Build Coastguard Worker 
Get()292*635a8641SAndroid Build Coastguard Worker   OnceCallback<R(A1, A2, A3, A4, A5, A6, A7, A8)> Get() {
293*635a8641SAndroid Build Coastguard Worker     return BindOnce(&MockCallback::Run, Unretained(this));
294*635a8641SAndroid Build Coastguard Worker   }
295*635a8641SAndroid Build Coastguard Worker 
296*635a8641SAndroid Build Coastguard Worker  private:
297*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
298*635a8641SAndroid Build Coastguard Worker };
299*635a8641SAndroid Build Coastguard Worker 
300*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2, typename A3, typename A4,
301*635a8641SAndroid Build Coastguard Worker     typename A5, typename A6, typename A7, typename A8, typename A9>
302*635a8641SAndroid Build Coastguard Worker class MockCallback<Callback<R(A1, A2, A3, A4, A5, A6, A7, A8, A9)>> {
303*635a8641SAndroid Build Coastguard Worker  public:
304*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
305*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD9_T(Run, R(A1, A2, A3, A4, A5, A6, A7, A8, A9));
306*635a8641SAndroid Build Coastguard Worker 
Get()307*635a8641SAndroid Build Coastguard Worker   Callback<R(A1, A2, A3, A4, A5, A6, A7, A8, A9)> Get() {
308*635a8641SAndroid Build Coastguard Worker     return Bind(&MockCallback::Run, Unretained(this));
309*635a8641SAndroid Build Coastguard Worker   }
310*635a8641SAndroid Build Coastguard Worker 
311*635a8641SAndroid Build Coastguard Worker  private:
312*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
313*635a8641SAndroid Build Coastguard Worker };
314*635a8641SAndroid Build Coastguard Worker 
315*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2, typename A3, typename A4,
316*635a8641SAndroid Build Coastguard Worker     typename A5, typename A6, typename A7, typename A8, typename A9>
317*635a8641SAndroid Build Coastguard Worker class MockCallback<OnceCallback<R(A1, A2, A3, A4, A5, A6, A7, A8, A9)>> {
318*635a8641SAndroid Build Coastguard Worker  public:
319*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
320*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD9_T(Run, R(A1, A2, A3, A4, A5, A6, A7, A8, A9));
321*635a8641SAndroid Build Coastguard Worker 
Get()322*635a8641SAndroid Build Coastguard Worker   OnceCallback<R(A1, A2, A3, A4, A5, A6, A7, A8, A9)> Get() {
323*635a8641SAndroid Build Coastguard Worker     return BindOnce(&MockCallback::Run, Unretained(this));
324*635a8641SAndroid Build Coastguard Worker   }
325*635a8641SAndroid Build Coastguard Worker 
326*635a8641SAndroid Build Coastguard Worker  private:
327*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
328*635a8641SAndroid Build Coastguard Worker };
329*635a8641SAndroid Build Coastguard Worker 
330*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2, typename A3, typename A4,
331*635a8641SAndroid Build Coastguard Worker     typename A5, typename A6, typename A7, typename A8, typename A9,
332*635a8641SAndroid Build Coastguard Worker     typename A10>
333*635a8641SAndroid Build Coastguard Worker class MockCallback<Callback<R(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)>> {
334*635a8641SAndroid Build Coastguard Worker  public:
335*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
336*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD10_T(Run, R(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10));
337*635a8641SAndroid Build Coastguard Worker 
Get()338*635a8641SAndroid Build Coastguard Worker   Callback<R(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)> Get() {
339*635a8641SAndroid Build Coastguard Worker     return Bind(&MockCallback::Run, Unretained(this));
340*635a8641SAndroid Build Coastguard Worker   }
341*635a8641SAndroid Build Coastguard Worker 
342*635a8641SAndroid Build Coastguard Worker  private:
343*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
344*635a8641SAndroid Build Coastguard Worker };
345*635a8641SAndroid Build Coastguard Worker 
346*635a8641SAndroid Build Coastguard Worker template <typename R, typename A1, typename A2, typename A3, typename A4,
347*635a8641SAndroid Build Coastguard Worker     typename A5, typename A6, typename A7, typename A8, typename A9,
348*635a8641SAndroid Build Coastguard Worker     typename A10>
349*635a8641SAndroid Build Coastguard Worker class MockCallback<OnceCallback<R(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)>> {
350*635a8641SAndroid Build Coastguard Worker  public:
351*635a8641SAndroid Build Coastguard Worker   MockCallback() = default;
352*635a8641SAndroid Build Coastguard Worker   MOCK_METHOD10_T(Run, R(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10));
353*635a8641SAndroid Build Coastguard Worker 
Get()354*635a8641SAndroid Build Coastguard Worker   OnceCallback<R(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)> Get() {
355*635a8641SAndroid Build Coastguard Worker     return BindOnce(&MockCallback::Run, Unretained(this));
356*635a8641SAndroid Build Coastguard Worker   }
357*635a8641SAndroid Build Coastguard Worker 
358*635a8641SAndroid Build Coastguard Worker  private:
359*635a8641SAndroid Build Coastguard Worker   DISALLOW_COPY_AND_ASSIGN(MockCallback);
360*635a8641SAndroid Build Coastguard Worker };
361*635a8641SAndroid Build Coastguard Worker 
362*635a8641SAndroid Build Coastguard Worker // clang-format on
363*635a8641SAndroid Build Coastguard Worker 
364*635a8641SAndroid Build Coastguard Worker }  // namespace base
365*635a8641SAndroid Build Coastguard Worker 
366*635a8641SAndroid Build Coastguard Worker #endif  // BASE_TEST_MOCK_CALLBACK_H_
367