1aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block/*
2aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block * Copyright 2010, The Android Open Source Project
3aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block *
4aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block * Redistribution and use in source and binary forms, with or without
5aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block * modification, are permitted provided that the following conditions
6aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block * are met:
7aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block *  * Redistributions of source code must retain the above copyright
8aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block *    notice, this list of conditions and the following disclaimer.
9aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block *  * Redistributions in binary form must reproduce the above copyright
10aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block *    notice, this list of conditions and the following disclaimer in the
11aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block *    documentation and/or other materials provided with the distribution.
12aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block *
13aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
14aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
17aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block */
25aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block
2681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#ifndef JavaFieldV8_h
2781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#define JavaFieldV8_h
28aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block
2981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#if ENABLE(JAVA_BRIDGE)
3081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
312daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#include "JNIUtility.h"
322daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#include <wtf/text/WTFString.h>
33aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block
34aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Blocknamespace JSC {
35aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block
36aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Blocknamespace Bindings {
37aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block
3809e3a0d3e5e0725e32330137c505146270a2fc84Steve Blockclass JavaField {
39aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Blockpublic:
402daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch    virtual ~JavaField() {}
41aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block
422daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch    virtual String name() const = 0;
432daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch    virtual const char* typeClassName() const = 0;
442daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch    virtual JavaType type() const = 0;
45aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block};
46aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block
47aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block} // namespace Bindings
48aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block
49aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block} // namespace JSC
50aefef8d800d34d6733c13b05c7cfe214d06b62d8Steve Block
5181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#endif // ENABLE(JAVA_BRIDGE)
5281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
5381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#endif // JavaFieldV8_h
54