FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

GitHub Viewer

// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. #include "ClearScriptV8Native.h" //----------------------------------------------------------------------------- // HostObjectUtil implementation //----------------------------------------------------------------------------- void* HostObjectUtil::AddRef(void* pvObject) { return V8_SPLIT_PROXY_MANAGED_INVOKE_NOTHROW(void*, AddRefHostObject, pvObject); } //----------------------------------------------------------------------------- void HostObjectUtil::Release(void* pvObject) { V8_SPLIT_PROXY_MANAGED_INVOKE_VOID_NOTHROW(ReleaseHostObject, pvObject); } //----------------------------------------------------------------------------- HostObjectUtil::Invocability HostObjectUtil::GetInvocability(void* pvObject) { return V8_SPLIT_PROXY_MANAGED_INVOKE(Invocability, GetHostObjectInvocability, pvObject); } //----------------------------------------------------------------------------- V8Value HostObjectUtil::GetProperty(void* pvObject, const StdString& name, bool& isCacheable) { V8Value value(V8Value::Nonexistent); StdBool tempIsCacheable; V8_SPLIT_PROXY_MANAGED_INVOKE_VOID(GetHostObjectNamedProperty, pvObject, name, value, tempIsCacheable); isCacheable = (tempIsCacheable != 0); return value; } //----------------------------------------------------------------------------- void HostObjectUtil::SetProperty(void* pvObject, const StdString& name, const V8Value& value) { V8Value::Decoded decodedValue; value.Decode(decodedValue); V8_SPLIT_PROXY_MANAGED_INVOKE_VOID(SetHostObjectNamedProperty, pvObject, name, decodedValue); } //----------------------------------------------------------------------------- bool HostObjectUtil::DeleteProperty(void* pvObject, const StdString& name) { return V8_SPLIT_PROXY_MANAGED_INVOKE(StdBool, DeleteHostObjectNamedProperty, pvObject, name); } //----------------------------------------------------------------------------- void HostObjectUtil::GetPropertyNames(void* pvObject, std::vector& names) { V8_SPLIT_PROXY_MANAGED_INVOKE_VOID(GetHostObjectPropertyNames, pvObject, names); } //----------------------------------------------------------------------------- V8Value HostObjectUtil::GetProperty(void* pvObject, int32_t index) { V8Value value(V8Value::Nonexistent); V8_SPLIT_PROXY_MANAGED_INVOKE_VOID(GetHostObjectIndexedProperty, pvObject, index, value); return value; } //----------------------------------------------------------------------------- void HostObjectUtil::SetProperty(void* pvObject, int32_t index, const V8Value& value) { V8Value::Decoded decodedValue; value.Decode(decodedValue); V8_SPLIT_PROXY_MANAGED_INVOKE_VOID(SetHostObjectIndexedProperty, pvObject, index, decodedValue); } //----------------------------------------------------------------------------- bool HostObjectUtil::DeleteProperty(void* pvObject, int32_t index) { return V8_SPLIT_PROXY_MANAGED_INVOKE(StdBool, DeleteHostObjectIndexedProperty, pvObject, index); } //----------------------------------------------------------------------------- void HostObjectUtil::GetPropertyIndices(void* pvObject, std::vector& indices) { V8_SPLIT_PROXY_MANAGED_INVOKE_VOID(GetHostObjectPropertyIndices, pvObject, indices); } //----------------------------------------------------------------------------- V8Value HostObjectUtil::Invoke(void* pvObject, bool asConstructor, size_t argCount, const V8Value* pArgs) { V8Value result(V8Value::Nonexistent); if (argCount < 1) { V8_SPLIT_PROXY_MANAGED_INVOKE_VOID(InvokeHostObject, pvObject, asConstructor, 0, nullptr, result); } else if (argCount

Back | FazBrowse Home | New Git URL