#include "libcef_dll/cpptoc/binary_value_cpptoc.h"
#include "libcef_dll/shutdown_checker.h"
CEF_EXPORT cef_binary_value_t* cef_binary_value_create(const void* data,
size_t data_size) {
shutdown_checker::AssertNotShutdown();
DCHECK(data);
if (!data)
return NULL;
CefRefPtr<CefBinaryValue> _retval = CefBinaryValue::Create(data, data_size);
return CefBinaryValueCppToC::Wrap(_retval);
}
namespace {
int CEF_CALLBACK binary_value_is_valid(struct _cef_binary_value_t* self) {
shutdown_checker::AssertNotShutdown();
DCHECK(self);
if (!self)
return 0;
bool _retval = CefBinaryValueCppToC::Get(self)->IsValid();
return _retval;
}
int CEF_CALLBACK binary_value_is_owned(struct _cef_binary_value_t* self) {
shutdown_checker::AssertNotShutdown();
DCHECK(self);
if (!self)
return 0;
bool _retval = CefBinaryValueCppToC::Get(self)->IsOwned();
return _retval;
}
int CEF_CALLBACK binary_value_is_same(struct _cef_binary_value_t* self,
struct _cef_binary_value_t* that) {
shutdown_checker::AssertNotShutdown();
DCHECK(self);
if (!self)
return 0;
DCHECK(that);
if (!that)
return 0;
bool _retval = CefBinaryValueCppToC::Get(self)->IsSame(
CefBinaryValueCppToC::Unwrap(that));
return _retval;
}
int CEF_CALLBACK binary_value_is_equal(struct _cef_binary_value_t* self,
struct _cef_binary_value_t* that) {
shutdown_checker::AssertNotShutdown();
DCHECK(self);
if (!self)
return 0;
DCHECK(that);
if (!that)
return 0;
bool _retval = CefBinaryValueCppToC::Get(self)->IsEqual(
CefBinaryValueCppToC::Unwrap(that));
return _retval;
}
struct _cef_binary_value_t* CEF_CALLBACK
binary_value_copy(struct _cef_binary_value_t* self) {
shutdown_checker::AssertNotShutdown();
DCHECK(self);
if (!self)
return NULL;
CefRefPtr<CefBinaryValue> _retval = CefBinaryValueCppToC::Get(self)->Copy();
return CefBinaryValueCppToC::Wrap(_retval);
}
size_t CEF_CALLBACK binary_value_get_size(struct _cef_binary_value_t* self) {
shutdown_checker::AssertNotShutdown();
DCHECK(self);
if (!self)
return 0;
size_t _retval = CefBinaryValueCppToC::Get(self)->GetSize();
return _retval;
}
size_t CEF_CALLBACK binary_value_get_data(struct _cef_binary_value_t* self,
void* buffer,
size_t buffer_size,
size_t data_offset) {
shutdown_checker::AssertNotShutdown();
DCHECK(self);
if (!self)
return 0;
DCHECK(buffer);
if (!buffer)
return 0;
size_t _retval = CefBinaryValueCppToC::Get(self)->GetData(buffer, buffer_size,
data_offset);
return _retval;
}
}
CefBinaryValueCppToC::CefBinaryValueCppToC() {
GetStruct()->is_valid = binary_value_is_valid;
GetStruct()->is_owned = binary_value_is_owned;
GetStruct()->is_same = binary_value_is_same;
GetStruct()->is_equal = binary_value_is_equal;
GetStruct()->copy = binary_value_copy;
GetStruct()->get_size = binary_value_get_size;
GetStruct()->get_data = binary_value_get_data;
}
CefBinaryValueCppToC::~CefBinaryValueCppToC() {
shutdown_checker::AssertNotShutdown();
}
template <>
CefRefPtr<CefBinaryValue>
CefCppToCRefCounted<CefBinaryValueCppToC, CefBinaryValue, cef_binary_value_t>::
UnwrapDerived(CefWrapperType type, cef_binary_value_t* s) {
NOTREACHED() << "Unexpected class type: " << type;
return nullptr;
}
template <>
CefWrapperType CefCppToCRefCounted<CefBinaryValueCppToC,
CefBinaryValue,
cef_binary_value_t>::kWrapperType =
WT_BINARY_VALUE;