1 // Copyright (c) 2022 The Chromium Embedded Framework Authors. All rights
2 // reserved. Use of this source code is governed by a BSD-style license that
3 // can be found in the LICENSE file.
4 //
5 // ---------------------------------------------------------------------------
6 //
7 // This file was generated by the CEF translator tool. If making changes by
8 // hand only do so within the body of existing method and function
9 // implementations. See the translator.README.txt file in the tools directory
10 // for more information.
11 //
12 // $hash=639576c610ca3898809cdee6d19c45253e9ea4d2$
13 //
14
15 #include "libcef_dll/cpptoc/dialog_handler_cpptoc.h"
16 #include "libcef_dll/ctocpp/browser_ctocpp.h"
17 #include "libcef_dll/ctocpp/file_dialog_callback_ctocpp.h"
18 #include "libcef_dll/shutdown_checker.h"
19 #include "libcef_dll/transfer_util.h"
20
21 namespace {
22
23 // MEMBER FUNCTIONS - Body may be edited by hand.
24
25 int CEF_CALLBACK
dialog_handler_on_file_dialog(struct _cef_dialog_handler_t * self,cef_browser_t * browser,cef_file_dialog_mode_t mode,const cef_string_t * title,const cef_string_t * default_file_path,cef_string_list_t accept_filters,int selected_accept_filter,cef_file_dialog_callback_t * callback)26 dialog_handler_on_file_dialog(struct _cef_dialog_handler_t* self,
27 cef_browser_t* browser,
28 cef_file_dialog_mode_t mode,
29 const cef_string_t* title,
30 const cef_string_t* default_file_path,
31 cef_string_list_t accept_filters,
32 int selected_accept_filter,
33 cef_file_dialog_callback_t* callback) {
34 shutdown_checker::AssertNotShutdown();
35
36 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
37
38 DCHECK(self);
39 if (!self)
40 return 0;
41 // Verify param: browser; type: refptr_diff
42 DCHECK(browser);
43 if (!browser)
44 return 0;
45 // Verify param: selected_accept_filter; type: simple_byval
46 DCHECK_GE(selected_accept_filter, 0);
47 if (selected_accept_filter < 0)
48 return 0;
49 // Verify param: callback; type: refptr_diff
50 DCHECK(callback);
51 if (!callback)
52 return 0;
53 // Unverified params: title, default_file_path, accept_filters
54
55 // Translate param: accept_filters; type: string_vec_byref_const
56 std::vector<CefString> accept_filtersList;
57 transfer_string_list_contents(accept_filters, accept_filtersList);
58
59 // Execute
60 bool _retval = CefDialogHandlerCppToC::Get(self)->OnFileDialog(
61 CefBrowserCToCpp::Wrap(browser), mode, CefString(title),
62 CefString(default_file_path), accept_filtersList, selected_accept_filter,
63 CefFileDialogCallbackCToCpp::Wrap(callback));
64
65 // Return type: bool
66 return _retval;
67 }
68
69 } // namespace
70
71 // CONSTRUCTOR - Do not edit by hand.
72
CefDialogHandlerCppToC()73 CefDialogHandlerCppToC::CefDialogHandlerCppToC() {
74 GetStruct()->on_file_dialog = dialog_handler_on_file_dialog;
75 }
76
77 // DESTRUCTOR - Do not edit by hand.
78
~CefDialogHandlerCppToC()79 CefDialogHandlerCppToC::~CefDialogHandlerCppToC() {
80 shutdown_checker::AssertNotShutdown();
81 }
82
83 template <>
84 CefRefPtr<CefDialogHandler> CefCppToCRefCounted<
85 CefDialogHandlerCppToC,
86 CefDialogHandler,
UnwrapDerived(CefWrapperType type,cef_dialog_handler_t * s)87 cef_dialog_handler_t>::UnwrapDerived(CefWrapperType type,
88 cef_dialog_handler_t* s) {
89 NOTREACHED() << "Unexpected class type: " << type;
90 return nullptr;
91 }
92
93 template <>
94 CefWrapperType CefCppToCRefCounted<CefDialogHandlerCppToC,
95 CefDialogHandler,
96 cef_dialog_handler_t>::kWrapperType =
97 WT_DIALOG_HANDLER;
98