#include "libcef_dll/cpptoc/v8exception_cpptoc.h"
namespace {
cef_string_userfree_t CEF_CALLBACK
v8exception_get_message(struct _cef_v8exception_t* self) {
DCHECK(self);
if (!self)
return NULL;
CefString _retval = CefV8ExceptionCppToC::Get(self)->GetMessage();
return _retval.DetachToUserFree();
}
cef_string_userfree_t CEF_CALLBACK
v8exception_get_source_line(struct _cef_v8exception_t* self) {
DCHECK(self);
if (!self)
return NULL;
CefString _retval = CefV8ExceptionCppToC::Get(self)->GetSourceLine();
return _retval.DetachToUserFree();
}
cef_string_userfree_t CEF_CALLBACK
v8exception_get_script_resource_name(struct _cef_v8exception_t* self) {
DCHECK(self);
if (!self)
return NULL;
CefString _retval = CefV8ExceptionCppToC::Get(self)->GetScriptResourceName();
return _retval.DetachToUserFree();
}
int CEF_CALLBACK v8exception_get_line_number(struct _cef_v8exception_t* self) {
DCHECK(self);
if (!self)
return 0;
int _retval = CefV8ExceptionCppToC::Get(self)->GetLineNumber();
return _retval;
}
int CEF_CALLBACK
v8exception_get_start_position(struct _cef_v8exception_t* self) {
DCHECK(self);
if (!self)
return 0;
int _retval = CefV8ExceptionCppToC::Get(self)->GetStartPosition();
return _retval;
}
int CEF_CALLBACK v8exception_get_end_position(struct _cef_v8exception_t* self) {
DCHECK(self);
if (!self)
return 0;
int _retval = CefV8ExceptionCppToC::Get(self)->GetEndPosition();
return _retval;
}
int CEF_CALLBACK v8exception_get_start_column(struct _cef_v8exception_t* self) {
DCHECK(self);
if (!self)
return 0;
int _retval = CefV8ExceptionCppToC::Get(self)->GetStartColumn();
return _retval;
}
int CEF_CALLBACK v8exception_get_end_column(struct _cef_v8exception_t* self) {
DCHECK(self);
if (!self)
return 0;
int _retval = CefV8ExceptionCppToC::Get(self)->GetEndColumn();
return _retval;
}
}
CefV8ExceptionCppToC::CefV8ExceptionCppToC() {
GetStruct()->get_message = v8exception_get_message;
GetStruct()->get_source_line = v8exception_get_source_line;
GetStruct()->get_script_resource_name = v8exception_get_script_resource_name;
GetStruct()->get_line_number = v8exception_get_line_number;
GetStruct()->get_start_position = v8exception_get_start_position;
GetStruct()->get_end_position = v8exception_get_end_position;
GetStruct()->get_start_column = v8exception_get_start_column;
GetStruct()->get_end_column = v8exception_get_end_column;
}
CefV8ExceptionCppToC::~CefV8ExceptionCppToC() {}
template <>
CefRefPtr<CefV8Exception>
CefCppToCRefCounted<CefV8ExceptionCppToC, CefV8Exception, cef_v8exception_t>::
UnwrapDerived(CefWrapperType type, cef_v8exception_t* s) {
NOTREACHED() << "Unexpected class type: " << type;
return nullptr;
}
template <>
CefWrapperType CefCppToCRefCounted<CefV8ExceptionCppToC,
CefV8Exception,
cef_v8exception_t>::kWrapperType =
WT_V8EXCEPTION;