1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 /* DO NOT EDIT. Generated from components/cronet/native/generated/cronet.idl */
6
7 #include "components/cronet/native/generated/cronet.idl_impl_interface.h"
8
9 #include "base/check.h"
10
11 // C functions of Cronet_Buffer that forward calls to C++ implementation.
Cronet_Buffer_Destroy(Cronet_BufferPtr self)12 void Cronet_Buffer_Destroy(Cronet_BufferPtr self) {
13 DCHECK(self);
14 return delete self;
15 }
16
Cronet_Buffer_SetClientContext(Cronet_BufferPtr self,Cronet_ClientContext client_context)17 void Cronet_Buffer_SetClientContext(Cronet_BufferPtr self,
18 Cronet_ClientContext client_context) {
19 DCHECK(self);
20 self->set_client_context(client_context);
21 }
22
Cronet_Buffer_GetClientContext(Cronet_BufferPtr self)23 Cronet_ClientContext Cronet_Buffer_GetClientContext(Cronet_BufferPtr self) {
24 DCHECK(self);
25 return self->client_context();
26 }
27
Cronet_Buffer_InitWithDataAndCallback(Cronet_BufferPtr self,Cronet_RawDataPtr data,uint64_t size,Cronet_BufferCallbackPtr callback)28 void Cronet_Buffer_InitWithDataAndCallback(Cronet_BufferPtr self,
29 Cronet_RawDataPtr data,
30 uint64_t size,
31 Cronet_BufferCallbackPtr callback) {
32 DCHECK(self);
33 self->InitWithDataAndCallback(data, size, callback);
34 }
35
Cronet_Buffer_InitWithAlloc(Cronet_BufferPtr self,uint64_t size)36 void Cronet_Buffer_InitWithAlloc(Cronet_BufferPtr self, uint64_t size) {
37 DCHECK(self);
38 self->InitWithAlloc(size);
39 }
40
Cronet_Buffer_GetSize(Cronet_BufferPtr self)41 uint64_t Cronet_Buffer_GetSize(Cronet_BufferPtr self) {
42 DCHECK(self);
43 return self->GetSize();
44 }
45
Cronet_Buffer_GetData(Cronet_BufferPtr self)46 Cronet_RawDataPtr Cronet_Buffer_GetData(Cronet_BufferPtr self) {
47 DCHECK(self);
48 return self->GetData();
49 }
50
51 // Implementation of Cronet_Buffer that forwards calls to C functions
52 // implemented by the app.
53 class Cronet_BufferStub : public Cronet_Buffer {
54 public:
Cronet_BufferStub(Cronet_Buffer_InitWithDataAndCallbackFunc InitWithDataAndCallbackFunc,Cronet_Buffer_InitWithAllocFunc InitWithAllocFunc,Cronet_Buffer_GetSizeFunc GetSizeFunc,Cronet_Buffer_GetDataFunc GetDataFunc)55 Cronet_BufferStub(
56 Cronet_Buffer_InitWithDataAndCallbackFunc InitWithDataAndCallbackFunc,
57 Cronet_Buffer_InitWithAllocFunc InitWithAllocFunc,
58 Cronet_Buffer_GetSizeFunc GetSizeFunc,
59 Cronet_Buffer_GetDataFunc GetDataFunc)
60 : InitWithDataAndCallbackFunc_(InitWithDataAndCallbackFunc),
61 InitWithAllocFunc_(InitWithAllocFunc),
62 GetSizeFunc_(GetSizeFunc),
63 GetDataFunc_(GetDataFunc) {}
64
~Cronet_BufferStub()65 ~Cronet_BufferStub() override {}
66
67 protected:
InitWithDataAndCallback(Cronet_RawDataPtr data,uint64_t size,Cronet_BufferCallbackPtr callback)68 void InitWithDataAndCallback(Cronet_RawDataPtr data,
69 uint64_t size,
70 Cronet_BufferCallbackPtr callback) override {
71 InitWithDataAndCallbackFunc_(this, data, size, callback);
72 }
73
InitWithAlloc(uint64_t size)74 void InitWithAlloc(uint64_t size) override { InitWithAllocFunc_(this, size); }
75
GetSize()76 uint64_t GetSize() override { return GetSizeFunc_(this); }
77
GetData()78 Cronet_RawDataPtr GetData() override { return GetDataFunc_(this); }
79
80 private:
81 const Cronet_Buffer_InitWithDataAndCallbackFunc InitWithDataAndCallbackFunc_;
82 const Cronet_Buffer_InitWithAllocFunc InitWithAllocFunc_;
83 const Cronet_Buffer_GetSizeFunc GetSizeFunc_;
84 const Cronet_Buffer_GetDataFunc GetDataFunc_;
85
86 DISALLOW_COPY_AND_ASSIGN(Cronet_BufferStub);
87 };
88
Cronet_Buffer_CreateWith(Cronet_Buffer_InitWithDataAndCallbackFunc InitWithDataAndCallbackFunc,Cronet_Buffer_InitWithAllocFunc InitWithAllocFunc,Cronet_Buffer_GetSizeFunc GetSizeFunc,Cronet_Buffer_GetDataFunc GetDataFunc)89 Cronet_BufferPtr Cronet_Buffer_CreateWith(
90 Cronet_Buffer_InitWithDataAndCallbackFunc InitWithDataAndCallbackFunc,
91 Cronet_Buffer_InitWithAllocFunc InitWithAllocFunc,
92 Cronet_Buffer_GetSizeFunc GetSizeFunc,
93 Cronet_Buffer_GetDataFunc GetDataFunc) {
94 return new Cronet_BufferStub(InitWithDataAndCallbackFunc, InitWithAllocFunc,
95 GetSizeFunc, GetDataFunc);
96 }
97
98 // C functions of Cronet_BufferCallback that forward calls to C++
99 // implementation.
Cronet_BufferCallback_Destroy(Cronet_BufferCallbackPtr self)100 void Cronet_BufferCallback_Destroy(Cronet_BufferCallbackPtr self) {
101 DCHECK(self);
102 return delete self;
103 }
104
Cronet_BufferCallback_SetClientContext(Cronet_BufferCallbackPtr self,Cronet_ClientContext client_context)105 void Cronet_BufferCallback_SetClientContext(
106 Cronet_BufferCallbackPtr self,
107 Cronet_ClientContext client_context) {
108 DCHECK(self);
109 self->set_client_context(client_context);
110 }
111
Cronet_BufferCallback_GetClientContext(Cronet_BufferCallbackPtr self)112 Cronet_ClientContext Cronet_BufferCallback_GetClientContext(
113 Cronet_BufferCallbackPtr self) {
114 DCHECK(self);
115 return self->client_context();
116 }
117
Cronet_BufferCallback_OnDestroy(Cronet_BufferCallbackPtr self,Cronet_BufferPtr buffer)118 void Cronet_BufferCallback_OnDestroy(Cronet_BufferCallbackPtr self,
119 Cronet_BufferPtr buffer) {
120 DCHECK(self);
121 self->OnDestroy(buffer);
122 }
123
124 // Implementation of Cronet_BufferCallback that forwards calls to C functions
125 // implemented by the app.
126 class Cronet_BufferCallbackStub : public Cronet_BufferCallback {
127 public:
Cronet_BufferCallbackStub(Cronet_BufferCallback_OnDestroyFunc OnDestroyFunc)128 explicit Cronet_BufferCallbackStub(
129 Cronet_BufferCallback_OnDestroyFunc OnDestroyFunc)
130 : OnDestroyFunc_(OnDestroyFunc) {}
131
~Cronet_BufferCallbackStub()132 ~Cronet_BufferCallbackStub() override {}
133
134 protected:
OnDestroy(Cronet_BufferPtr buffer)135 void OnDestroy(Cronet_BufferPtr buffer) override {
136 OnDestroyFunc_(this, buffer);
137 }
138
139 private:
140 const Cronet_BufferCallback_OnDestroyFunc OnDestroyFunc_;
141
142 DISALLOW_COPY_AND_ASSIGN(Cronet_BufferCallbackStub);
143 };
144
Cronet_BufferCallback_CreateWith(Cronet_BufferCallback_OnDestroyFunc OnDestroyFunc)145 Cronet_BufferCallbackPtr Cronet_BufferCallback_CreateWith(
146 Cronet_BufferCallback_OnDestroyFunc OnDestroyFunc) {
147 return new Cronet_BufferCallbackStub(OnDestroyFunc);
148 }
149
150 // C functions of Cronet_Runnable that forward calls to C++ implementation.
Cronet_Runnable_Destroy(Cronet_RunnablePtr self)151 void Cronet_Runnable_Destroy(Cronet_RunnablePtr self) {
152 DCHECK(self);
153 return delete self;
154 }
155
Cronet_Runnable_SetClientContext(Cronet_RunnablePtr self,Cronet_ClientContext client_context)156 void Cronet_Runnable_SetClientContext(Cronet_RunnablePtr self,
157 Cronet_ClientContext client_context) {
158 DCHECK(self);
159 self->set_client_context(client_context);
160 }
161
Cronet_Runnable_GetClientContext(Cronet_RunnablePtr self)162 Cronet_ClientContext Cronet_Runnable_GetClientContext(Cronet_RunnablePtr self) {
163 DCHECK(self);
164 return self->client_context();
165 }
166
Cronet_Runnable_Run(Cronet_RunnablePtr self)167 void Cronet_Runnable_Run(Cronet_RunnablePtr self) {
168 DCHECK(self);
169 self->Run();
170 }
171
172 // Implementation of Cronet_Runnable that forwards calls to C functions
173 // implemented by the app.
174 class Cronet_RunnableStub : public Cronet_Runnable {
175 public:
Cronet_RunnableStub(Cronet_Runnable_RunFunc RunFunc)176 explicit Cronet_RunnableStub(Cronet_Runnable_RunFunc RunFunc)
177 : RunFunc_(RunFunc) {}
178
~Cronet_RunnableStub()179 ~Cronet_RunnableStub() override {}
180
181 protected:
Run()182 void Run() override { RunFunc_(this); }
183
184 private:
185 const Cronet_Runnable_RunFunc RunFunc_;
186
187 DISALLOW_COPY_AND_ASSIGN(Cronet_RunnableStub);
188 };
189
Cronet_Runnable_CreateWith(Cronet_Runnable_RunFunc RunFunc)190 Cronet_RunnablePtr Cronet_Runnable_CreateWith(Cronet_Runnable_RunFunc RunFunc) {
191 return new Cronet_RunnableStub(RunFunc);
192 }
193
194 // C functions of Cronet_Executor that forward calls to C++ implementation.
Cronet_Executor_Destroy(Cronet_ExecutorPtr self)195 void Cronet_Executor_Destroy(Cronet_ExecutorPtr self) {
196 DCHECK(self);
197 return delete self;
198 }
199
Cronet_Executor_SetClientContext(Cronet_ExecutorPtr self,Cronet_ClientContext client_context)200 void Cronet_Executor_SetClientContext(Cronet_ExecutorPtr self,
201 Cronet_ClientContext client_context) {
202 DCHECK(self);
203 self->set_client_context(client_context);
204 }
205
Cronet_Executor_GetClientContext(Cronet_ExecutorPtr self)206 Cronet_ClientContext Cronet_Executor_GetClientContext(Cronet_ExecutorPtr self) {
207 DCHECK(self);
208 return self->client_context();
209 }
210
Cronet_Executor_Execute(Cronet_ExecutorPtr self,Cronet_RunnablePtr command)211 void Cronet_Executor_Execute(Cronet_ExecutorPtr self,
212 Cronet_RunnablePtr command) {
213 DCHECK(self);
214 self->Execute(command);
215 }
216
217 // Implementation of Cronet_Executor that forwards calls to C functions
218 // implemented by the app.
219 class Cronet_ExecutorStub : public Cronet_Executor {
220 public:
Cronet_ExecutorStub(Cronet_Executor_ExecuteFunc ExecuteFunc)221 explicit Cronet_ExecutorStub(Cronet_Executor_ExecuteFunc ExecuteFunc)
222 : ExecuteFunc_(ExecuteFunc) {}
223
~Cronet_ExecutorStub()224 ~Cronet_ExecutorStub() override {}
225
226 protected:
Execute(Cronet_RunnablePtr command)227 void Execute(Cronet_RunnablePtr command) override {
228 ExecuteFunc_(this, command);
229 }
230
231 private:
232 const Cronet_Executor_ExecuteFunc ExecuteFunc_;
233
234 DISALLOW_COPY_AND_ASSIGN(Cronet_ExecutorStub);
235 };
236
Cronet_Executor_CreateWith(Cronet_Executor_ExecuteFunc ExecuteFunc)237 Cronet_ExecutorPtr Cronet_Executor_CreateWith(
238 Cronet_Executor_ExecuteFunc ExecuteFunc) {
239 return new Cronet_ExecutorStub(ExecuteFunc);
240 }
241
242 // C functions of Cronet_Engine that forward calls to C++ implementation.
Cronet_Engine_Destroy(Cronet_EnginePtr self)243 void Cronet_Engine_Destroy(Cronet_EnginePtr self) {
244 DCHECK(self);
245 return delete self;
246 }
247
Cronet_Engine_SetClientContext(Cronet_EnginePtr self,Cronet_ClientContext client_context)248 void Cronet_Engine_SetClientContext(Cronet_EnginePtr self,
249 Cronet_ClientContext client_context) {
250 DCHECK(self);
251 self->set_client_context(client_context);
252 }
253
Cronet_Engine_GetClientContext(Cronet_EnginePtr self)254 Cronet_ClientContext Cronet_Engine_GetClientContext(Cronet_EnginePtr self) {
255 DCHECK(self);
256 return self->client_context();
257 }
258
Cronet_Engine_StartWithParams(Cronet_EnginePtr self,Cronet_EngineParamsPtr params)259 Cronet_RESULT Cronet_Engine_StartWithParams(Cronet_EnginePtr self,
260 Cronet_EngineParamsPtr params) {
261 DCHECK(self);
262 return self->StartWithParams(params);
263 }
264
Cronet_Engine_StartNetLogToFile(Cronet_EnginePtr self,Cronet_String file_name,bool log_all)265 bool Cronet_Engine_StartNetLogToFile(Cronet_EnginePtr self,
266 Cronet_String file_name,
267 bool log_all) {
268 DCHECK(self);
269 return self->StartNetLogToFile(file_name, log_all);
270 }
271
Cronet_Engine_StopNetLog(Cronet_EnginePtr self)272 void Cronet_Engine_StopNetLog(Cronet_EnginePtr self) {
273 DCHECK(self);
274 self->StopNetLog();
275 }
276
Cronet_Engine_Shutdown(Cronet_EnginePtr self)277 Cronet_RESULT Cronet_Engine_Shutdown(Cronet_EnginePtr self) {
278 DCHECK(self);
279 return self->Shutdown();
280 }
281
Cronet_Engine_GetVersionString(Cronet_EnginePtr self)282 Cronet_String Cronet_Engine_GetVersionString(Cronet_EnginePtr self) {
283 DCHECK(self);
284 return self->GetVersionString();
285 }
286
Cronet_Engine_GetDefaultUserAgent(Cronet_EnginePtr self)287 Cronet_String Cronet_Engine_GetDefaultUserAgent(Cronet_EnginePtr self) {
288 DCHECK(self);
289 return self->GetDefaultUserAgent();
290 }
291
Cronet_Engine_AddRequestFinishedListener(Cronet_EnginePtr self,Cronet_RequestFinishedInfoListenerPtr listener,Cronet_ExecutorPtr executor)292 void Cronet_Engine_AddRequestFinishedListener(
293 Cronet_EnginePtr self,
294 Cronet_RequestFinishedInfoListenerPtr listener,
295 Cronet_ExecutorPtr executor) {
296 DCHECK(self);
297 self->AddRequestFinishedListener(listener, executor);
298 }
299
Cronet_Engine_RemoveRequestFinishedListener(Cronet_EnginePtr self,Cronet_RequestFinishedInfoListenerPtr listener)300 void Cronet_Engine_RemoveRequestFinishedListener(
301 Cronet_EnginePtr self,
302 Cronet_RequestFinishedInfoListenerPtr listener) {
303 DCHECK(self);
304 self->RemoveRequestFinishedListener(listener);
305 }
306
307 // Implementation of Cronet_Engine that forwards calls to C functions
308 // implemented by the app.
309 class Cronet_EngineStub : public Cronet_Engine {
310 public:
Cronet_EngineStub(Cronet_Engine_StartWithParamsFunc StartWithParamsFunc,Cronet_Engine_StartNetLogToFileFunc StartNetLogToFileFunc,Cronet_Engine_StopNetLogFunc StopNetLogFunc,Cronet_Engine_ShutdownFunc ShutdownFunc,Cronet_Engine_GetVersionStringFunc GetVersionStringFunc,Cronet_Engine_GetDefaultUserAgentFunc GetDefaultUserAgentFunc,Cronet_Engine_AddRequestFinishedListenerFunc AddRequestFinishedListenerFunc,Cronet_Engine_RemoveRequestFinishedListenerFunc RemoveRequestFinishedListenerFunc)311 Cronet_EngineStub(
312 Cronet_Engine_StartWithParamsFunc StartWithParamsFunc,
313 Cronet_Engine_StartNetLogToFileFunc StartNetLogToFileFunc,
314 Cronet_Engine_StopNetLogFunc StopNetLogFunc,
315 Cronet_Engine_ShutdownFunc ShutdownFunc,
316 Cronet_Engine_GetVersionStringFunc GetVersionStringFunc,
317 Cronet_Engine_GetDefaultUserAgentFunc GetDefaultUserAgentFunc,
318 Cronet_Engine_AddRequestFinishedListenerFunc
319 AddRequestFinishedListenerFunc,
320 Cronet_Engine_RemoveRequestFinishedListenerFunc
321 RemoveRequestFinishedListenerFunc)
322 : StartWithParamsFunc_(StartWithParamsFunc),
323 StartNetLogToFileFunc_(StartNetLogToFileFunc),
324 StopNetLogFunc_(StopNetLogFunc),
325 ShutdownFunc_(ShutdownFunc),
326 GetVersionStringFunc_(GetVersionStringFunc),
327 GetDefaultUserAgentFunc_(GetDefaultUserAgentFunc),
328 AddRequestFinishedListenerFunc_(AddRequestFinishedListenerFunc),
329 RemoveRequestFinishedListenerFunc_(RemoveRequestFinishedListenerFunc) {}
330
~Cronet_EngineStub()331 ~Cronet_EngineStub() override {}
332
333 protected:
StartWithParams(Cronet_EngineParamsPtr params)334 Cronet_RESULT StartWithParams(Cronet_EngineParamsPtr params) override {
335 return StartWithParamsFunc_(this, params);
336 }
337
StartNetLogToFile(Cronet_String file_name,bool log_all)338 bool StartNetLogToFile(Cronet_String file_name, bool log_all) override {
339 return StartNetLogToFileFunc_(this, file_name, log_all);
340 }
341
StopNetLog()342 void StopNetLog() override { StopNetLogFunc_(this); }
343
Shutdown()344 Cronet_RESULT Shutdown() override { return ShutdownFunc_(this); }
345
GetVersionString()346 Cronet_String GetVersionString() override {
347 return GetVersionStringFunc_(this);
348 }
349
GetDefaultUserAgent()350 Cronet_String GetDefaultUserAgent() override {
351 return GetDefaultUserAgentFunc_(this);
352 }
353
AddRequestFinishedListener(Cronet_RequestFinishedInfoListenerPtr listener,Cronet_ExecutorPtr executor)354 void AddRequestFinishedListener(
355 Cronet_RequestFinishedInfoListenerPtr listener,
356 Cronet_ExecutorPtr executor) override {
357 AddRequestFinishedListenerFunc_(this, listener, executor);
358 }
359
RemoveRequestFinishedListener(Cronet_RequestFinishedInfoListenerPtr listener)360 void RemoveRequestFinishedListener(
361 Cronet_RequestFinishedInfoListenerPtr listener) override {
362 RemoveRequestFinishedListenerFunc_(this, listener);
363 }
364
365 private:
366 const Cronet_Engine_StartWithParamsFunc StartWithParamsFunc_;
367 const Cronet_Engine_StartNetLogToFileFunc StartNetLogToFileFunc_;
368 const Cronet_Engine_StopNetLogFunc StopNetLogFunc_;
369 const Cronet_Engine_ShutdownFunc ShutdownFunc_;
370 const Cronet_Engine_GetVersionStringFunc GetVersionStringFunc_;
371 const Cronet_Engine_GetDefaultUserAgentFunc GetDefaultUserAgentFunc_;
372 const Cronet_Engine_AddRequestFinishedListenerFunc
373 AddRequestFinishedListenerFunc_;
374 const Cronet_Engine_RemoveRequestFinishedListenerFunc
375 RemoveRequestFinishedListenerFunc_;
376
377 DISALLOW_COPY_AND_ASSIGN(Cronet_EngineStub);
378 };
379
Cronet_Engine_CreateWith(Cronet_Engine_StartWithParamsFunc StartWithParamsFunc,Cronet_Engine_StartNetLogToFileFunc StartNetLogToFileFunc,Cronet_Engine_StopNetLogFunc StopNetLogFunc,Cronet_Engine_ShutdownFunc ShutdownFunc,Cronet_Engine_GetVersionStringFunc GetVersionStringFunc,Cronet_Engine_GetDefaultUserAgentFunc GetDefaultUserAgentFunc,Cronet_Engine_AddRequestFinishedListenerFunc AddRequestFinishedListenerFunc,Cronet_Engine_RemoveRequestFinishedListenerFunc RemoveRequestFinishedListenerFunc)380 Cronet_EnginePtr Cronet_Engine_CreateWith(
381 Cronet_Engine_StartWithParamsFunc StartWithParamsFunc,
382 Cronet_Engine_StartNetLogToFileFunc StartNetLogToFileFunc,
383 Cronet_Engine_StopNetLogFunc StopNetLogFunc,
384 Cronet_Engine_ShutdownFunc ShutdownFunc,
385 Cronet_Engine_GetVersionStringFunc GetVersionStringFunc,
386 Cronet_Engine_GetDefaultUserAgentFunc GetDefaultUserAgentFunc,
387 Cronet_Engine_AddRequestFinishedListenerFunc AddRequestFinishedListenerFunc,
388 Cronet_Engine_RemoveRequestFinishedListenerFunc
389 RemoveRequestFinishedListenerFunc) {
390 return new Cronet_EngineStub(
391 StartWithParamsFunc, StartNetLogToFileFunc, StopNetLogFunc, ShutdownFunc,
392 GetVersionStringFunc, GetDefaultUserAgentFunc,
393 AddRequestFinishedListenerFunc, RemoveRequestFinishedListenerFunc);
394 }
395
396 // C functions of Cronet_UrlRequestStatusListener that forward calls to C++
397 // implementation.
Cronet_UrlRequestStatusListener_Destroy(Cronet_UrlRequestStatusListenerPtr self)398 void Cronet_UrlRequestStatusListener_Destroy(
399 Cronet_UrlRequestStatusListenerPtr self) {
400 DCHECK(self);
401 return delete self;
402 }
403
Cronet_UrlRequestStatusListener_SetClientContext(Cronet_UrlRequestStatusListenerPtr self,Cronet_ClientContext client_context)404 void Cronet_UrlRequestStatusListener_SetClientContext(
405 Cronet_UrlRequestStatusListenerPtr self,
406 Cronet_ClientContext client_context) {
407 DCHECK(self);
408 self->set_client_context(client_context);
409 }
410
Cronet_UrlRequestStatusListener_GetClientContext(Cronet_UrlRequestStatusListenerPtr self)411 Cronet_ClientContext Cronet_UrlRequestStatusListener_GetClientContext(
412 Cronet_UrlRequestStatusListenerPtr self) {
413 DCHECK(self);
414 return self->client_context();
415 }
416
Cronet_UrlRequestStatusListener_OnStatus(Cronet_UrlRequestStatusListenerPtr self,Cronet_UrlRequestStatusListener_Status status)417 void Cronet_UrlRequestStatusListener_OnStatus(
418 Cronet_UrlRequestStatusListenerPtr self,
419 Cronet_UrlRequestStatusListener_Status status) {
420 DCHECK(self);
421 self->OnStatus(status);
422 }
423
424 // Implementation of Cronet_UrlRequestStatusListener that forwards calls to C
425 // functions implemented by the app.
426 class Cronet_UrlRequestStatusListenerStub
427 : public Cronet_UrlRequestStatusListener {
428 public:
Cronet_UrlRequestStatusListenerStub(Cronet_UrlRequestStatusListener_OnStatusFunc OnStatusFunc)429 explicit Cronet_UrlRequestStatusListenerStub(
430 Cronet_UrlRequestStatusListener_OnStatusFunc OnStatusFunc)
431 : OnStatusFunc_(OnStatusFunc) {}
432
~Cronet_UrlRequestStatusListenerStub()433 ~Cronet_UrlRequestStatusListenerStub() override {}
434
435 protected:
OnStatus(Cronet_UrlRequestStatusListener_Status status)436 void OnStatus(Cronet_UrlRequestStatusListener_Status status) override {
437 OnStatusFunc_(this, status);
438 }
439
440 private:
441 const Cronet_UrlRequestStatusListener_OnStatusFunc OnStatusFunc_;
442
443 DISALLOW_COPY_AND_ASSIGN(Cronet_UrlRequestStatusListenerStub);
444 };
445
Cronet_UrlRequestStatusListener_CreateWith(Cronet_UrlRequestStatusListener_OnStatusFunc OnStatusFunc)446 Cronet_UrlRequestStatusListenerPtr Cronet_UrlRequestStatusListener_CreateWith(
447 Cronet_UrlRequestStatusListener_OnStatusFunc OnStatusFunc) {
448 return new Cronet_UrlRequestStatusListenerStub(OnStatusFunc);
449 }
450
451 // C functions of Cronet_UrlRequestCallback that forward calls to C++
452 // implementation.
Cronet_UrlRequestCallback_Destroy(Cronet_UrlRequestCallbackPtr self)453 void Cronet_UrlRequestCallback_Destroy(Cronet_UrlRequestCallbackPtr self) {
454 DCHECK(self);
455 return delete self;
456 }
457
Cronet_UrlRequestCallback_SetClientContext(Cronet_UrlRequestCallbackPtr self,Cronet_ClientContext client_context)458 void Cronet_UrlRequestCallback_SetClientContext(
459 Cronet_UrlRequestCallbackPtr self,
460 Cronet_ClientContext client_context) {
461 DCHECK(self);
462 self->set_client_context(client_context);
463 }
464
Cronet_UrlRequestCallback_GetClientContext(Cronet_UrlRequestCallbackPtr self)465 Cronet_ClientContext Cronet_UrlRequestCallback_GetClientContext(
466 Cronet_UrlRequestCallbackPtr self) {
467 DCHECK(self);
468 return self->client_context();
469 }
470
Cronet_UrlRequestCallback_OnRedirectReceived(Cronet_UrlRequestCallbackPtr self,Cronet_UrlRequestPtr request,Cronet_UrlResponseInfoPtr info,Cronet_String new_location_url)471 void Cronet_UrlRequestCallback_OnRedirectReceived(
472 Cronet_UrlRequestCallbackPtr self,
473 Cronet_UrlRequestPtr request,
474 Cronet_UrlResponseInfoPtr info,
475 Cronet_String new_location_url) {
476 DCHECK(self);
477 self->OnRedirectReceived(request, info, new_location_url);
478 }
479
Cronet_UrlRequestCallback_OnResponseStarted(Cronet_UrlRequestCallbackPtr self,Cronet_UrlRequestPtr request,Cronet_UrlResponseInfoPtr info)480 void Cronet_UrlRequestCallback_OnResponseStarted(
481 Cronet_UrlRequestCallbackPtr self,
482 Cronet_UrlRequestPtr request,
483 Cronet_UrlResponseInfoPtr info) {
484 DCHECK(self);
485 self->OnResponseStarted(request, info);
486 }
487
Cronet_UrlRequestCallback_OnReadCompleted(Cronet_UrlRequestCallbackPtr self,Cronet_UrlRequestPtr request,Cronet_UrlResponseInfoPtr info,Cronet_BufferPtr buffer,uint64_t bytes_read)488 void Cronet_UrlRequestCallback_OnReadCompleted(
489 Cronet_UrlRequestCallbackPtr self,
490 Cronet_UrlRequestPtr request,
491 Cronet_UrlResponseInfoPtr info,
492 Cronet_BufferPtr buffer,
493 uint64_t bytes_read) {
494 DCHECK(self);
495 self->OnReadCompleted(request, info, buffer, bytes_read);
496 }
497
Cronet_UrlRequestCallback_OnSucceeded(Cronet_UrlRequestCallbackPtr self,Cronet_UrlRequestPtr request,Cronet_UrlResponseInfoPtr info)498 void Cronet_UrlRequestCallback_OnSucceeded(Cronet_UrlRequestCallbackPtr self,
499 Cronet_UrlRequestPtr request,
500 Cronet_UrlResponseInfoPtr info) {
501 DCHECK(self);
502 self->OnSucceeded(request, info);
503 }
504
Cronet_UrlRequestCallback_OnFailed(Cronet_UrlRequestCallbackPtr self,Cronet_UrlRequestPtr request,Cronet_UrlResponseInfoPtr info,Cronet_ErrorPtr error)505 void Cronet_UrlRequestCallback_OnFailed(Cronet_UrlRequestCallbackPtr self,
506 Cronet_UrlRequestPtr request,
507 Cronet_UrlResponseInfoPtr info,
508 Cronet_ErrorPtr error) {
509 DCHECK(self);
510 self->OnFailed(request, info, error);
511 }
512
Cronet_UrlRequestCallback_OnCanceled(Cronet_UrlRequestCallbackPtr self,Cronet_UrlRequestPtr request,Cronet_UrlResponseInfoPtr info)513 void Cronet_UrlRequestCallback_OnCanceled(Cronet_UrlRequestCallbackPtr self,
514 Cronet_UrlRequestPtr request,
515 Cronet_UrlResponseInfoPtr info) {
516 DCHECK(self);
517 self->OnCanceled(request, info);
518 }
519
520 // Implementation of Cronet_UrlRequestCallback that forwards calls to C
521 // functions implemented by the app.
522 class Cronet_UrlRequestCallbackStub : public Cronet_UrlRequestCallback {
523 public:
Cronet_UrlRequestCallbackStub(Cronet_UrlRequestCallback_OnRedirectReceivedFunc OnRedirectReceivedFunc,Cronet_UrlRequestCallback_OnResponseStartedFunc OnResponseStartedFunc,Cronet_UrlRequestCallback_OnReadCompletedFunc OnReadCompletedFunc,Cronet_UrlRequestCallback_OnSucceededFunc OnSucceededFunc,Cronet_UrlRequestCallback_OnFailedFunc OnFailedFunc,Cronet_UrlRequestCallback_OnCanceledFunc OnCanceledFunc)524 Cronet_UrlRequestCallbackStub(
525 Cronet_UrlRequestCallback_OnRedirectReceivedFunc OnRedirectReceivedFunc,
526 Cronet_UrlRequestCallback_OnResponseStartedFunc OnResponseStartedFunc,
527 Cronet_UrlRequestCallback_OnReadCompletedFunc OnReadCompletedFunc,
528 Cronet_UrlRequestCallback_OnSucceededFunc OnSucceededFunc,
529 Cronet_UrlRequestCallback_OnFailedFunc OnFailedFunc,
530 Cronet_UrlRequestCallback_OnCanceledFunc OnCanceledFunc)
531 : OnRedirectReceivedFunc_(OnRedirectReceivedFunc),
532 OnResponseStartedFunc_(OnResponseStartedFunc),
533 OnReadCompletedFunc_(OnReadCompletedFunc),
534 OnSucceededFunc_(OnSucceededFunc),
535 OnFailedFunc_(OnFailedFunc),
536 OnCanceledFunc_(OnCanceledFunc) {}
537
~Cronet_UrlRequestCallbackStub()538 ~Cronet_UrlRequestCallbackStub() override {}
539
540 protected:
OnRedirectReceived(Cronet_UrlRequestPtr request,Cronet_UrlResponseInfoPtr info,Cronet_String new_location_url)541 void OnRedirectReceived(Cronet_UrlRequestPtr request,
542 Cronet_UrlResponseInfoPtr info,
543 Cronet_String new_location_url) override {
544 OnRedirectReceivedFunc_(this, request, info, new_location_url);
545 }
546
OnResponseStarted(Cronet_UrlRequestPtr request,Cronet_UrlResponseInfoPtr info)547 void OnResponseStarted(Cronet_UrlRequestPtr request,
548 Cronet_UrlResponseInfoPtr info) override {
549 OnResponseStartedFunc_(this, request, info);
550 }
551
OnReadCompleted(Cronet_UrlRequestPtr request,Cronet_UrlResponseInfoPtr info,Cronet_BufferPtr buffer,uint64_t bytes_read)552 void OnReadCompleted(Cronet_UrlRequestPtr request,
553 Cronet_UrlResponseInfoPtr info,
554 Cronet_BufferPtr buffer,
555 uint64_t bytes_read) override {
556 OnReadCompletedFunc_(this, request, info, buffer, bytes_read);
557 }
558
OnSucceeded(Cronet_UrlRequestPtr request,Cronet_UrlResponseInfoPtr info)559 void OnSucceeded(Cronet_UrlRequestPtr request,
560 Cronet_UrlResponseInfoPtr info) override {
561 OnSucceededFunc_(this, request, info);
562 }
563
OnFailed(Cronet_UrlRequestPtr request,Cronet_UrlResponseInfoPtr info,Cronet_ErrorPtr error)564 void OnFailed(Cronet_UrlRequestPtr request,
565 Cronet_UrlResponseInfoPtr info,
566 Cronet_ErrorPtr error) override {
567 OnFailedFunc_(this, request, info, error);
568 }
569
OnCanceled(Cronet_UrlRequestPtr request,Cronet_UrlResponseInfoPtr info)570 void OnCanceled(Cronet_UrlRequestPtr request,
571 Cronet_UrlResponseInfoPtr info) override {
572 OnCanceledFunc_(this, request, info);
573 }
574
575 private:
576 const Cronet_UrlRequestCallback_OnRedirectReceivedFunc
577 OnRedirectReceivedFunc_;
578 const Cronet_UrlRequestCallback_OnResponseStartedFunc OnResponseStartedFunc_;
579 const Cronet_UrlRequestCallback_OnReadCompletedFunc OnReadCompletedFunc_;
580 const Cronet_UrlRequestCallback_OnSucceededFunc OnSucceededFunc_;
581 const Cronet_UrlRequestCallback_OnFailedFunc OnFailedFunc_;
582 const Cronet_UrlRequestCallback_OnCanceledFunc OnCanceledFunc_;
583
584 DISALLOW_COPY_AND_ASSIGN(Cronet_UrlRequestCallbackStub);
585 };
586
Cronet_UrlRequestCallback_CreateWith(Cronet_UrlRequestCallback_OnRedirectReceivedFunc OnRedirectReceivedFunc,Cronet_UrlRequestCallback_OnResponseStartedFunc OnResponseStartedFunc,Cronet_UrlRequestCallback_OnReadCompletedFunc OnReadCompletedFunc,Cronet_UrlRequestCallback_OnSucceededFunc OnSucceededFunc,Cronet_UrlRequestCallback_OnFailedFunc OnFailedFunc,Cronet_UrlRequestCallback_OnCanceledFunc OnCanceledFunc)587 Cronet_UrlRequestCallbackPtr Cronet_UrlRequestCallback_CreateWith(
588 Cronet_UrlRequestCallback_OnRedirectReceivedFunc OnRedirectReceivedFunc,
589 Cronet_UrlRequestCallback_OnResponseStartedFunc OnResponseStartedFunc,
590 Cronet_UrlRequestCallback_OnReadCompletedFunc OnReadCompletedFunc,
591 Cronet_UrlRequestCallback_OnSucceededFunc OnSucceededFunc,
592 Cronet_UrlRequestCallback_OnFailedFunc OnFailedFunc,
593 Cronet_UrlRequestCallback_OnCanceledFunc OnCanceledFunc) {
594 return new Cronet_UrlRequestCallbackStub(
595 OnRedirectReceivedFunc, OnResponseStartedFunc, OnReadCompletedFunc,
596 OnSucceededFunc, OnFailedFunc, OnCanceledFunc);
597 }
598
599 // C functions of Cronet_UploadDataSink that forward calls to C++
600 // implementation.
Cronet_UploadDataSink_Destroy(Cronet_UploadDataSinkPtr self)601 void Cronet_UploadDataSink_Destroy(Cronet_UploadDataSinkPtr self) {
602 DCHECK(self);
603 return delete self;
604 }
605
Cronet_UploadDataSink_SetClientContext(Cronet_UploadDataSinkPtr self,Cronet_ClientContext client_context)606 void Cronet_UploadDataSink_SetClientContext(
607 Cronet_UploadDataSinkPtr self,
608 Cronet_ClientContext client_context) {
609 DCHECK(self);
610 self->set_client_context(client_context);
611 }
612
Cronet_UploadDataSink_GetClientContext(Cronet_UploadDataSinkPtr self)613 Cronet_ClientContext Cronet_UploadDataSink_GetClientContext(
614 Cronet_UploadDataSinkPtr self) {
615 DCHECK(self);
616 return self->client_context();
617 }
618
Cronet_UploadDataSink_OnReadSucceeded(Cronet_UploadDataSinkPtr self,uint64_t bytes_read,bool final_chunk)619 void Cronet_UploadDataSink_OnReadSucceeded(Cronet_UploadDataSinkPtr self,
620 uint64_t bytes_read,
621 bool final_chunk) {
622 DCHECK(self);
623 self->OnReadSucceeded(bytes_read, final_chunk);
624 }
625
Cronet_UploadDataSink_OnReadError(Cronet_UploadDataSinkPtr self,Cronet_String error_message)626 void Cronet_UploadDataSink_OnReadError(Cronet_UploadDataSinkPtr self,
627 Cronet_String error_message) {
628 DCHECK(self);
629 self->OnReadError(error_message);
630 }
631
Cronet_UploadDataSink_OnRewindSucceeded(Cronet_UploadDataSinkPtr self)632 void Cronet_UploadDataSink_OnRewindSucceeded(Cronet_UploadDataSinkPtr self) {
633 DCHECK(self);
634 self->OnRewindSucceeded();
635 }
636
Cronet_UploadDataSink_OnRewindError(Cronet_UploadDataSinkPtr self,Cronet_String error_message)637 void Cronet_UploadDataSink_OnRewindError(Cronet_UploadDataSinkPtr self,
638 Cronet_String error_message) {
639 DCHECK(self);
640 self->OnRewindError(error_message);
641 }
642
643 // Implementation of Cronet_UploadDataSink that forwards calls to C functions
644 // implemented by the app.
645 class Cronet_UploadDataSinkStub : public Cronet_UploadDataSink {
646 public:
Cronet_UploadDataSinkStub(Cronet_UploadDataSink_OnReadSucceededFunc OnReadSucceededFunc,Cronet_UploadDataSink_OnReadErrorFunc OnReadErrorFunc,Cronet_UploadDataSink_OnRewindSucceededFunc OnRewindSucceededFunc,Cronet_UploadDataSink_OnRewindErrorFunc OnRewindErrorFunc)647 Cronet_UploadDataSinkStub(
648 Cronet_UploadDataSink_OnReadSucceededFunc OnReadSucceededFunc,
649 Cronet_UploadDataSink_OnReadErrorFunc OnReadErrorFunc,
650 Cronet_UploadDataSink_OnRewindSucceededFunc OnRewindSucceededFunc,
651 Cronet_UploadDataSink_OnRewindErrorFunc OnRewindErrorFunc)
652 : OnReadSucceededFunc_(OnReadSucceededFunc),
653 OnReadErrorFunc_(OnReadErrorFunc),
654 OnRewindSucceededFunc_(OnRewindSucceededFunc),
655 OnRewindErrorFunc_(OnRewindErrorFunc) {}
656
~Cronet_UploadDataSinkStub()657 ~Cronet_UploadDataSinkStub() override {}
658
659 protected:
OnReadSucceeded(uint64_t bytes_read,bool final_chunk)660 void OnReadSucceeded(uint64_t bytes_read, bool final_chunk) override {
661 OnReadSucceededFunc_(this, bytes_read, final_chunk);
662 }
663
OnReadError(Cronet_String error_message)664 void OnReadError(Cronet_String error_message) override {
665 OnReadErrorFunc_(this, error_message);
666 }
667
OnRewindSucceeded()668 void OnRewindSucceeded() override { OnRewindSucceededFunc_(this); }
669
OnRewindError(Cronet_String error_message)670 void OnRewindError(Cronet_String error_message) override {
671 OnRewindErrorFunc_(this, error_message);
672 }
673
674 private:
675 const Cronet_UploadDataSink_OnReadSucceededFunc OnReadSucceededFunc_;
676 const Cronet_UploadDataSink_OnReadErrorFunc OnReadErrorFunc_;
677 const Cronet_UploadDataSink_OnRewindSucceededFunc OnRewindSucceededFunc_;
678 const Cronet_UploadDataSink_OnRewindErrorFunc OnRewindErrorFunc_;
679
680 DISALLOW_COPY_AND_ASSIGN(Cronet_UploadDataSinkStub);
681 };
682
Cronet_UploadDataSink_CreateWith(Cronet_UploadDataSink_OnReadSucceededFunc OnReadSucceededFunc,Cronet_UploadDataSink_OnReadErrorFunc OnReadErrorFunc,Cronet_UploadDataSink_OnRewindSucceededFunc OnRewindSucceededFunc,Cronet_UploadDataSink_OnRewindErrorFunc OnRewindErrorFunc)683 Cronet_UploadDataSinkPtr Cronet_UploadDataSink_CreateWith(
684 Cronet_UploadDataSink_OnReadSucceededFunc OnReadSucceededFunc,
685 Cronet_UploadDataSink_OnReadErrorFunc OnReadErrorFunc,
686 Cronet_UploadDataSink_OnRewindSucceededFunc OnRewindSucceededFunc,
687 Cronet_UploadDataSink_OnRewindErrorFunc OnRewindErrorFunc) {
688 return new Cronet_UploadDataSinkStub(OnReadSucceededFunc, OnReadErrorFunc,
689 OnRewindSucceededFunc,
690 OnRewindErrorFunc);
691 }
692
693 // C functions of Cronet_UploadDataProvider that forward calls to C++
694 // implementation.
Cronet_UploadDataProvider_Destroy(Cronet_UploadDataProviderPtr self)695 void Cronet_UploadDataProvider_Destroy(Cronet_UploadDataProviderPtr self) {
696 DCHECK(self);
697 return delete self;
698 }
699
Cronet_UploadDataProvider_SetClientContext(Cronet_UploadDataProviderPtr self,Cronet_ClientContext client_context)700 void Cronet_UploadDataProvider_SetClientContext(
701 Cronet_UploadDataProviderPtr self,
702 Cronet_ClientContext client_context) {
703 DCHECK(self);
704 self->set_client_context(client_context);
705 }
706
Cronet_UploadDataProvider_GetClientContext(Cronet_UploadDataProviderPtr self)707 Cronet_ClientContext Cronet_UploadDataProvider_GetClientContext(
708 Cronet_UploadDataProviderPtr self) {
709 DCHECK(self);
710 return self->client_context();
711 }
712
Cronet_UploadDataProvider_GetLength(Cronet_UploadDataProviderPtr self)713 int64_t Cronet_UploadDataProvider_GetLength(Cronet_UploadDataProviderPtr self) {
714 DCHECK(self);
715 return self->GetLength();
716 }
717
Cronet_UploadDataProvider_Read(Cronet_UploadDataProviderPtr self,Cronet_UploadDataSinkPtr upload_data_sink,Cronet_BufferPtr buffer)718 void Cronet_UploadDataProvider_Read(Cronet_UploadDataProviderPtr self,
719 Cronet_UploadDataSinkPtr upload_data_sink,
720 Cronet_BufferPtr buffer) {
721 DCHECK(self);
722 self->Read(upload_data_sink, buffer);
723 }
724
Cronet_UploadDataProvider_Rewind(Cronet_UploadDataProviderPtr self,Cronet_UploadDataSinkPtr upload_data_sink)725 void Cronet_UploadDataProvider_Rewind(
726 Cronet_UploadDataProviderPtr self,
727 Cronet_UploadDataSinkPtr upload_data_sink) {
728 DCHECK(self);
729 self->Rewind(upload_data_sink);
730 }
731
Cronet_UploadDataProvider_Close(Cronet_UploadDataProviderPtr self)732 void Cronet_UploadDataProvider_Close(Cronet_UploadDataProviderPtr self) {
733 DCHECK(self);
734 self->Close();
735 }
736
737 // Implementation of Cronet_UploadDataProvider that forwards calls to C
738 // functions implemented by the app.
739 class Cronet_UploadDataProviderStub : public Cronet_UploadDataProvider {
740 public:
Cronet_UploadDataProviderStub(Cronet_UploadDataProvider_GetLengthFunc GetLengthFunc,Cronet_UploadDataProvider_ReadFunc ReadFunc,Cronet_UploadDataProvider_RewindFunc RewindFunc,Cronet_UploadDataProvider_CloseFunc CloseFunc)741 Cronet_UploadDataProviderStub(
742 Cronet_UploadDataProvider_GetLengthFunc GetLengthFunc,
743 Cronet_UploadDataProvider_ReadFunc ReadFunc,
744 Cronet_UploadDataProvider_RewindFunc RewindFunc,
745 Cronet_UploadDataProvider_CloseFunc CloseFunc)
746 : GetLengthFunc_(GetLengthFunc),
747 ReadFunc_(ReadFunc),
748 RewindFunc_(RewindFunc),
749 CloseFunc_(CloseFunc) {}
750
~Cronet_UploadDataProviderStub()751 ~Cronet_UploadDataProviderStub() override {}
752
753 protected:
GetLength()754 int64_t GetLength() override { return GetLengthFunc_(this); }
755
Read(Cronet_UploadDataSinkPtr upload_data_sink,Cronet_BufferPtr buffer)756 void Read(Cronet_UploadDataSinkPtr upload_data_sink,
757 Cronet_BufferPtr buffer) override {
758 ReadFunc_(this, upload_data_sink, buffer);
759 }
760
Rewind(Cronet_UploadDataSinkPtr upload_data_sink)761 void Rewind(Cronet_UploadDataSinkPtr upload_data_sink) override {
762 RewindFunc_(this, upload_data_sink);
763 }
764
Close()765 void Close() override { CloseFunc_(this); }
766
767 private:
768 const Cronet_UploadDataProvider_GetLengthFunc GetLengthFunc_;
769 const Cronet_UploadDataProvider_ReadFunc ReadFunc_;
770 const Cronet_UploadDataProvider_RewindFunc RewindFunc_;
771 const Cronet_UploadDataProvider_CloseFunc CloseFunc_;
772
773 DISALLOW_COPY_AND_ASSIGN(Cronet_UploadDataProviderStub);
774 };
775
Cronet_UploadDataProvider_CreateWith(Cronet_UploadDataProvider_GetLengthFunc GetLengthFunc,Cronet_UploadDataProvider_ReadFunc ReadFunc,Cronet_UploadDataProvider_RewindFunc RewindFunc,Cronet_UploadDataProvider_CloseFunc CloseFunc)776 Cronet_UploadDataProviderPtr Cronet_UploadDataProvider_CreateWith(
777 Cronet_UploadDataProvider_GetLengthFunc GetLengthFunc,
778 Cronet_UploadDataProvider_ReadFunc ReadFunc,
779 Cronet_UploadDataProvider_RewindFunc RewindFunc,
780 Cronet_UploadDataProvider_CloseFunc CloseFunc) {
781 return new Cronet_UploadDataProviderStub(GetLengthFunc, ReadFunc, RewindFunc,
782 CloseFunc);
783 }
784
785 // C functions of Cronet_UrlRequest that forward calls to C++ implementation.
Cronet_UrlRequest_Destroy(Cronet_UrlRequestPtr self)786 void Cronet_UrlRequest_Destroy(Cronet_UrlRequestPtr self) {
787 DCHECK(self);
788 return delete self;
789 }
790
Cronet_UrlRequest_SetClientContext(Cronet_UrlRequestPtr self,Cronet_ClientContext client_context)791 void Cronet_UrlRequest_SetClientContext(Cronet_UrlRequestPtr self,
792 Cronet_ClientContext client_context) {
793 DCHECK(self);
794 self->set_client_context(client_context);
795 }
796
Cronet_UrlRequest_GetClientContext(Cronet_UrlRequestPtr self)797 Cronet_ClientContext Cronet_UrlRequest_GetClientContext(
798 Cronet_UrlRequestPtr self) {
799 DCHECK(self);
800 return self->client_context();
801 }
802
Cronet_UrlRequest_InitWithParams(Cronet_UrlRequestPtr self,Cronet_EnginePtr engine,Cronet_String url,Cronet_UrlRequestParamsPtr params,Cronet_UrlRequestCallbackPtr callback,Cronet_ExecutorPtr executor)803 Cronet_RESULT Cronet_UrlRequest_InitWithParams(
804 Cronet_UrlRequestPtr self,
805 Cronet_EnginePtr engine,
806 Cronet_String url,
807 Cronet_UrlRequestParamsPtr params,
808 Cronet_UrlRequestCallbackPtr callback,
809 Cronet_ExecutorPtr executor) {
810 DCHECK(self);
811 return self->InitWithParams(engine, url, params, callback, executor);
812 }
813
Cronet_UrlRequest_Start(Cronet_UrlRequestPtr self)814 Cronet_RESULT Cronet_UrlRequest_Start(Cronet_UrlRequestPtr self) {
815 DCHECK(self);
816 return self->Start();
817 }
818
Cronet_UrlRequest_FollowRedirect(Cronet_UrlRequestPtr self)819 Cronet_RESULT Cronet_UrlRequest_FollowRedirect(Cronet_UrlRequestPtr self) {
820 DCHECK(self);
821 return self->FollowRedirect();
822 }
823
Cronet_UrlRequest_Read(Cronet_UrlRequestPtr self,Cronet_BufferPtr buffer)824 Cronet_RESULT Cronet_UrlRequest_Read(Cronet_UrlRequestPtr self,
825 Cronet_BufferPtr buffer) {
826 DCHECK(self);
827 return self->Read(buffer);
828 }
829
Cronet_UrlRequest_Cancel(Cronet_UrlRequestPtr self)830 void Cronet_UrlRequest_Cancel(Cronet_UrlRequestPtr self) {
831 DCHECK(self);
832 self->Cancel();
833 }
834
Cronet_UrlRequest_IsDone(Cronet_UrlRequestPtr self)835 bool Cronet_UrlRequest_IsDone(Cronet_UrlRequestPtr self) {
836 DCHECK(self);
837 return self->IsDone();
838 }
839
Cronet_UrlRequest_GetStatus(Cronet_UrlRequestPtr self,Cronet_UrlRequestStatusListenerPtr listener)840 void Cronet_UrlRequest_GetStatus(Cronet_UrlRequestPtr self,
841 Cronet_UrlRequestStatusListenerPtr listener) {
842 DCHECK(self);
843 self->GetStatus(listener);
844 }
845
846 // Implementation of Cronet_UrlRequest that forwards calls to C functions
847 // implemented by the app.
848 class Cronet_UrlRequestStub : public Cronet_UrlRequest {
849 public:
Cronet_UrlRequestStub(Cronet_UrlRequest_InitWithParamsFunc InitWithParamsFunc,Cronet_UrlRequest_StartFunc StartFunc,Cronet_UrlRequest_FollowRedirectFunc FollowRedirectFunc,Cronet_UrlRequest_ReadFunc ReadFunc,Cronet_UrlRequest_CancelFunc CancelFunc,Cronet_UrlRequest_IsDoneFunc IsDoneFunc,Cronet_UrlRequest_GetStatusFunc GetStatusFunc)850 Cronet_UrlRequestStub(Cronet_UrlRequest_InitWithParamsFunc InitWithParamsFunc,
851 Cronet_UrlRequest_StartFunc StartFunc,
852 Cronet_UrlRequest_FollowRedirectFunc FollowRedirectFunc,
853 Cronet_UrlRequest_ReadFunc ReadFunc,
854 Cronet_UrlRequest_CancelFunc CancelFunc,
855 Cronet_UrlRequest_IsDoneFunc IsDoneFunc,
856 Cronet_UrlRequest_GetStatusFunc GetStatusFunc)
857 : InitWithParamsFunc_(InitWithParamsFunc),
858 StartFunc_(StartFunc),
859 FollowRedirectFunc_(FollowRedirectFunc),
860 ReadFunc_(ReadFunc),
861 CancelFunc_(CancelFunc),
862 IsDoneFunc_(IsDoneFunc),
863 GetStatusFunc_(GetStatusFunc) {}
864
~Cronet_UrlRequestStub()865 ~Cronet_UrlRequestStub() override {}
866
867 protected:
InitWithParams(Cronet_EnginePtr engine,Cronet_String url,Cronet_UrlRequestParamsPtr params,Cronet_UrlRequestCallbackPtr callback,Cronet_ExecutorPtr executor)868 Cronet_RESULT InitWithParams(Cronet_EnginePtr engine,
869 Cronet_String url,
870 Cronet_UrlRequestParamsPtr params,
871 Cronet_UrlRequestCallbackPtr callback,
872 Cronet_ExecutorPtr executor) override {
873 return InitWithParamsFunc_(this, engine, url, params, callback, executor);
874 }
875
Start()876 Cronet_RESULT Start() override { return StartFunc_(this); }
877
FollowRedirect()878 Cronet_RESULT FollowRedirect() override { return FollowRedirectFunc_(this); }
879
Read(Cronet_BufferPtr buffer)880 Cronet_RESULT Read(Cronet_BufferPtr buffer) override {
881 return ReadFunc_(this, buffer);
882 }
883
Cancel()884 void Cancel() override { CancelFunc_(this); }
885
IsDone()886 bool IsDone() override { return IsDoneFunc_(this); }
887
GetStatus(Cronet_UrlRequestStatusListenerPtr listener)888 void GetStatus(Cronet_UrlRequestStatusListenerPtr listener) override {
889 GetStatusFunc_(this, listener);
890 }
891
892 private:
893 const Cronet_UrlRequest_InitWithParamsFunc InitWithParamsFunc_;
894 const Cronet_UrlRequest_StartFunc StartFunc_;
895 const Cronet_UrlRequest_FollowRedirectFunc FollowRedirectFunc_;
896 const Cronet_UrlRequest_ReadFunc ReadFunc_;
897 const Cronet_UrlRequest_CancelFunc CancelFunc_;
898 const Cronet_UrlRequest_IsDoneFunc IsDoneFunc_;
899 const Cronet_UrlRequest_GetStatusFunc GetStatusFunc_;
900
901 DISALLOW_COPY_AND_ASSIGN(Cronet_UrlRequestStub);
902 };
903
Cronet_UrlRequest_CreateWith(Cronet_UrlRequest_InitWithParamsFunc InitWithParamsFunc,Cronet_UrlRequest_StartFunc StartFunc,Cronet_UrlRequest_FollowRedirectFunc FollowRedirectFunc,Cronet_UrlRequest_ReadFunc ReadFunc,Cronet_UrlRequest_CancelFunc CancelFunc,Cronet_UrlRequest_IsDoneFunc IsDoneFunc,Cronet_UrlRequest_GetStatusFunc GetStatusFunc)904 Cronet_UrlRequestPtr Cronet_UrlRequest_CreateWith(
905 Cronet_UrlRequest_InitWithParamsFunc InitWithParamsFunc,
906 Cronet_UrlRequest_StartFunc StartFunc,
907 Cronet_UrlRequest_FollowRedirectFunc FollowRedirectFunc,
908 Cronet_UrlRequest_ReadFunc ReadFunc,
909 Cronet_UrlRequest_CancelFunc CancelFunc,
910 Cronet_UrlRequest_IsDoneFunc IsDoneFunc,
911 Cronet_UrlRequest_GetStatusFunc GetStatusFunc) {
912 return new Cronet_UrlRequestStub(InitWithParamsFunc, StartFunc,
913 FollowRedirectFunc, ReadFunc, CancelFunc,
914 IsDoneFunc, GetStatusFunc);
915 }
916
917 // C functions of Cronet_RequestFinishedInfoListener that forward calls to C++
918 // implementation.
Cronet_RequestFinishedInfoListener_Destroy(Cronet_RequestFinishedInfoListenerPtr self)919 void Cronet_RequestFinishedInfoListener_Destroy(
920 Cronet_RequestFinishedInfoListenerPtr self) {
921 DCHECK(self);
922 return delete self;
923 }
924
Cronet_RequestFinishedInfoListener_SetClientContext(Cronet_RequestFinishedInfoListenerPtr self,Cronet_ClientContext client_context)925 void Cronet_RequestFinishedInfoListener_SetClientContext(
926 Cronet_RequestFinishedInfoListenerPtr self,
927 Cronet_ClientContext client_context) {
928 DCHECK(self);
929 self->set_client_context(client_context);
930 }
931
Cronet_RequestFinishedInfoListener_GetClientContext(Cronet_RequestFinishedInfoListenerPtr self)932 Cronet_ClientContext Cronet_RequestFinishedInfoListener_GetClientContext(
933 Cronet_RequestFinishedInfoListenerPtr self) {
934 DCHECK(self);
935 return self->client_context();
936 }
937
Cronet_RequestFinishedInfoListener_OnRequestFinished(Cronet_RequestFinishedInfoListenerPtr self,Cronet_RequestFinishedInfoPtr request_info,Cronet_UrlResponseInfoPtr response_info,Cronet_ErrorPtr error)938 void Cronet_RequestFinishedInfoListener_OnRequestFinished(
939 Cronet_RequestFinishedInfoListenerPtr self,
940 Cronet_RequestFinishedInfoPtr request_info,
941 Cronet_UrlResponseInfoPtr response_info,
942 Cronet_ErrorPtr error) {
943 DCHECK(self);
944 self->OnRequestFinished(request_info, response_info, error);
945 }
946
947 // Implementation of Cronet_RequestFinishedInfoListener that forwards calls to C
948 // functions implemented by the app.
949 class Cronet_RequestFinishedInfoListenerStub
950 : public Cronet_RequestFinishedInfoListener {
951 public:
Cronet_RequestFinishedInfoListenerStub(Cronet_RequestFinishedInfoListener_OnRequestFinishedFunc OnRequestFinishedFunc)952 explicit Cronet_RequestFinishedInfoListenerStub(
953 Cronet_RequestFinishedInfoListener_OnRequestFinishedFunc
954 OnRequestFinishedFunc)
955 : OnRequestFinishedFunc_(OnRequestFinishedFunc) {}
956
~Cronet_RequestFinishedInfoListenerStub()957 ~Cronet_RequestFinishedInfoListenerStub() override {}
958
959 protected:
OnRequestFinished(Cronet_RequestFinishedInfoPtr request_info,Cronet_UrlResponseInfoPtr response_info,Cronet_ErrorPtr error)960 void OnRequestFinished(Cronet_RequestFinishedInfoPtr request_info,
961 Cronet_UrlResponseInfoPtr response_info,
962 Cronet_ErrorPtr error) override {
963 OnRequestFinishedFunc_(this, request_info, response_info, error);
964 }
965
966 private:
967 const Cronet_RequestFinishedInfoListener_OnRequestFinishedFunc
968 OnRequestFinishedFunc_;
969
970 DISALLOW_COPY_AND_ASSIGN(Cronet_RequestFinishedInfoListenerStub);
971 };
972
973 Cronet_RequestFinishedInfoListenerPtr
Cronet_RequestFinishedInfoListener_CreateWith(Cronet_RequestFinishedInfoListener_OnRequestFinishedFunc OnRequestFinishedFunc)974 Cronet_RequestFinishedInfoListener_CreateWith(
975 Cronet_RequestFinishedInfoListener_OnRequestFinishedFunc
976 OnRequestFinishedFunc) {
977 return new Cronet_RequestFinishedInfoListenerStub(OnRequestFinishedFunc);
978 }
979