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 #ifndef COMPONENTS_CRONET_NATIVE_GENERATED_CRONET_IDL_C_H_ 8 #define COMPONENTS_CRONET_NATIVE_GENERATED_CRONET_IDL_C_H_ 9 #include "cronet_export.h" 10 11 #ifdef __cplusplus 12 extern "C" { 13 #endif 14 15 #include <stdint.h> 16 17 typedef const char* Cronet_String; 18 typedef void* Cronet_RawDataPtr; 19 typedef void* Cronet_ClientContext; 20 21 // Forward declare interfaces. 22 typedef struct Cronet_Buffer Cronet_Buffer; 23 typedef struct Cronet_Buffer* Cronet_BufferPtr; 24 typedef struct Cronet_BufferCallback Cronet_BufferCallback; 25 typedef struct Cronet_BufferCallback* Cronet_BufferCallbackPtr; 26 typedef struct Cronet_Runnable Cronet_Runnable; 27 typedef struct Cronet_Runnable* Cronet_RunnablePtr; 28 typedef struct Cronet_Executor Cronet_Executor; 29 typedef struct Cronet_Executor* Cronet_ExecutorPtr; 30 typedef struct Cronet_Engine Cronet_Engine; 31 typedef struct Cronet_Engine* Cronet_EnginePtr; 32 typedef struct Cronet_UrlRequestStatusListener Cronet_UrlRequestStatusListener; 33 typedef struct Cronet_UrlRequestStatusListener* 34 Cronet_UrlRequestStatusListenerPtr; 35 typedef struct Cronet_UrlRequestCallback Cronet_UrlRequestCallback; 36 typedef struct Cronet_UrlRequestCallback* Cronet_UrlRequestCallbackPtr; 37 typedef struct Cronet_UploadDataSink Cronet_UploadDataSink; 38 typedef struct Cronet_UploadDataSink* Cronet_UploadDataSinkPtr; 39 typedef struct Cronet_UploadDataProvider Cronet_UploadDataProvider; 40 typedef struct Cronet_UploadDataProvider* Cronet_UploadDataProviderPtr; 41 typedef struct Cronet_UrlRequest Cronet_UrlRequest; 42 typedef struct Cronet_UrlRequest* Cronet_UrlRequestPtr; 43 typedef struct Cronet_RequestFinishedInfoListener 44 Cronet_RequestFinishedInfoListener; 45 typedef struct Cronet_RequestFinishedInfoListener* 46 Cronet_RequestFinishedInfoListenerPtr; 47 48 // Forward declare structs. 49 typedef struct Cronet_Error Cronet_Error; 50 typedef struct Cronet_Error* Cronet_ErrorPtr; 51 typedef struct Cronet_QuicHint Cronet_QuicHint; 52 typedef struct Cronet_QuicHint* Cronet_QuicHintPtr; 53 typedef struct Cronet_PublicKeyPins Cronet_PublicKeyPins; 54 typedef struct Cronet_PublicKeyPins* Cronet_PublicKeyPinsPtr; 55 typedef struct Cronet_EngineParams Cronet_EngineParams; 56 typedef struct Cronet_EngineParams* Cronet_EngineParamsPtr; 57 typedef struct Cronet_HttpHeader Cronet_HttpHeader; 58 typedef struct Cronet_HttpHeader* Cronet_HttpHeaderPtr; 59 typedef struct Cronet_UrlResponseInfo Cronet_UrlResponseInfo; 60 typedef struct Cronet_UrlResponseInfo* Cronet_UrlResponseInfoPtr; 61 typedef struct Cronet_UrlRequestParams Cronet_UrlRequestParams; 62 typedef struct Cronet_UrlRequestParams* Cronet_UrlRequestParamsPtr; 63 typedef struct Cronet_DateTime Cronet_DateTime; 64 typedef struct Cronet_DateTime* Cronet_DateTimePtr; 65 typedef struct Cronet_Metrics Cronet_Metrics; 66 typedef struct Cronet_Metrics* Cronet_MetricsPtr; 67 typedef struct Cronet_RequestFinishedInfo Cronet_RequestFinishedInfo; 68 typedef struct Cronet_RequestFinishedInfo* Cronet_RequestFinishedInfoPtr; 69 70 // Declare enums 71 typedef enum Cronet_RESULT { 72 Cronet_RESULT_SUCCESS = 0, 73 Cronet_RESULT_ILLEGAL_ARGUMENT = -100, 74 Cronet_RESULT_ILLEGAL_ARGUMENT_STORAGE_PATH_MUST_EXIST = -101, 75 Cronet_RESULT_ILLEGAL_ARGUMENT_INVALID_PIN = -102, 76 Cronet_RESULT_ILLEGAL_ARGUMENT_INVALID_HOSTNAME = -103, 77 Cronet_RESULT_ILLEGAL_ARGUMENT_INVALID_HTTP_METHOD = -104, 78 Cronet_RESULT_ILLEGAL_ARGUMENT_INVALID_HTTP_HEADER = -105, 79 Cronet_RESULT_ILLEGAL_STATE = -200, 80 Cronet_RESULT_ILLEGAL_STATE_STORAGE_PATH_IN_USE = -201, 81 Cronet_RESULT_ILLEGAL_STATE_CANNOT_SHUTDOWN_ENGINE_FROM_NETWORK_THREAD = -202, 82 Cronet_RESULT_ILLEGAL_STATE_ENGINE_ALREADY_STARTED = -203, 83 Cronet_RESULT_ILLEGAL_STATE_REQUEST_ALREADY_STARTED = -204, 84 Cronet_RESULT_ILLEGAL_STATE_REQUEST_NOT_INITIALIZED = -205, 85 Cronet_RESULT_ILLEGAL_STATE_REQUEST_ALREADY_INITIALIZED = -206, 86 Cronet_RESULT_ILLEGAL_STATE_REQUEST_NOT_STARTED = -207, 87 Cronet_RESULT_ILLEGAL_STATE_UNEXPECTED_REDIRECT = -208, 88 Cronet_RESULT_ILLEGAL_STATE_UNEXPECTED_READ = -209, 89 Cronet_RESULT_ILLEGAL_STATE_READ_FAILED = -210, 90 Cronet_RESULT_NULL_POINTER = -300, 91 Cronet_RESULT_NULL_POINTER_HOSTNAME = -301, 92 Cronet_RESULT_NULL_POINTER_SHA256_PINS = -302, 93 Cronet_RESULT_NULL_POINTER_EXPIRATION_DATE = -303, 94 Cronet_RESULT_NULL_POINTER_ENGINE = -304, 95 Cronet_RESULT_NULL_POINTER_URL = -305, 96 Cronet_RESULT_NULL_POINTER_CALLBACK = -306, 97 Cronet_RESULT_NULL_POINTER_EXECUTOR = -307, 98 Cronet_RESULT_NULL_POINTER_METHOD = -308, 99 Cronet_RESULT_NULL_POINTER_HEADER_NAME = -309, 100 Cronet_RESULT_NULL_POINTER_HEADER_VALUE = -310, 101 Cronet_RESULT_NULL_POINTER_PARAMS = -311, 102 Cronet_RESULT_NULL_POINTER_REQUEST_FINISHED_INFO_LISTENER_EXECUTOR = -312, 103 } Cronet_RESULT; 104 105 typedef enum Cronet_Error_ERROR_CODE { 106 Cronet_Error_ERROR_CODE_ERROR_CALLBACK = 0, 107 Cronet_Error_ERROR_CODE_ERROR_HOSTNAME_NOT_RESOLVED = 1, 108 Cronet_Error_ERROR_CODE_ERROR_INTERNET_DISCONNECTED = 2, 109 Cronet_Error_ERROR_CODE_ERROR_NETWORK_CHANGED = 3, 110 Cronet_Error_ERROR_CODE_ERROR_TIMED_OUT = 4, 111 Cronet_Error_ERROR_CODE_ERROR_CONNECTION_CLOSED = 5, 112 Cronet_Error_ERROR_CODE_ERROR_CONNECTION_TIMED_OUT = 6, 113 Cronet_Error_ERROR_CODE_ERROR_CONNECTION_REFUSED = 7, 114 Cronet_Error_ERROR_CODE_ERROR_CONNECTION_RESET = 8, 115 Cronet_Error_ERROR_CODE_ERROR_ADDRESS_UNREACHABLE = 9, 116 Cronet_Error_ERROR_CODE_ERROR_QUIC_PROTOCOL_FAILED = 10, 117 Cronet_Error_ERROR_CODE_ERROR_OTHER = 11, 118 } Cronet_Error_ERROR_CODE; 119 120 typedef enum Cronet_EngineParams_HTTP_CACHE_MODE { 121 Cronet_EngineParams_HTTP_CACHE_MODE_DISABLED = 0, 122 Cronet_EngineParams_HTTP_CACHE_MODE_IN_MEMORY = 1, 123 Cronet_EngineParams_HTTP_CACHE_MODE_DISK_NO_HTTP = 2, 124 Cronet_EngineParams_HTTP_CACHE_MODE_DISK = 3, 125 } Cronet_EngineParams_HTTP_CACHE_MODE; 126 127 typedef enum Cronet_UrlRequestParams_REQUEST_PRIORITY { 128 Cronet_UrlRequestParams_REQUEST_PRIORITY_REQUEST_PRIORITY_IDLE = 0, 129 Cronet_UrlRequestParams_REQUEST_PRIORITY_REQUEST_PRIORITY_LOWEST = 1, 130 Cronet_UrlRequestParams_REQUEST_PRIORITY_REQUEST_PRIORITY_LOW = 2, 131 Cronet_UrlRequestParams_REQUEST_PRIORITY_REQUEST_PRIORITY_MEDIUM = 3, 132 Cronet_UrlRequestParams_REQUEST_PRIORITY_REQUEST_PRIORITY_HIGHEST = 4, 133 } Cronet_UrlRequestParams_REQUEST_PRIORITY; 134 135 typedef enum Cronet_UrlRequestParams_IDEMPOTENCY { 136 Cronet_UrlRequestParams_IDEMPOTENCY_DEFAULT_IDEMPOTENCY = 0, 137 Cronet_UrlRequestParams_IDEMPOTENCY_IDEMPOTENT = 1, 138 Cronet_UrlRequestParams_IDEMPOTENCY_NOT_IDEMPOTENT = 2, 139 } Cronet_UrlRequestParams_IDEMPOTENCY; 140 141 typedef enum Cronet_RequestFinishedInfo_FINISHED_REASON { 142 Cronet_RequestFinishedInfo_FINISHED_REASON_SUCCEEDED = 0, 143 Cronet_RequestFinishedInfo_FINISHED_REASON_FAILED = 1, 144 Cronet_RequestFinishedInfo_FINISHED_REASON_CANCELED = 2, 145 } Cronet_RequestFinishedInfo_FINISHED_REASON; 146 147 typedef enum Cronet_UrlRequestStatusListener_Status { 148 Cronet_UrlRequestStatusListener_Status_INVALID = -1, 149 Cronet_UrlRequestStatusListener_Status_IDLE = 0, 150 Cronet_UrlRequestStatusListener_Status_WAITING_FOR_STALLED_SOCKET_POOL = 1, 151 Cronet_UrlRequestStatusListener_Status_WAITING_FOR_AVAILABLE_SOCKET = 2, 152 Cronet_UrlRequestStatusListener_Status_WAITING_FOR_DELEGATE = 3, 153 Cronet_UrlRequestStatusListener_Status_WAITING_FOR_CACHE = 4, 154 Cronet_UrlRequestStatusListener_Status_DOWNLOADING_PAC_FILE = 5, 155 Cronet_UrlRequestStatusListener_Status_RESOLVING_PROXY_FOR_URL = 6, 156 Cronet_UrlRequestStatusListener_Status_RESOLVING_HOST_IN_PAC_FILE = 7, 157 Cronet_UrlRequestStatusListener_Status_ESTABLISHING_PROXY_TUNNEL = 8, 158 Cronet_UrlRequestStatusListener_Status_RESOLVING_HOST = 9, 159 Cronet_UrlRequestStatusListener_Status_CONNECTING = 10, 160 Cronet_UrlRequestStatusListener_Status_SSL_HANDSHAKE = 11, 161 Cronet_UrlRequestStatusListener_Status_SENDING_REQUEST = 12, 162 Cronet_UrlRequestStatusListener_Status_WAITING_FOR_RESPONSE = 13, 163 Cronet_UrlRequestStatusListener_Status_READING_RESPONSE = 14, 164 } Cronet_UrlRequestStatusListener_Status; 165 166 // Declare constants 167 168 /////////////////////// 169 // Concrete interface Cronet_Buffer. 170 171 // Create an instance of Cronet_Buffer. 172 CRONET_EXPORT Cronet_BufferPtr Cronet_Buffer_Create(void); 173 // Destroy an instance of Cronet_Buffer. 174 CRONET_EXPORT void Cronet_Buffer_Destroy(Cronet_BufferPtr self); 175 // Set and get app-specific Cronet_ClientContext. 176 CRONET_EXPORT void Cronet_Buffer_SetClientContext( 177 Cronet_BufferPtr self, 178 Cronet_ClientContext client_context); 179 CRONET_EXPORT Cronet_ClientContext 180 Cronet_Buffer_GetClientContext(Cronet_BufferPtr self); 181 // Concrete methods of Cronet_Buffer implemented by Cronet. 182 // The app calls them to manipulate Cronet_Buffer. 183 CRONET_EXPORT 184 void Cronet_Buffer_InitWithDataAndCallback(Cronet_BufferPtr self, 185 Cronet_RawDataPtr data, 186 uint64_t size, 187 Cronet_BufferCallbackPtr callback); 188 CRONET_EXPORT 189 void Cronet_Buffer_InitWithAlloc(Cronet_BufferPtr self, uint64_t size); 190 CRONET_EXPORT 191 uint64_t Cronet_Buffer_GetSize(Cronet_BufferPtr self); 192 CRONET_EXPORT 193 Cronet_RawDataPtr Cronet_Buffer_GetData(Cronet_BufferPtr self); 194 // Concrete interface Cronet_Buffer is implemented by Cronet. 195 // The app can implement these for testing / mocking. 196 typedef void (*Cronet_Buffer_InitWithDataAndCallbackFunc)( 197 Cronet_BufferPtr self, 198 Cronet_RawDataPtr data, 199 uint64_t size, 200 Cronet_BufferCallbackPtr callback); 201 typedef void (*Cronet_Buffer_InitWithAllocFunc)(Cronet_BufferPtr self, 202 uint64_t size); 203 typedef uint64_t (*Cronet_Buffer_GetSizeFunc)(Cronet_BufferPtr self); 204 typedef Cronet_RawDataPtr (*Cronet_Buffer_GetDataFunc)(Cronet_BufferPtr self); 205 // Concrete interface Cronet_Buffer is implemented by Cronet. 206 // The app can use this for testing / mocking. 207 CRONET_EXPORT Cronet_BufferPtr Cronet_Buffer_CreateWith( 208 Cronet_Buffer_InitWithDataAndCallbackFunc InitWithDataAndCallbackFunc, 209 Cronet_Buffer_InitWithAllocFunc InitWithAllocFunc, 210 Cronet_Buffer_GetSizeFunc GetSizeFunc, 211 Cronet_Buffer_GetDataFunc GetDataFunc); 212 213 /////////////////////// 214 // Abstract interface Cronet_BufferCallback is implemented by the app. 215 216 // There is no method to create a concrete implementation. 217 218 // Destroy an instance of Cronet_BufferCallback. 219 CRONET_EXPORT void Cronet_BufferCallback_Destroy(Cronet_BufferCallbackPtr self); 220 // Set and get app-specific Cronet_ClientContext. 221 CRONET_EXPORT void Cronet_BufferCallback_SetClientContext( 222 Cronet_BufferCallbackPtr self, 223 Cronet_ClientContext client_context); 224 CRONET_EXPORT Cronet_ClientContext 225 Cronet_BufferCallback_GetClientContext(Cronet_BufferCallbackPtr self); 226 // Abstract interface Cronet_BufferCallback is implemented by the app. 227 // The following concrete methods forward call to app implementation. 228 // The app doesn't normally call them. 229 CRONET_EXPORT 230 void Cronet_BufferCallback_OnDestroy(Cronet_BufferCallbackPtr self, 231 Cronet_BufferPtr buffer); 232 // The app implements abstract interface Cronet_BufferCallback by defining 233 // custom functions for each method. 234 typedef void (*Cronet_BufferCallback_OnDestroyFunc)( 235 Cronet_BufferCallbackPtr self, 236 Cronet_BufferPtr buffer); 237 // The app creates an instance of Cronet_BufferCallback by providing custom 238 // functions for each method. 239 CRONET_EXPORT Cronet_BufferCallbackPtr Cronet_BufferCallback_CreateWith( 240 Cronet_BufferCallback_OnDestroyFunc OnDestroyFunc); 241 242 /////////////////////// 243 // Abstract interface Cronet_Runnable is implemented by the app. 244 245 // There is no method to create a concrete implementation. 246 247 // Destroy an instance of Cronet_Runnable. 248 CRONET_EXPORT void Cronet_Runnable_Destroy(Cronet_RunnablePtr self); 249 // Set and get app-specific Cronet_ClientContext. 250 CRONET_EXPORT void Cronet_Runnable_SetClientContext( 251 Cronet_RunnablePtr self, 252 Cronet_ClientContext client_context); 253 CRONET_EXPORT Cronet_ClientContext 254 Cronet_Runnable_GetClientContext(Cronet_RunnablePtr self); 255 // Abstract interface Cronet_Runnable is implemented by the app. 256 // The following concrete methods forward call to app implementation. 257 // The app doesn't normally call them. 258 CRONET_EXPORT 259 void Cronet_Runnable_Run(Cronet_RunnablePtr self); 260 // The app implements abstract interface Cronet_Runnable by defining custom 261 // functions for each method. 262 typedef void (*Cronet_Runnable_RunFunc)(Cronet_RunnablePtr self); 263 // The app creates an instance of Cronet_Runnable by providing custom functions 264 // for each method. 265 CRONET_EXPORT Cronet_RunnablePtr 266 Cronet_Runnable_CreateWith(Cronet_Runnable_RunFunc RunFunc); 267 268 /////////////////////// 269 // Abstract interface Cronet_Executor is implemented by the app. 270 271 // There is no method to create a concrete implementation. 272 273 // Destroy an instance of Cronet_Executor. 274 CRONET_EXPORT void Cronet_Executor_Destroy(Cronet_ExecutorPtr self); 275 // Set and get app-specific Cronet_ClientContext. 276 CRONET_EXPORT void Cronet_Executor_SetClientContext( 277 Cronet_ExecutorPtr self, 278 Cronet_ClientContext client_context); 279 CRONET_EXPORT Cronet_ClientContext 280 Cronet_Executor_GetClientContext(Cronet_ExecutorPtr self); 281 // Abstract interface Cronet_Executor is implemented by the app. 282 // The following concrete methods forward call to app implementation. 283 // The app doesn't normally call them. 284 CRONET_EXPORT 285 void Cronet_Executor_Execute(Cronet_ExecutorPtr self, 286 Cronet_RunnablePtr command); 287 // The app implements abstract interface Cronet_Executor by defining custom 288 // functions for each method. 289 typedef void (*Cronet_Executor_ExecuteFunc)(Cronet_ExecutorPtr self, 290 Cronet_RunnablePtr command); 291 // The app creates an instance of Cronet_Executor by providing custom functions 292 // for each method. 293 CRONET_EXPORT Cronet_ExecutorPtr 294 Cronet_Executor_CreateWith(Cronet_Executor_ExecuteFunc ExecuteFunc); 295 296 /////////////////////// 297 // Concrete interface Cronet_Engine. 298 299 // Create an instance of Cronet_Engine. 300 CRONET_EXPORT Cronet_EnginePtr Cronet_Engine_Create(void); 301 // Destroy an instance of Cronet_Engine. 302 CRONET_EXPORT void Cronet_Engine_Destroy(Cronet_EnginePtr self); 303 // Set and get app-specific Cronet_ClientContext. 304 CRONET_EXPORT void Cronet_Engine_SetClientContext( 305 Cronet_EnginePtr self, 306 Cronet_ClientContext client_context); 307 CRONET_EXPORT Cronet_ClientContext 308 Cronet_Engine_GetClientContext(Cronet_EnginePtr self); 309 // Concrete methods of Cronet_Engine implemented by Cronet. 310 // The app calls them to manipulate Cronet_Engine. 311 CRONET_EXPORT 312 Cronet_RESULT Cronet_Engine_StartWithParams(Cronet_EnginePtr self, 313 Cronet_EngineParamsPtr params); 314 CRONET_EXPORT 315 bool Cronet_Engine_StartNetLogToFile(Cronet_EnginePtr self, 316 Cronet_String file_name, 317 bool log_all); 318 CRONET_EXPORT 319 void Cronet_Engine_StopNetLog(Cronet_EnginePtr self); 320 CRONET_EXPORT 321 Cronet_RESULT Cronet_Engine_Shutdown(Cronet_EnginePtr self); 322 CRONET_EXPORT 323 Cronet_String Cronet_Engine_GetVersionString(Cronet_EnginePtr self); 324 CRONET_EXPORT 325 Cronet_String Cronet_Engine_GetDefaultUserAgent(Cronet_EnginePtr self); 326 CRONET_EXPORT 327 void Cronet_Engine_AddRequestFinishedListener( 328 Cronet_EnginePtr self, 329 Cronet_RequestFinishedInfoListenerPtr listener, 330 Cronet_ExecutorPtr executor); 331 CRONET_EXPORT 332 void Cronet_Engine_RemoveRequestFinishedListener( 333 Cronet_EnginePtr self, 334 Cronet_RequestFinishedInfoListenerPtr listener); 335 // Concrete interface Cronet_Engine is implemented by Cronet. 336 // The app can implement these for testing / mocking. 337 typedef Cronet_RESULT (*Cronet_Engine_StartWithParamsFunc)( 338 Cronet_EnginePtr self, 339 Cronet_EngineParamsPtr params); 340 typedef bool (*Cronet_Engine_StartNetLogToFileFunc)(Cronet_EnginePtr self, 341 Cronet_String file_name, 342 bool log_all); 343 typedef void (*Cronet_Engine_StopNetLogFunc)(Cronet_EnginePtr self); 344 typedef Cronet_RESULT (*Cronet_Engine_ShutdownFunc)(Cronet_EnginePtr self); 345 typedef Cronet_String (*Cronet_Engine_GetVersionStringFunc)( 346 Cronet_EnginePtr self); 347 typedef Cronet_String (*Cronet_Engine_GetDefaultUserAgentFunc)( 348 Cronet_EnginePtr self); 349 typedef void (*Cronet_Engine_AddRequestFinishedListenerFunc)( 350 Cronet_EnginePtr self, 351 Cronet_RequestFinishedInfoListenerPtr listener, 352 Cronet_ExecutorPtr executor); 353 typedef void (*Cronet_Engine_RemoveRequestFinishedListenerFunc)( 354 Cronet_EnginePtr self, 355 Cronet_RequestFinishedInfoListenerPtr listener); 356 // Concrete interface Cronet_Engine is implemented by Cronet. 357 // The app can use this for testing / mocking. 358 CRONET_EXPORT Cronet_EnginePtr Cronet_Engine_CreateWith( 359 Cronet_Engine_StartWithParamsFunc StartWithParamsFunc, 360 Cronet_Engine_StartNetLogToFileFunc StartNetLogToFileFunc, 361 Cronet_Engine_StopNetLogFunc StopNetLogFunc, 362 Cronet_Engine_ShutdownFunc ShutdownFunc, 363 Cronet_Engine_GetVersionStringFunc GetVersionStringFunc, 364 Cronet_Engine_GetDefaultUserAgentFunc GetDefaultUserAgentFunc, 365 Cronet_Engine_AddRequestFinishedListenerFunc AddRequestFinishedListenerFunc, 366 Cronet_Engine_RemoveRequestFinishedListenerFunc 367 RemoveRequestFinishedListenerFunc); 368 369 /////////////////////// 370 // Abstract interface Cronet_UrlRequestStatusListener is implemented by the app. 371 372 // There is no method to create a concrete implementation. 373 374 // Destroy an instance of Cronet_UrlRequestStatusListener. 375 CRONET_EXPORT void Cronet_UrlRequestStatusListener_Destroy( 376 Cronet_UrlRequestStatusListenerPtr self); 377 // Set and get app-specific Cronet_ClientContext. 378 CRONET_EXPORT void Cronet_UrlRequestStatusListener_SetClientContext( 379 Cronet_UrlRequestStatusListenerPtr self, 380 Cronet_ClientContext client_context); 381 CRONET_EXPORT Cronet_ClientContext 382 Cronet_UrlRequestStatusListener_GetClientContext( 383 Cronet_UrlRequestStatusListenerPtr self); 384 // Abstract interface Cronet_UrlRequestStatusListener is implemented by the app. 385 // The following concrete methods forward call to app implementation. 386 // The app doesn't normally call them. 387 CRONET_EXPORT 388 void Cronet_UrlRequestStatusListener_OnStatus( 389 Cronet_UrlRequestStatusListenerPtr self, 390 Cronet_UrlRequestStatusListener_Status status); 391 // The app implements abstract interface Cronet_UrlRequestStatusListener by 392 // defining custom functions for each method. 393 typedef void (*Cronet_UrlRequestStatusListener_OnStatusFunc)( 394 Cronet_UrlRequestStatusListenerPtr self, 395 Cronet_UrlRequestStatusListener_Status status); 396 // The app creates an instance of Cronet_UrlRequestStatusListener by providing 397 // custom functions for each method. 398 CRONET_EXPORT Cronet_UrlRequestStatusListenerPtr 399 Cronet_UrlRequestStatusListener_CreateWith( 400 Cronet_UrlRequestStatusListener_OnStatusFunc OnStatusFunc); 401 402 /////////////////////// 403 // Abstract interface Cronet_UrlRequestCallback is implemented by the app. 404 405 // There is no method to create a concrete implementation. 406 407 // Destroy an instance of Cronet_UrlRequestCallback. 408 CRONET_EXPORT void Cronet_UrlRequestCallback_Destroy( 409 Cronet_UrlRequestCallbackPtr self); 410 // Set and get app-specific Cronet_ClientContext. 411 CRONET_EXPORT void Cronet_UrlRequestCallback_SetClientContext( 412 Cronet_UrlRequestCallbackPtr self, 413 Cronet_ClientContext client_context); 414 CRONET_EXPORT Cronet_ClientContext 415 Cronet_UrlRequestCallback_GetClientContext(Cronet_UrlRequestCallbackPtr self); 416 // Abstract interface Cronet_UrlRequestCallback is implemented by the app. 417 // The following concrete methods forward call to app implementation. 418 // The app doesn't normally call them. 419 CRONET_EXPORT 420 void Cronet_UrlRequestCallback_OnRedirectReceived( 421 Cronet_UrlRequestCallbackPtr self, 422 Cronet_UrlRequestPtr request, 423 Cronet_UrlResponseInfoPtr info, 424 Cronet_String new_location_url); 425 CRONET_EXPORT 426 void Cronet_UrlRequestCallback_OnResponseStarted( 427 Cronet_UrlRequestCallbackPtr self, 428 Cronet_UrlRequestPtr request, 429 Cronet_UrlResponseInfoPtr info); 430 CRONET_EXPORT 431 void Cronet_UrlRequestCallback_OnReadCompleted( 432 Cronet_UrlRequestCallbackPtr self, 433 Cronet_UrlRequestPtr request, 434 Cronet_UrlResponseInfoPtr info, 435 Cronet_BufferPtr buffer, 436 uint64_t bytes_read); 437 CRONET_EXPORT 438 void Cronet_UrlRequestCallback_OnSucceeded(Cronet_UrlRequestCallbackPtr self, 439 Cronet_UrlRequestPtr request, 440 Cronet_UrlResponseInfoPtr info); 441 CRONET_EXPORT 442 void Cronet_UrlRequestCallback_OnFailed(Cronet_UrlRequestCallbackPtr self, 443 Cronet_UrlRequestPtr request, 444 Cronet_UrlResponseInfoPtr info, 445 Cronet_ErrorPtr error); 446 CRONET_EXPORT 447 void Cronet_UrlRequestCallback_OnCanceled(Cronet_UrlRequestCallbackPtr self, 448 Cronet_UrlRequestPtr request, 449 Cronet_UrlResponseInfoPtr info); 450 // The app implements abstract interface Cronet_UrlRequestCallback by defining 451 // custom functions for each method. 452 typedef void (*Cronet_UrlRequestCallback_OnRedirectReceivedFunc)( 453 Cronet_UrlRequestCallbackPtr self, 454 Cronet_UrlRequestPtr request, 455 Cronet_UrlResponseInfoPtr info, 456 Cronet_String new_location_url); 457 typedef void (*Cronet_UrlRequestCallback_OnResponseStartedFunc)( 458 Cronet_UrlRequestCallbackPtr self, 459 Cronet_UrlRequestPtr request, 460 Cronet_UrlResponseInfoPtr info); 461 typedef void (*Cronet_UrlRequestCallback_OnReadCompletedFunc)( 462 Cronet_UrlRequestCallbackPtr self, 463 Cronet_UrlRequestPtr request, 464 Cronet_UrlResponseInfoPtr info, 465 Cronet_BufferPtr buffer, 466 uint64_t bytes_read); 467 typedef void (*Cronet_UrlRequestCallback_OnSucceededFunc)( 468 Cronet_UrlRequestCallbackPtr self, 469 Cronet_UrlRequestPtr request, 470 Cronet_UrlResponseInfoPtr info); 471 typedef void (*Cronet_UrlRequestCallback_OnFailedFunc)( 472 Cronet_UrlRequestCallbackPtr self, 473 Cronet_UrlRequestPtr request, 474 Cronet_UrlResponseInfoPtr info, 475 Cronet_ErrorPtr error); 476 typedef void (*Cronet_UrlRequestCallback_OnCanceledFunc)( 477 Cronet_UrlRequestCallbackPtr self, 478 Cronet_UrlRequestPtr request, 479 Cronet_UrlResponseInfoPtr info); 480 // The app creates an instance of Cronet_UrlRequestCallback by providing custom 481 // functions for each method. 482 CRONET_EXPORT Cronet_UrlRequestCallbackPtr Cronet_UrlRequestCallback_CreateWith( 483 Cronet_UrlRequestCallback_OnRedirectReceivedFunc OnRedirectReceivedFunc, 484 Cronet_UrlRequestCallback_OnResponseStartedFunc OnResponseStartedFunc, 485 Cronet_UrlRequestCallback_OnReadCompletedFunc OnReadCompletedFunc, 486 Cronet_UrlRequestCallback_OnSucceededFunc OnSucceededFunc, 487 Cronet_UrlRequestCallback_OnFailedFunc OnFailedFunc, 488 Cronet_UrlRequestCallback_OnCanceledFunc OnCanceledFunc); 489 490 /////////////////////// 491 // Concrete interface Cronet_UploadDataSink. 492 493 // Create an instance of Cronet_UploadDataSink. 494 CRONET_EXPORT Cronet_UploadDataSinkPtr Cronet_UploadDataSink_Create(void); 495 // Destroy an instance of Cronet_UploadDataSink. 496 CRONET_EXPORT void Cronet_UploadDataSink_Destroy(Cronet_UploadDataSinkPtr self); 497 // Set and get app-specific Cronet_ClientContext. 498 CRONET_EXPORT void Cronet_UploadDataSink_SetClientContext( 499 Cronet_UploadDataSinkPtr self, 500 Cronet_ClientContext client_context); 501 CRONET_EXPORT Cronet_ClientContext 502 Cronet_UploadDataSink_GetClientContext(Cronet_UploadDataSinkPtr self); 503 // Concrete methods of Cronet_UploadDataSink implemented by Cronet. 504 // The app calls them to manipulate Cronet_UploadDataSink. 505 CRONET_EXPORT 506 void Cronet_UploadDataSink_OnReadSucceeded(Cronet_UploadDataSinkPtr self, 507 uint64_t bytes_read, 508 bool final_chunk); 509 CRONET_EXPORT 510 void Cronet_UploadDataSink_OnReadError(Cronet_UploadDataSinkPtr self, 511 Cronet_String error_message); 512 CRONET_EXPORT 513 void Cronet_UploadDataSink_OnRewindSucceeded(Cronet_UploadDataSinkPtr self); 514 CRONET_EXPORT 515 void Cronet_UploadDataSink_OnRewindError(Cronet_UploadDataSinkPtr self, 516 Cronet_String error_message); 517 // Concrete interface Cronet_UploadDataSink is implemented by Cronet. 518 // The app can implement these for testing / mocking. 519 typedef void (*Cronet_UploadDataSink_OnReadSucceededFunc)( 520 Cronet_UploadDataSinkPtr self, 521 uint64_t bytes_read, 522 bool final_chunk); 523 typedef void (*Cronet_UploadDataSink_OnReadErrorFunc)( 524 Cronet_UploadDataSinkPtr self, 525 Cronet_String error_message); 526 typedef void (*Cronet_UploadDataSink_OnRewindSucceededFunc)( 527 Cronet_UploadDataSinkPtr self); 528 typedef void (*Cronet_UploadDataSink_OnRewindErrorFunc)( 529 Cronet_UploadDataSinkPtr self, 530 Cronet_String error_message); 531 // Concrete interface Cronet_UploadDataSink is implemented by Cronet. 532 // The app can use this for testing / mocking. 533 CRONET_EXPORT Cronet_UploadDataSinkPtr Cronet_UploadDataSink_CreateWith( 534 Cronet_UploadDataSink_OnReadSucceededFunc OnReadSucceededFunc, 535 Cronet_UploadDataSink_OnReadErrorFunc OnReadErrorFunc, 536 Cronet_UploadDataSink_OnRewindSucceededFunc OnRewindSucceededFunc, 537 Cronet_UploadDataSink_OnRewindErrorFunc OnRewindErrorFunc); 538 539 /////////////////////// 540 // Abstract interface Cronet_UploadDataProvider is implemented by the app. 541 542 // There is no method to create a concrete implementation. 543 544 // Destroy an instance of Cronet_UploadDataProvider. 545 CRONET_EXPORT void Cronet_UploadDataProvider_Destroy( 546 Cronet_UploadDataProviderPtr self); 547 // Set and get app-specific Cronet_ClientContext. 548 CRONET_EXPORT void Cronet_UploadDataProvider_SetClientContext( 549 Cronet_UploadDataProviderPtr self, 550 Cronet_ClientContext client_context); 551 CRONET_EXPORT Cronet_ClientContext 552 Cronet_UploadDataProvider_GetClientContext(Cronet_UploadDataProviderPtr self); 553 // Abstract interface Cronet_UploadDataProvider is implemented by the app. 554 // The following concrete methods forward call to app implementation. 555 // The app doesn't normally call them. 556 CRONET_EXPORT 557 int64_t Cronet_UploadDataProvider_GetLength(Cronet_UploadDataProviderPtr self); 558 CRONET_EXPORT 559 void Cronet_UploadDataProvider_Read(Cronet_UploadDataProviderPtr self, 560 Cronet_UploadDataSinkPtr upload_data_sink, 561 Cronet_BufferPtr buffer); 562 CRONET_EXPORT 563 void Cronet_UploadDataProvider_Rewind( 564 Cronet_UploadDataProviderPtr self, 565 Cronet_UploadDataSinkPtr upload_data_sink); 566 CRONET_EXPORT 567 void Cronet_UploadDataProvider_Close(Cronet_UploadDataProviderPtr self); 568 // The app implements abstract interface Cronet_UploadDataProvider by defining 569 // custom functions for each method. 570 typedef int64_t (*Cronet_UploadDataProvider_GetLengthFunc)( 571 Cronet_UploadDataProviderPtr self); 572 typedef void (*Cronet_UploadDataProvider_ReadFunc)( 573 Cronet_UploadDataProviderPtr self, 574 Cronet_UploadDataSinkPtr upload_data_sink, 575 Cronet_BufferPtr buffer); 576 typedef void (*Cronet_UploadDataProvider_RewindFunc)( 577 Cronet_UploadDataProviderPtr self, 578 Cronet_UploadDataSinkPtr upload_data_sink); 579 typedef void (*Cronet_UploadDataProvider_CloseFunc)( 580 Cronet_UploadDataProviderPtr self); 581 // The app creates an instance of Cronet_UploadDataProvider by providing custom 582 // functions for each method. 583 CRONET_EXPORT Cronet_UploadDataProviderPtr Cronet_UploadDataProvider_CreateWith( 584 Cronet_UploadDataProvider_GetLengthFunc GetLengthFunc, 585 Cronet_UploadDataProvider_ReadFunc ReadFunc, 586 Cronet_UploadDataProvider_RewindFunc RewindFunc, 587 Cronet_UploadDataProvider_CloseFunc CloseFunc); 588 589 /////////////////////// 590 // Concrete interface Cronet_UrlRequest. 591 592 // Create an instance of Cronet_UrlRequest. 593 CRONET_EXPORT Cronet_UrlRequestPtr Cronet_UrlRequest_Create(void); 594 // Destroy an instance of Cronet_UrlRequest. 595 CRONET_EXPORT void Cronet_UrlRequest_Destroy(Cronet_UrlRequestPtr self); 596 // Set and get app-specific Cronet_ClientContext. 597 CRONET_EXPORT void Cronet_UrlRequest_SetClientContext( 598 Cronet_UrlRequestPtr self, 599 Cronet_ClientContext client_context); 600 CRONET_EXPORT Cronet_ClientContext 601 Cronet_UrlRequest_GetClientContext(Cronet_UrlRequestPtr self); 602 // Concrete methods of Cronet_UrlRequest implemented by Cronet. 603 // The app calls them to manipulate Cronet_UrlRequest. 604 CRONET_EXPORT 605 Cronet_RESULT Cronet_UrlRequest_InitWithParams( 606 Cronet_UrlRequestPtr self, 607 Cronet_EnginePtr engine, 608 Cronet_String url, 609 Cronet_UrlRequestParamsPtr params, 610 Cronet_UrlRequestCallbackPtr callback, 611 Cronet_ExecutorPtr executor); 612 CRONET_EXPORT 613 Cronet_RESULT Cronet_UrlRequest_Start(Cronet_UrlRequestPtr self); 614 CRONET_EXPORT 615 Cronet_RESULT Cronet_UrlRequest_FollowRedirect(Cronet_UrlRequestPtr self); 616 CRONET_EXPORT 617 Cronet_RESULT Cronet_UrlRequest_Read(Cronet_UrlRequestPtr self, 618 Cronet_BufferPtr buffer); 619 CRONET_EXPORT 620 void Cronet_UrlRequest_Cancel(Cronet_UrlRequestPtr self); 621 CRONET_EXPORT 622 bool Cronet_UrlRequest_IsDone(Cronet_UrlRequestPtr self); 623 CRONET_EXPORT 624 void Cronet_UrlRequest_GetStatus(Cronet_UrlRequestPtr self, 625 Cronet_UrlRequestStatusListenerPtr listener); 626 // Concrete interface Cronet_UrlRequest is implemented by Cronet. 627 // The app can implement these for testing / mocking. 628 typedef Cronet_RESULT (*Cronet_UrlRequest_InitWithParamsFunc)( 629 Cronet_UrlRequestPtr self, 630 Cronet_EnginePtr engine, 631 Cronet_String url, 632 Cronet_UrlRequestParamsPtr params, 633 Cronet_UrlRequestCallbackPtr callback, 634 Cronet_ExecutorPtr executor); 635 typedef Cronet_RESULT (*Cronet_UrlRequest_StartFunc)(Cronet_UrlRequestPtr self); 636 typedef Cronet_RESULT (*Cronet_UrlRequest_FollowRedirectFunc)( 637 Cronet_UrlRequestPtr self); 638 typedef Cronet_RESULT (*Cronet_UrlRequest_ReadFunc)(Cronet_UrlRequestPtr self, 639 Cronet_BufferPtr buffer); 640 typedef void (*Cronet_UrlRequest_CancelFunc)(Cronet_UrlRequestPtr self); 641 typedef bool (*Cronet_UrlRequest_IsDoneFunc)(Cronet_UrlRequestPtr self); 642 typedef void (*Cronet_UrlRequest_GetStatusFunc)( 643 Cronet_UrlRequestPtr self, 644 Cronet_UrlRequestStatusListenerPtr listener); 645 // Concrete interface Cronet_UrlRequest is implemented by Cronet. 646 // The app can use this for testing / mocking. 647 CRONET_EXPORT Cronet_UrlRequestPtr Cronet_UrlRequest_CreateWith( 648 Cronet_UrlRequest_InitWithParamsFunc InitWithParamsFunc, 649 Cronet_UrlRequest_StartFunc StartFunc, 650 Cronet_UrlRequest_FollowRedirectFunc FollowRedirectFunc, 651 Cronet_UrlRequest_ReadFunc ReadFunc, 652 Cronet_UrlRequest_CancelFunc CancelFunc, 653 Cronet_UrlRequest_IsDoneFunc IsDoneFunc, 654 Cronet_UrlRequest_GetStatusFunc GetStatusFunc); 655 656 /////////////////////// 657 // Abstract interface Cronet_RequestFinishedInfoListener is implemented by the 658 // app. 659 660 // There is no method to create a concrete implementation. 661 662 // Destroy an instance of Cronet_RequestFinishedInfoListener. 663 CRONET_EXPORT void Cronet_RequestFinishedInfoListener_Destroy( 664 Cronet_RequestFinishedInfoListenerPtr self); 665 // Set and get app-specific Cronet_ClientContext. 666 CRONET_EXPORT void Cronet_RequestFinishedInfoListener_SetClientContext( 667 Cronet_RequestFinishedInfoListenerPtr self, 668 Cronet_ClientContext client_context); 669 CRONET_EXPORT Cronet_ClientContext 670 Cronet_RequestFinishedInfoListener_GetClientContext( 671 Cronet_RequestFinishedInfoListenerPtr self); 672 // Abstract interface Cronet_RequestFinishedInfoListener is implemented by the 673 // app. The following concrete methods forward call to app implementation. The 674 // app doesn't normally call them. 675 CRONET_EXPORT 676 void Cronet_RequestFinishedInfoListener_OnRequestFinished( 677 Cronet_RequestFinishedInfoListenerPtr self, 678 Cronet_RequestFinishedInfoPtr request_info, 679 Cronet_UrlResponseInfoPtr response_info, 680 Cronet_ErrorPtr error); 681 // The app implements abstract interface Cronet_RequestFinishedInfoListener by 682 // defining custom functions for each method. 683 typedef void (*Cronet_RequestFinishedInfoListener_OnRequestFinishedFunc)( 684 Cronet_RequestFinishedInfoListenerPtr self, 685 Cronet_RequestFinishedInfoPtr request_info, 686 Cronet_UrlResponseInfoPtr response_info, 687 Cronet_ErrorPtr error); 688 // The app creates an instance of Cronet_RequestFinishedInfoListener by 689 // providing custom functions for each method. 690 CRONET_EXPORT Cronet_RequestFinishedInfoListenerPtr 691 Cronet_RequestFinishedInfoListener_CreateWith( 692 Cronet_RequestFinishedInfoListener_OnRequestFinishedFunc 693 OnRequestFinishedFunc); 694 695 /////////////////////// 696 // Struct Cronet_Error. 697 CRONET_EXPORT Cronet_ErrorPtr Cronet_Error_Create(void); 698 CRONET_EXPORT void Cronet_Error_Destroy(Cronet_ErrorPtr self); 699 // Cronet_Error setters. 700 CRONET_EXPORT 701 void Cronet_Error_error_code_set(Cronet_ErrorPtr self, 702 const Cronet_Error_ERROR_CODE error_code); 703 CRONET_EXPORT 704 void Cronet_Error_message_set(Cronet_ErrorPtr self, 705 const Cronet_String message); 706 CRONET_EXPORT 707 void Cronet_Error_internal_error_code_set(Cronet_ErrorPtr self, 708 const int32_t internal_error_code); 709 CRONET_EXPORT 710 void Cronet_Error_immediately_retryable_set(Cronet_ErrorPtr self, 711 const bool immediately_retryable); 712 CRONET_EXPORT 713 void Cronet_Error_quic_detailed_error_code_set( 714 Cronet_ErrorPtr self, 715 const int32_t quic_detailed_error_code); 716 // Cronet_Error getters. 717 CRONET_EXPORT 718 Cronet_Error_ERROR_CODE Cronet_Error_error_code_get(const Cronet_ErrorPtr self); 719 CRONET_EXPORT 720 Cronet_String Cronet_Error_message_get(const Cronet_ErrorPtr self); 721 CRONET_EXPORT 722 int32_t Cronet_Error_internal_error_code_get(const Cronet_ErrorPtr self); 723 CRONET_EXPORT 724 bool Cronet_Error_immediately_retryable_get(const Cronet_ErrorPtr self); 725 CRONET_EXPORT 726 int32_t Cronet_Error_quic_detailed_error_code_get(const Cronet_ErrorPtr self); 727 728 /////////////////////// 729 // Struct Cronet_QuicHint. 730 CRONET_EXPORT Cronet_QuicHintPtr Cronet_QuicHint_Create(void); 731 CRONET_EXPORT void Cronet_QuicHint_Destroy(Cronet_QuicHintPtr self); 732 // Cronet_QuicHint setters. 733 CRONET_EXPORT 734 void Cronet_QuicHint_host_set(Cronet_QuicHintPtr self, 735 const Cronet_String host); 736 CRONET_EXPORT 737 void Cronet_QuicHint_port_set(Cronet_QuicHintPtr self, const int32_t port); 738 CRONET_EXPORT 739 void Cronet_QuicHint_alternate_port_set(Cronet_QuicHintPtr self, 740 const int32_t alternate_port); 741 // Cronet_QuicHint getters. 742 CRONET_EXPORT 743 Cronet_String Cronet_QuicHint_host_get(const Cronet_QuicHintPtr self); 744 CRONET_EXPORT 745 int32_t Cronet_QuicHint_port_get(const Cronet_QuicHintPtr self); 746 CRONET_EXPORT 747 int32_t Cronet_QuicHint_alternate_port_get(const Cronet_QuicHintPtr self); 748 749 /////////////////////// 750 // Struct Cronet_PublicKeyPins. 751 CRONET_EXPORT Cronet_PublicKeyPinsPtr Cronet_PublicKeyPins_Create(void); 752 CRONET_EXPORT void Cronet_PublicKeyPins_Destroy(Cronet_PublicKeyPinsPtr self); 753 // Cronet_PublicKeyPins setters. 754 CRONET_EXPORT 755 void Cronet_PublicKeyPins_host_set(Cronet_PublicKeyPinsPtr self, 756 const Cronet_String host); 757 CRONET_EXPORT 758 void Cronet_PublicKeyPins_pins_sha256_add(Cronet_PublicKeyPinsPtr self, 759 const Cronet_String element); 760 CRONET_EXPORT 761 void Cronet_PublicKeyPins_include_subdomains_set(Cronet_PublicKeyPinsPtr self, 762 const bool include_subdomains); 763 CRONET_EXPORT 764 void Cronet_PublicKeyPins_expiration_date_set(Cronet_PublicKeyPinsPtr self, 765 const int64_t expiration_date); 766 // Cronet_PublicKeyPins getters. 767 CRONET_EXPORT 768 Cronet_String Cronet_PublicKeyPins_host_get(const Cronet_PublicKeyPinsPtr self); 769 CRONET_EXPORT 770 uint32_t Cronet_PublicKeyPins_pins_sha256_size( 771 const Cronet_PublicKeyPinsPtr self); 772 CRONET_EXPORT 773 Cronet_String Cronet_PublicKeyPins_pins_sha256_at( 774 const Cronet_PublicKeyPinsPtr self, 775 uint32_t index); 776 CRONET_EXPORT 777 void Cronet_PublicKeyPins_pins_sha256_clear(Cronet_PublicKeyPinsPtr self); 778 CRONET_EXPORT 779 bool Cronet_PublicKeyPins_include_subdomains_get( 780 const Cronet_PublicKeyPinsPtr self); 781 CRONET_EXPORT 782 int64_t Cronet_PublicKeyPins_expiration_date_get( 783 const Cronet_PublicKeyPinsPtr self); 784 785 /////////////////////// 786 // Struct Cronet_EngineParams. 787 CRONET_EXPORT Cronet_EngineParamsPtr Cronet_EngineParams_Create(void); 788 CRONET_EXPORT void Cronet_EngineParams_Destroy(Cronet_EngineParamsPtr self); 789 // Cronet_EngineParams setters. 790 CRONET_EXPORT 791 void Cronet_EngineParams_enable_check_result_set( 792 Cronet_EngineParamsPtr self, 793 const bool enable_check_result); 794 CRONET_EXPORT 795 void Cronet_EngineParams_user_agent_set(Cronet_EngineParamsPtr self, 796 const Cronet_String user_agent); 797 CRONET_EXPORT 798 void Cronet_EngineParams_accept_language_set( 799 Cronet_EngineParamsPtr self, 800 const Cronet_String accept_language); 801 CRONET_EXPORT 802 void Cronet_EngineParams_storage_path_set(Cronet_EngineParamsPtr self, 803 const Cronet_String storage_path); 804 CRONET_EXPORT 805 void Cronet_EngineParams_enable_quic_set(Cronet_EngineParamsPtr self, 806 const bool enable_quic); 807 CRONET_EXPORT 808 void Cronet_EngineParams_enable_http2_set(Cronet_EngineParamsPtr self, 809 const bool enable_http2); 810 CRONET_EXPORT 811 void Cronet_EngineParams_enable_brotli_set(Cronet_EngineParamsPtr self, 812 const bool enable_brotli); 813 CRONET_EXPORT 814 void Cronet_EngineParams_http_cache_mode_set( 815 Cronet_EngineParamsPtr self, 816 const Cronet_EngineParams_HTTP_CACHE_MODE http_cache_mode); 817 CRONET_EXPORT 818 void Cronet_EngineParams_http_cache_max_size_set( 819 Cronet_EngineParamsPtr self, 820 const int64_t http_cache_max_size); 821 CRONET_EXPORT 822 void Cronet_EngineParams_quic_hints_add(Cronet_EngineParamsPtr self, 823 const Cronet_QuicHintPtr element); 824 CRONET_EXPORT 825 void Cronet_EngineParams_public_key_pins_add( 826 Cronet_EngineParamsPtr self, 827 const Cronet_PublicKeyPinsPtr element); 828 CRONET_EXPORT 829 void Cronet_EngineParams_enable_public_key_pinning_bypass_for_local_trust_anchors_set( 830 Cronet_EngineParamsPtr self, 831 const bool enable_public_key_pinning_bypass_for_local_trust_anchors); 832 CRONET_EXPORT 833 void Cronet_EngineParams_network_thread_priority_set( 834 Cronet_EngineParamsPtr self, 835 const double network_thread_priority); 836 CRONET_EXPORT 837 void Cronet_EngineParams_experimental_options_set( 838 Cronet_EngineParamsPtr self, 839 const Cronet_String experimental_options); 840 // Cronet_EngineParams getters. 841 CRONET_EXPORT 842 bool Cronet_EngineParams_enable_check_result_get( 843 const Cronet_EngineParamsPtr self); 844 CRONET_EXPORT 845 Cronet_String Cronet_EngineParams_user_agent_get( 846 const Cronet_EngineParamsPtr self); 847 CRONET_EXPORT 848 Cronet_String Cronet_EngineParams_accept_language_get( 849 const Cronet_EngineParamsPtr self); 850 CRONET_EXPORT 851 Cronet_String Cronet_EngineParams_storage_path_get( 852 const Cronet_EngineParamsPtr self); 853 CRONET_EXPORT 854 bool Cronet_EngineParams_enable_quic_get(const Cronet_EngineParamsPtr self); 855 CRONET_EXPORT 856 bool Cronet_EngineParams_enable_http2_get(const Cronet_EngineParamsPtr self); 857 CRONET_EXPORT 858 bool Cronet_EngineParams_enable_brotli_get(const Cronet_EngineParamsPtr self); 859 CRONET_EXPORT 860 Cronet_EngineParams_HTTP_CACHE_MODE Cronet_EngineParams_http_cache_mode_get( 861 const Cronet_EngineParamsPtr self); 862 CRONET_EXPORT 863 int64_t Cronet_EngineParams_http_cache_max_size_get( 864 const Cronet_EngineParamsPtr self); 865 CRONET_EXPORT 866 uint32_t Cronet_EngineParams_quic_hints_size(const Cronet_EngineParamsPtr self); 867 CRONET_EXPORT 868 Cronet_QuicHintPtr Cronet_EngineParams_quic_hints_at( 869 const Cronet_EngineParamsPtr self, 870 uint32_t index); 871 CRONET_EXPORT 872 void Cronet_EngineParams_quic_hints_clear(Cronet_EngineParamsPtr self); 873 CRONET_EXPORT 874 uint32_t Cronet_EngineParams_public_key_pins_size( 875 const Cronet_EngineParamsPtr self); 876 CRONET_EXPORT 877 Cronet_PublicKeyPinsPtr Cronet_EngineParams_public_key_pins_at( 878 const Cronet_EngineParamsPtr self, 879 uint32_t index); 880 CRONET_EXPORT 881 void Cronet_EngineParams_public_key_pins_clear(Cronet_EngineParamsPtr self); 882 CRONET_EXPORT 883 bool Cronet_EngineParams_enable_public_key_pinning_bypass_for_local_trust_anchors_get( 884 const Cronet_EngineParamsPtr self); 885 CRONET_EXPORT 886 double Cronet_EngineParams_network_thread_priority_get( 887 const Cronet_EngineParamsPtr self); 888 CRONET_EXPORT 889 Cronet_String Cronet_EngineParams_experimental_options_get( 890 const Cronet_EngineParamsPtr self); 891 892 /////////////////////// 893 // Struct Cronet_HttpHeader. 894 CRONET_EXPORT Cronet_HttpHeaderPtr Cronet_HttpHeader_Create(void); 895 CRONET_EXPORT void Cronet_HttpHeader_Destroy(Cronet_HttpHeaderPtr self); 896 // Cronet_HttpHeader setters. 897 CRONET_EXPORT 898 void Cronet_HttpHeader_name_set(Cronet_HttpHeaderPtr self, 899 const Cronet_String name); 900 CRONET_EXPORT 901 void Cronet_HttpHeader_value_set(Cronet_HttpHeaderPtr self, 902 const Cronet_String value); 903 // Cronet_HttpHeader getters. 904 CRONET_EXPORT 905 Cronet_String Cronet_HttpHeader_name_get(const Cronet_HttpHeaderPtr self); 906 CRONET_EXPORT 907 Cronet_String Cronet_HttpHeader_value_get(const Cronet_HttpHeaderPtr self); 908 909 /////////////////////// 910 // Struct Cronet_UrlResponseInfo. 911 CRONET_EXPORT Cronet_UrlResponseInfoPtr Cronet_UrlResponseInfo_Create(void); 912 CRONET_EXPORT void Cronet_UrlResponseInfo_Destroy( 913 Cronet_UrlResponseInfoPtr self); 914 // Cronet_UrlResponseInfo setters. 915 CRONET_EXPORT 916 void Cronet_UrlResponseInfo_url_set(Cronet_UrlResponseInfoPtr self, 917 const Cronet_String url); 918 CRONET_EXPORT 919 void Cronet_UrlResponseInfo_url_chain_add(Cronet_UrlResponseInfoPtr self, 920 const Cronet_String element); 921 CRONET_EXPORT 922 void Cronet_UrlResponseInfo_http_status_code_set( 923 Cronet_UrlResponseInfoPtr self, 924 const int32_t http_status_code); 925 CRONET_EXPORT 926 void Cronet_UrlResponseInfo_http_status_text_set( 927 Cronet_UrlResponseInfoPtr self, 928 const Cronet_String http_status_text); 929 CRONET_EXPORT 930 void Cronet_UrlResponseInfo_all_headers_list_add( 931 Cronet_UrlResponseInfoPtr self, 932 const Cronet_HttpHeaderPtr element); 933 CRONET_EXPORT 934 void Cronet_UrlResponseInfo_was_cached_set(Cronet_UrlResponseInfoPtr self, 935 const bool was_cached); 936 CRONET_EXPORT 937 void Cronet_UrlResponseInfo_negotiated_protocol_set( 938 Cronet_UrlResponseInfoPtr self, 939 const Cronet_String negotiated_protocol); 940 CRONET_EXPORT 941 void Cronet_UrlResponseInfo_proxy_server_set(Cronet_UrlResponseInfoPtr self, 942 const Cronet_String proxy_server); 943 CRONET_EXPORT 944 void Cronet_UrlResponseInfo_received_byte_count_set( 945 Cronet_UrlResponseInfoPtr self, 946 const int64_t received_byte_count); 947 // Cronet_UrlResponseInfo getters. 948 CRONET_EXPORT 949 Cronet_String Cronet_UrlResponseInfo_url_get( 950 const Cronet_UrlResponseInfoPtr self); 951 CRONET_EXPORT 952 uint32_t Cronet_UrlResponseInfo_url_chain_size( 953 const Cronet_UrlResponseInfoPtr self); 954 CRONET_EXPORT 955 Cronet_String Cronet_UrlResponseInfo_url_chain_at( 956 const Cronet_UrlResponseInfoPtr self, 957 uint32_t index); 958 CRONET_EXPORT 959 void Cronet_UrlResponseInfo_url_chain_clear(Cronet_UrlResponseInfoPtr self); 960 CRONET_EXPORT 961 int32_t Cronet_UrlResponseInfo_http_status_code_get( 962 const Cronet_UrlResponseInfoPtr self); 963 CRONET_EXPORT 964 Cronet_String Cronet_UrlResponseInfo_http_status_text_get( 965 const Cronet_UrlResponseInfoPtr self); 966 CRONET_EXPORT 967 uint32_t Cronet_UrlResponseInfo_all_headers_list_size( 968 const Cronet_UrlResponseInfoPtr self); 969 CRONET_EXPORT 970 Cronet_HttpHeaderPtr Cronet_UrlResponseInfo_all_headers_list_at( 971 const Cronet_UrlResponseInfoPtr self, 972 uint32_t index); 973 CRONET_EXPORT 974 void Cronet_UrlResponseInfo_all_headers_list_clear( 975 Cronet_UrlResponseInfoPtr self); 976 CRONET_EXPORT 977 bool Cronet_UrlResponseInfo_was_cached_get( 978 const Cronet_UrlResponseInfoPtr self); 979 CRONET_EXPORT 980 Cronet_String Cronet_UrlResponseInfo_negotiated_protocol_get( 981 const Cronet_UrlResponseInfoPtr self); 982 CRONET_EXPORT 983 Cronet_String Cronet_UrlResponseInfo_proxy_server_get( 984 const Cronet_UrlResponseInfoPtr self); 985 CRONET_EXPORT 986 int64_t Cronet_UrlResponseInfo_received_byte_count_get( 987 const Cronet_UrlResponseInfoPtr self); 988 989 /////////////////////// 990 // Struct Cronet_UrlRequestParams. 991 CRONET_EXPORT Cronet_UrlRequestParamsPtr Cronet_UrlRequestParams_Create(void); 992 CRONET_EXPORT void Cronet_UrlRequestParams_Destroy( 993 Cronet_UrlRequestParamsPtr self); 994 // Cronet_UrlRequestParams setters. 995 CRONET_EXPORT 996 void Cronet_UrlRequestParams_http_method_set(Cronet_UrlRequestParamsPtr self, 997 const Cronet_String http_method); 998 CRONET_EXPORT 999 void Cronet_UrlRequestParams_request_headers_add( 1000 Cronet_UrlRequestParamsPtr self, 1001 const Cronet_HttpHeaderPtr element); 1002 CRONET_EXPORT 1003 void Cronet_UrlRequestParams_disable_cache_set(Cronet_UrlRequestParamsPtr self, 1004 const bool disable_cache); 1005 CRONET_EXPORT 1006 void Cronet_UrlRequestParams_priority_set( 1007 Cronet_UrlRequestParamsPtr self, 1008 const Cronet_UrlRequestParams_REQUEST_PRIORITY priority); 1009 CRONET_EXPORT 1010 void Cronet_UrlRequestParams_upload_data_provider_set( 1011 Cronet_UrlRequestParamsPtr self, 1012 const Cronet_UploadDataProviderPtr upload_data_provider); 1013 CRONET_EXPORT 1014 void Cronet_UrlRequestParams_upload_data_provider_executor_set( 1015 Cronet_UrlRequestParamsPtr self, 1016 const Cronet_ExecutorPtr upload_data_provider_executor); 1017 CRONET_EXPORT 1018 void Cronet_UrlRequestParams_allow_direct_executor_set( 1019 Cronet_UrlRequestParamsPtr self, 1020 const bool allow_direct_executor); 1021 CRONET_EXPORT 1022 void Cronet_UrlRequestParams_annotations_add(Cronet_UrlRequestParamsPtr self, 1023 const Cronet_RawDataPtr element); 1024 CRONET_EXPORT 1025 void Cronet_UrlRequestParams_request_finished_listener_set( 1026 Cronet_UrlRequestParamsPtr self, 1027 const Cronet_RequestFinishedInfoListenerPtr request_finished_listener); 1028 CRONET_EXPORT 1029 void Cronet_UrlRequestParams_request_finished_executor_set( 1030 Cronet_UrlRequestParamsPtr self, 1031 const Cronet_ExecutorPtr request_finished_executor); 1032 CRONET_EXPORT 1033 void Cronet_UrlRequestParams_idempotency_set( 1034 Cronet_UrlRequestParamsPtr self, 1035 const Cronet_UrlRequestParams_IDEMPOTENCY idempotency); 1036 // Cronet_UrlRequestParams getters. 1037 CRONET_EXPORT 1038 Cronet_String Cronet_UrlRequestParams_http_method_get( 1039 const Cronet_UrlRequestParamsPtr self); 1040 CRONET_EXPORT 1041 uint32_t Cronet_UrlRequestParams_request_headers_size( 1042 const Cronet_UrlRequestParamsPtr self); 1043 CRONET_EXPORT 1044 Cronet_HttpHeaderPtr Cronet_UrlRequestParams_request_headers_at( 1045 const Cronet_UrlRequestParamsPtr self, 1046 uint32_t index); 1047 CRONET_EXPORT 1048 void Cronet_UrlRequestParams_request_headers_clear( 1049 Cronet_UrlRequestParamsPtr self); 1050 CRONET_EXPORT 1051 bool Cronet_UrlRequestParams_disable_cache_get( 1052 const Cronet_UrlRequestParamsPtr self); 1053 CRONET_EXPORT 1054 Cronet_UrlRequestParams_REQUEST_PRIORITY Cronet_UrlRequestParams_priority_get( 1055 const Cronet_UrlRequestParamsPtr self); 1056 CRONET_EXPORT 1057 Cronet_UploadDataProviderPtr Cronet_UrlRequestParams_upload_data_provider_get( 1058 const Cronet_UrlRequestParamsPtr self); 1059 CRONET_EXPORT 1060 Cronet_ExecutorPtr Cronet_UrlRequestParams_upload_data_provider_executor_get( 1061 const Cronet_UrlRequestParamsPtr self); 1062 CRONET_EXPORT 1063 bool Cronet_UrlRequestParams_allow_direct_executor_get( 1064 const Cronet_UrlRequestParamsPtr self); 1065 CRONET_EXPORT 1066 uint32_t Cronet_UrlRequestParams_annotations_size( 1067 const Cronet_UrlRequestParamsPtr self); 1068 CRONET_EXPORT 1069 Cronet_RawDataPtr Cronet_UrlRequestParams_annotations_at( 1070 const Cronet_UrlRequestParamsPtr self, 1071 uint32_t index); 1072 CRONET_EXPORT 1073 void Cronet_UrlRequestParams_annotations_clear(Cronet_UrlRequestParamsPtr self); 1074 CRONET_EXPORT 1075 Cronet_RequestFinishedInfoListenerPtr 1076 Cronet_UrlRequestParams_request_finished_listener_get( 1077 const Cronet_UrlRequestParamsPtr self); 1078 CRONET_EXPORT 1079 Cronet_ExecutorPtr Cronet_UrlRequestParams_request_finished_executor_get( 1080 const Cronet_UrlRequestParamsPtr self); 1081 CRONET_EXPORT 1082 Cronet_UrlRequestParams_IDEMPOTENCY Cronet_UrlRequestParams_idempotency_get( 1083 const Cronet_UrlRequestParamsPtr self); 1084 1085 /////////////////////// 1086 // Struct Cronet_DateTime. 1087 CRONET_EXPORT Cronet_DateTimePtr Cronet_DateTime_Create(void); 1088 CRONET_EXPORT void Cronet_DateTime_Destroy(Cronet_DateTimePtr self); 1089 // Cronet_DateTime setters. 1090 CRONET_EXPORT 1091 void Cronet_DateTime_value_set(Cronet_DateTimePtr self, const int64_t value); 1092 // Cronet_DateTime getters. 1093 CRONET_EXPORT 1094 int64_t Cronet_DateTime_value_get(const Cronet_DateTimePtr self); 1095 1096 /////////////////////// 1097 // Struct Cronet_Metrics. 1098 CRONET_EXPORT Cronet_MetricsPtr Cronet_Metrics_Create(void); 1099 CRONET_EXPORT void Cronet_Metrics_Destroy(Cronet_MetricsPtr self); 1100 // Cronet_Metrics setters. 1101 CRONET_EXPORT 1102 void Cronet_Metrics_request_start_set(Cronet_MetricsPtr self, 1103 const Cronet_DateTimePtr request_start); 1104 // Move data from |request_start|. The caller retains ownership of 1105 // |request_start| and must destroy it. 1106 void Cronet_Metrics_request_start_move(Cronet_MetricsPtr self, 1107 Cronet_DateTimePtr request_start); 1108 CRONET_EXPORT 1109 void Cronet_Metrics_dns_start_set(Cronet_MetricsPtr self, 1110 const Cronet_DateTimePtr dns_start); 1111 // Move data from |dns_start|. The caller retains ownership of |dns_start| and 1112 // must destroy it. 1113 void Cronet_Metrics_dns_start_move(Cronet_MetricsPtr self, 1114 Cronet_DateTimePtr dns_start); 1115 CRONET_EXPORT 1116 void Cronet_Metrics_dns_end_set(Cronet_MetricsPtr self, 1117 const Cronet_DateTimePtr dns_end); 1118 // Move data from |dns_end|. The caller retains ownership of |dns_end| and must 1119 // destroy it. 1120 void Cronet_Metrics_dns_end_move(Cronet_MetricsPtr self, 1121 Cronet_DateTimePtr dns_end); 1122 CRONET_EXPORT 1123 void Cronet_Metrics_connect_start_set(Cronet_MetricsPtr self, 1124 const Cronet_DateTimePtr connect_start); 1125 // Move data from |connect_start|. The caller retains ownership of 1126 // |connect_start| and must destroy it. 1127 void Cronet_Metrics_connect_start_move(Cronet_MetricsPtr self, 1128 Cronet_DateTimePtr connect_start); 1129 CRONET_EXPORT 1130 void Cronet_Metrics_connect_end_set(Cronet_MetricsPtr self, 1131 const Cronet_DateTimePtr connect_end); 1132 // Move data from |connect_end|. The caller retains ownership of |connect_end| 1133 // and must destroy it. 1134 void Cronet_Metrics_connect_end_move(Cronet_MetricsPtr self, 1135 Cronet_DateTimePtr connect_end); 1136 CRONET_EXPORT 1137 void Cronet_Metrics_ssl_start_set(Cronet_MetricsPtr self, 1138 const Cronet_DateTimePtr ssl_start); 1139 // Move data from |ssl_start|. The caller retains ownership of |ssl_start| and 1140 // must destroy it. 1141 void Cronet_Metrics_ssl_start_move(Cronet_MetricsPtr self, 1142 Cronet_DateTimePtr ssl_start); 1143 CRONET_EXPORT 1144 void Cronet_Metrics_ssl_end_set(Cronet_MetricsPtr self, 1145 const Cronet_DateTimePtr ssl_end); 1146 // Move data from |ssl_end|. The caller retains ownership of |ssl_end| and must 1147 // destroy it. 1148 void Cronet_Metrics_ssl_end_move(Cronet_MetricsPtr self, 1149 Cronet_DateTimePtr ssl_end); 1150 CRONET_EXPORT 1151 void Cronet_Metrics_sending_start_set(Cronet_MetricsPtr self, 1152 const Cronet_DateTimePtr sending_start); 1153 // Move data from |sending_start|. The caller retains ownership of 1154 // |sending_start| and must destroy it. 1155 void Cronet_Metrics_sending_start_move(Cronet_MetricsPtr self, 1156 Cronet_DateTimePtr sending_start); 1157 CRONET_EXPORT 1158 void Cronet_Metrics_sending_end_set(Cronet_MetricsPtr self, 1159 const Cronet_DateTimePtr sending_end); 1160 // Move data from |sending_end|. The caller retains ownership of |sending_end| 1161 // and must destroy it. 1162 void Cronet_Metrics_sending_end_move(Cronet_MetricsPtr self, 1163 Cronet_DateTimePtr sending_end); 1164 CRONET_EXPORT 1165 void Cronet_Metrics_push_start_set(Cronet_MetricsPtr self, 1166 const Cronet_DateTimePtr push_start); 1167 // Move data from |push_start|. The caller retains ownership of |push_start| and 1168 // must destroy it. 1169 void Cronet_Metrics_push_start_move(Cronet_MetricsPtr self, 1170 Cronet_DateTimePtr push_start); 1171 CRONET_EXPORT 1172 void Cronet_Metrics_push_end_set(Cronet_MetricsPtr self, 1173 const Cronet_DateTimePtr push_end); 1174 // Move data from |push_end|. The caller retains ownership of |push_end| and 1175 // must destroy it. 1176 void Cronet_Metrics_push_end_move(Cronet_MetricsPtr self, 1177 Cronet_DateTimePtr push_end); 1178 CRONET_EXPORT 1179 void Cronet_Metrics_response_start_set(Cronet_MetricsPtr self, 1180 const Cronet_DateTimePtr response_start); 1181 // Move data from |response_start|. The caller retains ownership of 1182 // |response_start| and must destroy it. 1183 void Cronet_Metrics_response_start_move(Cronet_MetricsPtr self, 1184 Cronet_DateTimePtr response_start); 1185 CRONET_EXPORT 1186 void Cronet_Metrics_request_end_set(Cronet_MetricsPtr self, 1187 const Cronet_DateTimePtr request_end); 1188 // Move data from |request_end|. The caller retains ownership of |request_end| 1189 // and must destroy it. 1190 void Cronet_Metrics_request_end_move(Cronet_MetricsPtr self, 1191 Cronet_DateTimePtr request_end); 1192 CRONET_EXPORT 1193 void Cronet_Metrics_socket_reused_set(Cronet_MetricsPtr self, 1194 const bool socket_reused); 1195 CRONET_EXPORT 1196 void Cronet_Metrics_sent_byte_count_set(Cronet_MetricsPtr self, 1197 const int64_t sent_byte_count); 1198 CRONET_EXPORT 1199 void Cronet_Metrics_received_byte_count_set(Cronet_MetricsPtr self, 1200 const int64_t received_byte_count); 1201 // Cronet_Metrics getters. 1202 CRONET_EXPORT 1203 Cronet_DateTimePtr Cronet_Metrics_request_start_get( 1204 const Cronet_MetricsPtr self); 1205 CRONET_EXPORT 1206 Cronet_DateTimePtr Cronet_Metrics_dns_start_get(const Cronet_MetricsPtr self); 1207 CRONET_EXPORT 1208 Cronet_DateTimePtr Cronet_Metrics_dns_end_get(const Cronet_MetricsPtr self); 1209 CRONET_EXPORT 1210 Cronet_DateTimePtr Cronet_Metrics_connect_start_get( 1211 const Cronet_MetricsPtr self); 1212 CRONET_EXPORT 1213 Cronet_DateTimePtr Cronet_Metrics_connect_end_get(const Cronet_MetricsPtr self); 1214 CRONET_EXPORT 1215 Cronet_DateTimePtr Cronet_Metrics_ssl_start_get(const Cronet_MetricsPtr self); 1216 CRONET_EXPORT 1217 Cronet_DateTimePtr Cronet_Metrics_ssl_end_get(const Cronet_MetricsPtr self); 1218 CRONET_EXPORT 1219 Cronet_DateTimePtr Cronet_Metrics_sending_start_get( 1220 const Cronet_MetricsPtr self); 1221 CRONET_EXPORT 1222 Cronet_DateTimePtr Cronet_Metrics_sending_end_get(const Cronet_MetricsPtr self); 1223 CRONET_EXPORT 1224 Cronet_DateTimePtr Cronet_Metrics_push_start_get(const Cronet_MetricsPtr self); 1225 CRONET_EXPORT 1226 Cronet_DateTimePtr Cronet_Metrics_push_end_get(const Cronet_MetricsPtr self); 1227 CRONET_EXPORT 1228 Cronet_DateTimePtr Cronet_Metrics_response_start_get( 1229 const Cronet_MetricsPtr self); 1230 CRONET_EXPORT 1231 Cronet_DateTimePtr Cronet_Metrics_request_end_get(const Cronet_MetricsPtr self); 1232 CRONET_EXPORT 1233 bool Cronet_Metrics_socket_reused_get(const Cronet_MetricsPtr self); 1234 CRONET_EXPORT 1235 int64_t Cronet_Metrics_sent_byte_count_get(const Cronet_MetricsPtr self); 1236 CRONET_EXPORT 1237 int64_t Cronet_Metrics_received_byte_count_get(const Cronet_MetricsPtr self); 1238 1239 /////////////////////// 1240 // Struct Cronet_RequestFinishedInfo. 1241 CRONET_EXPORT Cronet_RequestFinishedInfoPtr 1242 Cronet_RequestFinishedInfo_Create(void); 1243 CRONET_EXPORT void Cronet_RequestFinishedInfo_Destroy( 1244 Cronet_RequestFinishedInfoPtr self); 1245 // Cronet_RequestFinishedInfo setters. 1246 CRONET_EXPORT 1247 void Cronet_RequestFinishedInfo_metrics_set(Cronet_RequestFinishedInfoPtr self, 1248 const Cronet_MetricsPtr metrics); 1249 // Move data from |metrics|. The caller retains ownership of |metrics| and must 1250 // destroy it. 1251 void Cronet_RequestFinishedInfo_metrics_move(Cronet_RequestFinishedInfoPtr self, 1252 Cronet_MetricsPtr metrics); 1253 CRONET_EXPORT 1254 void Cronet_RequestFinishedInfo_annotations_add( 1255 Cronet_RequestFinishedInfoPtr self, 1256 const Cronet_RawDataPtr element); 1257 CRONET_EXPORT 1258 void Cronet_RequestFinishedInfo_finished_reason_set( 1259 Cronet_RequestFinishedInfoPtr self, 1260 const Cronet_RequestFinishedInfo_FINISHED_REASON finished_reason); 1261 // Cronet_RequestFinishedInfo getters. 1262 CRONET_EXPORT 1263 Cronet_MetricsPtr Cronet_RequestFinishedInfo_metrics_get( 1264 const Cronet_RequestFinishedInfoPtr self); 1265 CRONET_EXPORT 1266 uint32_t Cronet_RequestFinishedInfo_annotations_size( 1267 const Cronet_RequestFinishedInfoPtr self); 1268 CRONET_EXPORT 1269 Cronet_RawDataPtr Cronet_RequestFinishedInfo_annotations_at( 1270 const Cronet_RequestFinishedInfoPtr self, 1271 uint32_t index); 1272 CRONET_EXPORT 1273 void Cronet_RequestFinishedInfo_annotations_clear( 1274 Cronet_RequestFinishedInfoPtr self); 1275 CRONET_EXPORT 1276 Cronet_RequestFinishedInfo_FINISHED_REASON 1277 Cronet_RequestFinishedInfo_finished_reason_get( 1278 const Cronet_RequestFinishedInfoPtr self); 1279 1280 #ifdef __cplusplus 1281 } 1282 #endif 1283 1284 #endif // COMPONENTS_CRONET_NATIVE_GENERATED_CRONET_IDL_C_H_ 1285