#include "libcef_dll/ctocpp/resolve_callback_ctocpp.h"
#include "libcef_dll/shutdown_checker.h"
#include "libcef_dll/transfer_util.h"
NO_SANITIZE("cfi-icall")
void CefResolveCallbackCToCpp::OnResolveCompleted(
cef_errorcode_t result,
const std::vector<CefString>& resolved_ips) {
shutdown_checker::AssertNotShutdown();
cef_resolve_callback_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, on_resolve_completed))
return;
cef_string_list_t resolved_ipsList = cef_string_list_alloc();
DCHECK(resolved_ipsList);
if (resolved_ipsList)
transfer_string_list_contents(resolved_ips, resolved_ipsList);
_struct->on_resolve_completed(_struct, result, resolved_ipsList);
if (resolved_ipsList)
cef_string_list_free(resolved_ipsList);
}
CefResolveCallbackCToCpp::CefResolveCallbackCToCpp() {}
CefResolveCallbackCToCpp::~CefResolveCallbackCToCpp() {
shutdown_checker::AssertNotShutdown();
}
template <>
cef_resolve_callback_t* CefCToCppRefCounted<
CefResolveCallbackCToCpp,
CefResolveCallback,
cef_resolve_callback_t>::UnwrapDerived(CefWrapperType type,
CefResolveCallback* c) {
NOTREACHED() << "Unexpected class type: " << type;
return nullptr;
}
template <>
CefWrapperType CefCToCppRefCounted<CefResolveCallbackCToCpp,
CefResolveCallback,
cef_resolve_callback_t>::kWrapperType =
WT_RESOLVE_CALLBACK;