/*
 Copyright 2010 Sun Microsystems, Inc.
 All rights reserved. Use is subject to license terms.

 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; version 2 of the License.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
*/
/*
 * mgmapi_jtie.hpp
 */

#ifndef mgmapi_jtie_hpp
#define mgmapi_jtie_hpp

// API to implement against
#include "mgmapi.h"
//#include "mgmapi_config_parameters.h"
//#include "mgmapi_debug.h"
//#include "mgmapi_error.h"
//#include "ndb_logevent.h"
//#include "ndbd_exit_codes.h"

// libraries
#include "ndbjtie_defs.hpp"
#include "helpers.hpp"
#include "jtie.hpp"

// ---------------------------------------------------------------------------
// MGMAPI JTie Type Definitions
// ---------------------------------------------------------------------------

// ---------------------------------------------------------------------------
// MGMAPI JTie Function Stubs
// ---------------------------------------------------------------------------

// The API stub functions in this file have mangled names that adhere
// to the JVM specification.  It is not necessary to include the
// function prototypes generated by the javah tool from the Java source,
// if they are declared to receive "C" linkage here.
extern "C" {

// A javah bug in JDK 5
//   http://forums.sun.com/thread.jspa?threadID=5115982&tstart=1499
// generates a wrong name for native methods in static nested classes:
//
// JDK 6 has this bug only partially fixed (nested classes as invocation
// targets but not as parameters).
//
// Outer$Inner is to be mangled as unicode escape: Outer_00024Inner, see:
//   http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/design.html#wp615]Resolving%20Native%20Method%20Names

// ---------------------------------------------------------------------------

// ---------------------------------------------------------------------------

} // extern "C"

#endif // mgmapi_jtie_hpp
