#include "libcef_dll/cpptoc/before_download_callback_cpptoc.h"
#include "libcef_dll/shutdown_checker.h"
namespace {
void CEF_CALLBACK
before_download_callback_cont(struct _cef_before_download_callback_t* self,
const cef_string_t* download_path,
int show_dialog) {
shutdown_checker::AssertNotShutdown();
DCHECK(self);
if (!self)
return;
CefBeforeDownloadCallbackCppToC::Get(self)->Continue(
CefString(download_path), show_dialog ? true : false);
}
}
CefBeforeDownloadCallbackCppToC::CefBeforeDownloadCallbackCppToC() {
GetStruct()->cont = before_download_callback_cont;
}
CefBeforeDownloadCallbackCppToC::~CefBeforeDownloadCallbackCppToC() {
shutdown_checker::AssertNotShutdown();
}
template <>
CefRefPtr<CefBeforeDownloadCallback>
CefCppToCRefCounted<CefBeforeDownloadCallbackCppToC,
CefBeforeDownloadCallback,
cef_before_download_callback_t>::
UnwrapDerived(CefWrapperType type, cef_before_download_callback_t* s) {
NOTREACHED() << "Unexpected class type: " << type;
return nullptr;
}
template <>
CefWrapperType
CefCppToCRefCounted<CefBeforeDownloadCallbackCppToC,
CefBeforeDownloadCallback,
cef_before_download_callback_t>::kWrapperType =
WT_BEFORE_DOWNLOAD_CALLBACK;