#include "libcef_dll/cpptoc/callback_cpptoc.h"
#include "libcef_dll/shutdown_checker.h"
namespace {
void CEF_CALLBACK callback_cont(struct _cef_callback_t* self) {
shutdown_checker::AssertNotShutdown();
DCHECK(self);
if (!self)
return;
CefCallbackCppToC::Get(self)->Continue();
}
void CEF_CALLBACK callback_cancel(struct _cef_callback_t* self) {
shutdown_checker::AssertNotShutdown();
DCHECK(self);
if (!self)
return;
CefCallbackCppToC::Get(self)->Cancel();
}
}
CefCallbackCppToC::CefCallbackCppToC() {
GetStruct()->cont = callback_cont;
GetStruct()->cancel = callback_cancel;
}
CefCallbackCppToC::~CefCallbackCppToC() {
shutdown_checker::AssertNotShutdown();
}
template <>
CefRefPtr<CefCallback>
CefCppToCRefCounted<CefCallbackCppToC, CefCallback, cef_callback_t>::
UnwrapDerived(CefWrapperType type, cef_callback_t* s) {
NOTREACHED() << "Unexpected class type: " << type;
return nullptr;
}
template <>
CefWrapperType CefCppToCRefCounted<CefCallbackCppToC,
CefCallback,
cef_callback_t>::kWrapperType = WT_CALLBACK;