github.com/ckxng/wakeup@v0.0.0-20190105202853-90356a5f5a15/include/capi/cef_download_handler_capi.h (about)

     1  // Copyright (c) 2014 Marshall A. Greenblatt. All rights reserved.
     2  //
     3  // Redistribution and use in source and binary forms, with or without
     4  // modification, are permitted provided that the following conditions are
     5  // met:
     6  //
     7  //    * Redistributions of source code must retain the above copyright
     8  // notice, this list of conditions and the following disclaimer.
     9  //    * Redistributions in binary form must reproduce the above
    10  // copyright notice, this list of conditions and the following disclaimer
    11  // in the documentation and/or other materials provided with the
    12  // distribution.
    13  //    * Neither the name of Google Inc. nor the name Chromium Embedded
    14  // Framework nor the names of its contributors may be used to endorse
    15  // or promote products derived from this software without specific prior
    16  // written permission.
    17  //
    18  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    19  // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    20  // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    21  // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    22  // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    23  // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    24  // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    25  // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    26  // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    27  // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    28  // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    29  //
    30  // ---------------------------------------------------------------------------
    31  //
    32  // This file was generated by the CEF translator tool and should not edited
    33  // by hand. See the translator.README.txt file in the tools directory for
    34  // more information.
    35  //
    36  
    37  #ifndef CEF_INCLUDE_CAPI_CEF_DOWNLOAD_HANDLER_CAPI_H_
    38  #define CEF_INCLUDE_CAPI_CEF_DOWNLOAD_HANDLER_CAPI_H_
    39  #pragma once
    40  
    41  #ifdef __cplusplus
    42  extern "C" {
    43  #endif
    44  
    45  #include "include/capi/cef_base_capi.h"
    46  #include "include/capi/cef_browser_capi.h"
    47  #include "include/capi/cef_download_item_capi.h"
    48  
    49  
    50  ///
    51  // Callback structure used to asynchronously continue a download.
    52  ///
    53  typedef struct _cef_before_download_callback_t {
    54    ///
    55    // Base structure.
    56    ///
    57    cef_base_t base;
    58  
    59    ///
    60    // Call to continue the download. Set |download_path| to the full file path
    61    // for the download including the file name or leave blank to use the
    62    // suggested name and the default temp directory. Set |show_dialog| to true
    63    // (1) if you do wish to show the default "Save As" dialog.
    64    ///
    65    void (CEF_CALLBACK *cont)(struct _cef_before_download_callback_t* self,
    66        const cef_string_t* download_path, int show_dialog);
    67  } cef_before_download_callback_t;
    68  
    69  
    70  ///
    71  // Callback structure used to asynchronously cancel a download.
    72  ///
    73  typedef struct _cef_download_item_callback_t {
    74    ///
    75    // Base structure.
    76    ///
    77    cef_base_t base;
    78  
    79    ///
    80    // Call to cancel the download.
    81    ///
    82    void (CEF_CALLBACK *cancel)(struct _cef_download_item_callback_t* self);
    83  } cef_download_item_callback_t;
    84  
    85  
    86  ///
    87  // Structure used to handle file downloads. The functions of this structure will
    88  // called on the browser process UI thread.
    89  ///
    90  typedef struct _cef_download_handler_t {
    91    ///
    92    // Base structure.
    93    ///
    94    cef_base_t base;
    95  
    96    ///
    97    // Called before a download begins. |suggested_name| is the suggested name for
    98    // the download file. By default the download will be canceled. Execute
    99    // |callback| either asynchronously or in this function to continue the
   100    // download if desired. Do not keep a reference to |download_item| outside of
   101    // this function.
   102    ///
   103    void (CEF_CALLBACK *on_before_download)(struct _cef_download_handler_t* self,
   104        struct _cef_browser_t* browser,
   105        struct _cef_download_item_t* download_item,
   106        const cef_string_t* suggested_name,
   107        struct _cef_before_download_callback_t* callback);
   108  
   109    ///
   110    // Called when a download's status or progress information has been updated.
   111    // This may be called multiple times before and after on_before_download().
   112    // Execute |callback| either asynchronously or in this function to cancel the
   113    // download if desired. Do not keep a reference to |download_item| outside of
   114    // this function.
   115    ///
   116    void (CEF_CALLBACK *on_download_updated)(struct _cef_download_handler_t* self,
   117        struct _cef_browser_t* browser,
   118        struct _cef_download_item_t* download_item,
   119        struct _cef_download_item_callback_t* callback);
   120  } cef_download_handler_t;
   121  
   122  
   123  #ifdef __cplusplus
   124  }
   125  #endif
   126  
   127  #endif  // CEF_INCLUDE_CAPI_CEF_DOWNLOAD_HANDLER_CAPI_H_