#include "libcef_dll/cpptoc/resource_bundle_cpptoc.h"
#include "libcef_dll/cpptoc/binary_value_cpptoc.h"
CEF_EXPORT cef_resource_bundle_t* cef_resource_bundle_get_global() {
CefRefPtr<CefResourceBundle> _retval = CefResourceBundle::GetGlobal();
return CefResourceBundleCppToC::Wrap(_retval);
}
namespace {
cef_string_userfree_t CEF_CALLBACK
resource_bundle_get_localized_string(struct _cef_resource_bundle_t* self,
int string_id) {
DCHECK(self);
if (!self)
return NULL;
CefString _retval =
CefResourceBundleCppToC::Get(self)->GetLocalizedString(string_id);
return _retval.DetachToUserFree();
}
struct _cef_binary_value_t* CEF_CALLBACK
resource_bundle_get_data_resource(struct _cef_resource_bundle_t* self,
int resource_id) {
DCHECK(self);
if (!self)
return NULL;
CefRefPtr<CefBinaryValue> _retval =
CefResourceBundleCppToC::Get(self)->GetDataResource(resource_id);
return CefBinaryValueCppToC::Wrap(_retval);
}
struct _cef_binary_value_t* CEF_CALLBACK
resource_bundle_get_data_resource_for_scale(struct _cef_resource_bundle_t* self,
int resource_id,
cef_scale_factor_t scale_factor) {
DCHECK(self);
if (!self)
return NULL;
CefRefPtr<CefBinaryValue> _retval =
CefResourceBundleCppToC::Get(self)->GetDataResourceForScale(resource_id,
scale_factor);
return CefBinaryValueCppToC::Wrap(_retval);
}
}
CefResourceBundleCppToC::CefResourceBundleCppToC() {
GetStruct()->get_localized_string = resource_bundle_get_localized_string;
GetStruct()->get_data_resource = resource_bundle_get_data_resource;
GetStruct()->get_data_resource_for_scale =
resource_bundle_get_data_resource_for_scale;
}
CefResourceBundleCppToC::~CefResourceBundleCppToC() {}
template <>
CefRefPtr<CefResourceBundle> CefCppToCRefCounted<
CefResourceBundleCppToC,
CefResourceBundle,
cef_resource_bundle_t>::UnwrapDerived(CefWrapperType type,
cef_resource_bundle_t* s) {
NOTREACHED() << "Unexpected class type: " << type;
return nullptr;
}
template <>
CefWrapperType CefCppToCRefCounted<CefResourceBundleCppToC,
CefResourceBundle,
cef_resource_bundle_t>::kWrapperType =
WT_RESOURCE_BUNDLE;