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