11d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block/* 21d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * Copyright (C) 2003 Apple Computer, Inc. All rights reserved. 31d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * Copyright 2009, The Android Open Source Project 41d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * 51d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * Redistribution and use in source and binary forms, with or without 61d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * modification, are permitted provided that the following conditions 71d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * are met: 81d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * * Redistributions of source code must retain the above copyright 91d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * notice, this list of conditions and the following disclaimer. 101d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * * Redistributions in binary form must reproduce the above copyright 111d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * notice, this list of conditions and the following disclaimer in the 121d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * documentation and/or other materials provided with the distribution. 131d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * 141d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 151d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 161d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 171d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 181d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 191d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 201d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 211d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 221d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 231d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 241d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 251d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block */ 261d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block 2720ab751acc0d49d74648373f701f3d0c4ff187c0Steve Block#ifndef JNIUtilityPrivate_h 2820ab751acc0d49d74648373f701f3d0c4ff187c0Steve Block#define JNIUtilityPrivate_h 291d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block 3021939df44de1705786c545cd1bf519d47250322dBen Murdoch#if ENABLE(JAVA_BRIDGE) 311d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block 3220ab751acc0d49d74648373f701f3d0c4ff187c0Steve Block#include "JNIUtility.h" 331d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block#include <runtime/JSValue.h> 341d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block 351d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Blocknamespace JSC { 361d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block 371d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Blockclass ExecState; 381d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Blockclass JSObject; 391d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block 401d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Blocknamespace Bindings { 411d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block 42dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockclass RootObject; 43dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 442bde8e466a4451c7319e3a072d118917957d6554Steve Blockjvalue convertValueToJValue(ExecState*, RootObject*, JSValue, JavaType, const char* javaClassName); 452bde8e466a4451c7319e3a072d118917957d6554Steve Blockbool dispatchJNICall(ExecState*, const void* targetAppletView, jobject, bool isStatic, JavaType returnType, jmethodID, jvalue* args, jvalue& result, const char* callingURL, JSValue& exceptionDescription); 461d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block 471d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block} // namespace Bindings 481d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block 491d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block} // namespace JSC 501d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block 5121939df44de1705786c545cd1bf519d47250322dBen Murdoch#endif // ENABLE(JAVA_BRIDGE) 521d68587ce0a52acb0cb724ac362cee0a14bf1e8fSteve Block 5320ab751acc0d49d74648373f701f3d0c4ff187c0Steve Block#endif // JNIUtilityPrivate_h 54