#include "libcef_dll/cpptoc/v8stack_frame_cpptoc.h"
namespace {
int CEF_CALLBACK v8stack_frame_is_valid(struct _cef_v8stack_frame_t* self) {
DCHECK(self);
if (!self)
return 0;
bool _retval = CefV8StackFrameCppToC::Get(self)->IsValid();
return _retval;
}
cef_string_userfree_t CEF_CALLBACK
v8stack_frame_get_script_name(struct _cef_v8stack_frame_t* self) {
DCHECK(self);
if (!self)
return NULL;
CefString _retval = CefV8StackFrameCppToC::Get(self)->GetScriptName();
return _retval.DetachToUserFree();
}
cef_string_userfree_t CEF_CALLBACK
v8stack_frame_get_script_name_or_source_url(struct _cef_v8stack_frame_t* self) {
DCHECK(self);
if (!self)
return NULL;
CefString _retval =
CefV8StackFrameCppToC::Get(self)->GetScriptNameOrSourceURL();
return _retval.DetachToUserFree();
}
cef_string_userfree_t CEF_CALLBACK
v8stack_frame_get_function_name(struct _cef_v8stack_frame_t* self) {
DCHECK(self);
if (!self)
return NULL;
CefString _retval = CefV8StackFrameCppToC::Get(self)->GetFunctionName();
return _retval.DetachToUserFree();
}
int CEF_CALLBACK
v8stack_frame_get_line_number(struct _cef_v8stack_frame_t* self) {
DCHECK(self);
if (!self)
return 0;
int _retval = CefV8StackFrameCppToC::Get(self)->GetLineNumber();
return _retval;
}
int CEF_CALLBACK v8stack_frame_get_column(struct _cef_v8stack_frame_t* self) {
DCHECK(self);
if (!self)
return 0;
int _retval = CefV8StackFrameCppToC::Get(self)->GetColumn();
return _retval;
}
int CEF_CALLBACK v8stack_frame_is_eval(struct _cef_v8stack_frame_t* self) {
DCHECK(self);
if (!self)
return 0;
bool _retval = CefV8StackFrameCppToC::Get(self)->IsEval();
return _retval;
}
int CEF_CALLBACK
v8stack_frame_is_constructor(struct _cef_v8stack_frame_t* self) {
DCHECK(self);
if (!self)
return 0;
bool _retval = CefV8StackFrameCppToC::Get(self)->IsConstructor();
return _retval;
}
}
CefV8StackFrameCppToC::CefV8StackFrameCppToC() {
GetStruct()->is_valid = v8stack_frame_is_valid;
GetStruct()->get_script_name = v8stack_frame_get_script_name;
GetStruct()->get_script_name_or_source_url =
v8stack_frame_get_script_name_or_source_url;
GetStruct()->get_function_name = v8stack_frame_get_function_name;
GetStruct()->get_line_number = v8stack_frame_get_line_number;
GetStruct()->get_column = v8stack_frame_get_column;
GetStruct()->is_eval = v8stack_frame_is_eval;
GetStruct()->is_constructor = v8stack_frame_is_constructor;
}
CefV8StackFrameCppToC::~CefV8StackFrameCppToC() {}
template <>
CefRefPtr<CefV8StackFrame> CefCppToCRefCounted<
CefV8StackFrameCppToC,
CefV8StackFrame,
cef_v8stack_frame_t>::UnwrapDerived(CefWrapperType type,
cef_v8stack_frame_t* s) {
NOTREACHED() << "Unexpected class type: " << type;
return nullptr;
}
template <>
CefWrapperType CefCppToCRefCounted<CefV8StackFrameCppToC,
CefV8StackFrame,
cef_v8stack_frame_t>::kWrapperType =
WT_V8STACK_FRAME;