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