#include "libcef_dll/cpptoc/post_data_element_cpptoc.h"
CEF_EXPORT cef_post_data_element_t* cef_post_data_element_create() {
CefRefPtr<CefPostDataElement> _retval = CefPostDataElement::Create();
return CefPostDataElementCppToC::Wrap(_retval);
}
namespace {
int CEF_CALLBACK
post_data_element_is_read_only(struct _cef_post_data_element_t* self) {
DCHECK(self);
if (!self)
return 0;
bool _retval = CefPostDataElementCppToC::Get(self)->IsReadOnly();
return _retval;
}
void CEF_CALLBACK
post_data_element_set_to_empty(struct _cef_post_data_element_t* self) {
DCHECK(self);
if (!self)
return;
CefPostDataElementCppToC::Get(self)->SetToEmpty();
}
void CEF_CALLBACK
post_data_element_set_to_file(struct _cef_post_data_element_t* self,
const cef_string_t* fileName) {
DCHECK(self);
if (!self)
return;
DCHECK(fileName);
if (!fileName)
return;
CefPostDataElementCppToC::Get(self)->SetToFile(CefString(fileName));
}
void CEF_CALLBACK
post_data_element_set_to_bytes(struct _cef_post_data_element_t* self,
size_t size,
const void* bytes) {
DCHECK(self);
if (!self)
return;
DCHECK(bytes);
if (!bytes)
return;
CefPostDataElementCppToC::Get(self)->SetToBytes(size, bytes);
}
cef_postdataelement_type_t CEF_CALLBACK
post_data_element_get_type(struct _cef_post_data_element_t* self) {
DCHECK(self);
if (!self)
return PDE_TYPE_EMPTY;
cef_postdataelement_type_t _retval =
CefPostDataElementCppToC::Get(self)->GetType();
return _retval;
}
cef_string_userfree_t CEF_CALLBACK
post_data_element_get_file(struct _cef_post_data_element_t* self) {
DCHECK(self);
if (!self)
return NULL;
CefString _retval = CefPostDataElementCppToC::Get(self)->GetFile();
return _retval.DetachToUserFree();
}
size_t CEF_CALLBACK
post_data_element_get_bytes_count(struct _cef_post_data_element_t* self) {
DCHECK(self);
if (!self)
return 0;
size_t _retval = CefPostDataElementCppToC::Get(self)->GetBytesCount();
return _retval;
}
size_t CEF_CALLBACK
post_data_element_get_bytes(struct _cef_post_data_element_t* self,
size_t size,
void* bytes) {
DCHECK(self);
if (!self)
return 0;
DCHECK(bytes);
if (!bytes)
return 0;
size_t _retval = CefPostDataElementCppToC::Get(self)->GetBytes(size, bytes);
return _retval;
}
}
CefPostDataElementCppToC::CefPostDataElementCppToC() {
GetStruct()->is_read_only = post_data_element_is_read_only;
GetStruct()->set_to_empty = post_data_element_set_to_empty;
GetStruct()->set_to_file = post_data_element_set_to_file;
GetStruct()->set_to_bytes = post_data_element_set_to_bytes;
GetStruct()->get_type = post_data_element_get_type;
GetStruct()->get_file = post_data_element_get_file;
GetStruct()->get_bytes_count = post_data_element_get_bytes_count;
GetStruct()->get_bytes = post_data_element_get_bytes;
}
CefPostDataElementCppToC::~CefPostDataElementCppToC() {}
template <>
CefRefPtr<CefPostDataElement> CefCppToCRefCounted<
CefPostDataElementCppToC,
CefPostDataElement,
cef_post_data_element_t>::UnwrapDerived(CefWrapperType type,
cef_post_data_element_t* s) {
NOTREACHED() << "Unexpected class type: " << type;
return nullptr;
}
template <>
CefWrapperType CefCppToCRefCounted<CefPostDataElementCppToC,
CefPostDataElement,
cef_post_data_element_t>::kWrapperType =
WT_POST_DATA_ELEMENT;