mirror of
https://github.com/atom/atom.git
synced 2026-01-25 14:59:03 -05:00
This adds support for accessing native extensions in web workers, though it may not work quite how we need it to just yet. Figured we'd bank an upgrade anyway.
127 lines
3.4 KiB
C++
127 lines
3.4 KiB
C++
// Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights
|
|
// reserved. Use of this source code is governed by a BSD-style license that
|
|
// can be found in the LICENSE file.
|
|
//
|
|
// ---------------------------------------------------------------------------
|
|
//
|
|
// This file was generated by the CEF translator tool. If making changes by
|
|
// hand only do so within the body of existing method and function
|
|
// implementations. See the translator.README.txt file in the tools directory
|
|
// for more information.
|
|
//
|
|
|
|
#include "libcef_dll/cpptoc/v8accessor_cpptoc.h"
|
|
#include "libcef_dll/ctocpp/v8value_ctocpp.h"
|
|
|
|
|
|
// MEMBER FUNCTIONS - Body may be edited by hand.
|
|
|
|
int CEF_CALLBACK v8accessor_get(struct _cef_v8accessor_t* self,
|
|
const cef_string_t* name, struct _cef_v8value_t* object,
|
|
struct _cef_v8value_t** retval, cef_string_t* exception) {
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
DCHECK(self);
|
|
if (!self)
|
|
return 0;
|
|
// Verify param: name; type: string_byref_const
|
|
DCHECK(name);
|
|
if (!name)
|
|
return 0;
|
|
// Verify param: object; type: refptr_diff
|
|
DCHECK(object);
|
|
if (!object)
|
|
return 0;
|
|
// Verify param: retval; type: refptr_diff_byref
|
|
DCHECK(retval);
|
|
if (!retval)
|
|
return 0;
|
|
// Verify param: exception; type: string_byref
|
|
DCHECK(exception);
|
|
if (!exception)
|
|
return 0;
|
|
|
|
// Translate param: retval; type: refptr_diff_byref
|
|
CefRefPtr<CefV8Value> retvalPtr;
|
|
if (retval && *retval)
|
|
retvalPtr = CefV8ValueCToCpp::Wrap(*retval);
|
|
CefV8Value* retvalOrig = retvalPtr.get();
|
|
// Translate param: exception; type: string_byref
|
|
CefString exceptionStr(exception);
|
|
|
|
// Execute
|
|
bool _retval = CefV8AccessorCppToC::Get(self)->Get(
|
|
CefString(name),
|
|
CefV8ValueCToCpp::Wrap(object),
|
|
retvalPtr,
|
|
exceptionStr);
|
|
|
|
// Restore param: retval; type: refptr_diff_byref
|
|
if (retval) {
|
|
if (retvalPtr.get()) {
|
|
if (retvalPtr.get() != retvalOrig) {
|
|
*retval = CefV8ValueCToCpp::Unwrap(retvalPtr);
|
|
}
|
|
} else {
|
|
*retval = NULL;
|
|
}
|
|
}
|
|
|
|
// Return type: bool
|
|
return _retval;
|
|
}
|
|
|
|
int CEF_CALLBACK v8accessor_set(struct _cef_v8accessor_t* self,
|
|
const cef_string_t* name, struct _cef_v8value_t* object,
|
|
struct _cef_v8value_t* value, cef_string_t* exception) {
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
DCHECK(self);
|
|
if (!self)
|
|
return 0;
|
|
// Verify param: name; type: string_byref_const
|
|
DCHECK(name);
|
|
if (!name)
|
|
return 0;
|
|
// Verify param: object; type: refptr_diff
|
|
DCHECK(object);
|
|
if (!object)
|
|
return 0;
|
|
// Verify param: value; type: refptr_diff
|
|
DCHECK(value);
|
|
if (!value)
|
|
return 0;
|
|
// Verify param: exception; type: string_byref
|
|
DCHECK(exception);
|
|
if (!exception)
|
|
return 0;
|
|
|
|
// Translate param: exception; type: string_byref
|
|
CefString exceptionStr(exception);
|
|
|
|
// Execute
|
|
bool _retval = CefV8AccessorCppToC::Get(self)->Set(
|
|
CefString(name),
|
|
CefV8ValueCToCpp::Wrap(object),
|
|
CefV8ValueCToCpp::Wrap(value),
|
|
exceptionStr);
|
|
|
|
// Return type: bool
|
|
return _retval;
|
|
}
|
|
|
|
|
|
// CONSTRUCTOR - Do not edit by hand.
|
|
|
|
CefV8AccessorCppToC::CefV8AccessorCppToC(CefV8Accessor* cls)
|
|
: CefCppToC<CefV8AccessorCppToC, CefV8Accessor, cef_v8accessor_t>(cls) {
|
|
struct_.struct_.get = v8accessor_get;
|
|
struct_.struct_.set = v8accessor_set;
|
|
}
|
|
|
|
#ifndef NDEBUG
|
|
template<> long CefCppToC<CefV8AccessorCppToC, CefV8Accessor,
|
|
cef_v8accessor_t>::DebugObjCt = 0;
|
|
#endif
|
|
|