/* DO NOT EDIT THIS FILE - it is machine generated */
#include "jri.h"

/* Stubs for class RelocatablePlugin */

#ifdef IMPLEMENT_RelocatablePlugin
#define _implementing_RelocatablePlugin
#endif /* IMPLEMENT_RelocatablePlugin */
#define IMPLEMENT_RelocatablePlugin
#include "RelocatablePlugin.h"

#ifndef UNUSED_RelocatablePlugin_SetLocation
JRIMethodID FAR methodID_RelocatablePlugin_SetLocation = JRIUninitialized;
#ifdef DEBUG
JRI_PUBLIC_API(void)
RelocatablePlugin_SetLocation(JRIEnv* env, struct RelocatablePlugin* self, struct java_lang_String *a) {
	if (methodID_RelocatablePlugin_SetLocation == JRIUninitialized) {
		assert(!"Forgot to call use_RelocatablePlugin(env) before calling method SetLocation (Ljava/lang/String;)V");
	}
	(void)JRI_CallMethod(env)(env, JRI_CallMethod_op, self, methodID_RelocatablePlugin_SetLocation, a);
}
#endif /* DEBUG */
#endif /* UNUSED_RelocatablePlugin_SetLocation */

#ifndef UNUSED_RelocatablePlugin_new
JRIMethodID FAR methodID_RelocatablePlugin_new = JRIUninitialized;
#ifdef DEBUG
JRI_PUBLIC_API(struct RelocatablePlugin*)
RelocatablePlugin_new(JRIEnv* env, struct java_lang_Class* clazz) {
	if (methodID_RelocatablePlugin_new == JRIUninitialized) {
		assert(!"Forgot to call use_RelocatablePlugin(env) before calling method <init> ()V");
	}
	return (struct RelocatablePlugin*)JRI_NewObject(env)(env, JRI_NewObject_op, clazz, methodID_RelocatablePlugin_new);
}
#endif /* DEBUG */
#endif /* UNUSED_RelocatablePlugin_new */

#ifndef UNUSED_use_RelocatablePlugin

static jglobal _globalclass_RelocatablePlugin = NULL;

JRI_PUBLIC_API(struct java_lang_Class*)
use_RelocatablePlugin(JRIEnv* env)
{
	if (_globalclass_RelocatablePlugin == NULL) {
		struct java_lang_Class* clazz = JRI_FindClass(env, classname_RelocatablePlugin);
		if (clazz == NULL) return NULL;
		use_RelocatablePlugin_SetLocation(env, clazz);
		use_RelocatablePlugin_new(env, clazz);
		_globalclass_RelocatablePlugin = JRI_NewGlobalRef(env, clazz);
		return clazz;
	}
	else {
		return JRI_GetGlobalRef(env, _globalclass_RelocatablePlugin);
	}
}

JRI_PUBLIC_API(void)
unuse_RelocatablePlugin(JRIEnv* env)
{
	if (_globalclass_RelocatablePlugin != NULL) {
		struct java_lang_Class* clazz = JRI_GetGlobalRef(env, _globalclass_RelocatablePlugin);
		unuse_RelocatablePlugin_SetLocation(env, clazz);
		unuse_RelocatablePlugin_new(env, clazz);
		JRI_DisposeGlobalRef(env, _globalclass_RelocatablePlugin);
		_globalclass_RelocatablePlugin = NULL;
		clazz = NULL;	/* prevent unused variable 'clazz' warning */
	}
}

#endif /* UNUSED_use_RelocatablePlugin */

#ifdef _implementing_RelocatablePlugin

JRI_PUBLIC_API(struct java_lang_Class*)
register_RelocatablePlugin(JRIEnv* env)
{
	char* nativeNamesAndSigs[] = {
		"SetLocation(Ljava/lang/String;)V",
		NULL
	};
	void* nativeProcs[] = {
		native_RelocatablePlugin_SetLocation,
		NULL
	};
	struct java_lang_Class* clazz = JRI_FindClass(env, classname_RelocatablePlugin);
	if (clazz != NULL) {
		JRI_RegisterNatives(env, clazz, nativeNamesAndSigs, nativeProcs);
		use_RelocatablePlugin(env);
	}
	return clazz;
}

JRI_PUBLIC_API(void)
unregister_RelocatablePlugin(JRIEnv* env)
{
	struct java_lang_Class* clazz = JRI_FindClass(env, classname_RelocatablePlugin);
	JRI_UnregisterNatives(env, clazz);
	unuse_RelocatablePlugin(env);
}

/* These stub routines are generated for compatibility with the JDK: */

#ifndef NO_JDK

/* SYMBOL: "RelocatablePlugin/SetLocation(Ljava/lang/String;)V", Java_RelocatablePlugin_SetLocation_stub */
JRI_PUBLIC_API(JRI_JDK_stack_item*)
Java_RelocatablePlugin_SetLocation_stub(JRI_JDK_stack_item* _P_, JRIEnv* _EE_) {
	(void) native_RelocatablePlugin_SetLocation(_EE_,_P_[0].p,((_P_[1].p)));
	return _P_;
}

#endif /* NO_JDK */

#endif /* _implementing_RelocatablePlugin */

