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

/* Header for class RelocatablePlugin */

#ifndef _RelocatablePlugin_H_
#define _RelocatablePlugin_H_

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

struct java_lang_String;
struct java_lang_Class;

/*******************************************************************************
 * Class RelocatablePlugin
 ******************************************************************************/

typedef struct RelocatablePlugin RelocatablePlugin;

#define classname_RelocatablePlugin	"RelocatablePlugin"

#define class_RelocatablePlugin(env) \
	((struct java_lang_Class*)JRI_FindClass(env, classname_RelocatablePlugin))

/*******************************************************************************
 * Public Methods
 ******************************************************************************/

#ifdef DEBUG

/*** public native SetLocation (Ljava/lang/String;)V ***/
extern JRI_PUBLIC_API(void)
RelocatablePlugin_SetLocation(JRIEnv* env, struct RelocatablePlugin* self, struct java_lang_String *a);

#else /* !DEBUG */

/*** public native SetLocation (Ljava/lang/String;)V ***/
#define RelocatablePlugin_SetLocation(env, obj, a) \
	((void)JRI_CallMethod(env)(env, JRI_CallMethod_op, obj, methodID_RelocatablePlugin_SetLocation, a))

#endif /* !DEBUG*/

/*** public native SetLocation (Ljava/lang/String;)V ***/
extern JRIMethodID FAR methodID_RelocatablePlugin_SetLocation;
#define name_RelocatablePlugin_SetLocation	"SetLocation"
#define sig_RelocatablePlugin_SetLocation 	"(Ljava/lang/String;)V"
#define use_RelocatablePlugin_SetLocation(env, clazz)	\
	(methodID_RelocatablePlugin_SetLocation =	\
		JRI_GetMethodID(env, clazz,	\
			name_RelocatablePlugin_SetLocation,	\
			sig_RelocatablePlugin_SetLocation))
#define unuse_RelocatablePlugin_SetLocation(env, clazz)	\
	(methodID_RelocatablePlugin_SetLocation = JRIUninitialized)

/*******************************************************************************
 * IMPLEMENTATION SECTION: 
 * Define the IMPLEMENT_RelocatablePlugin symbol 
 * if you intend to implement the native methods of this class. This 
 * symbol makes the private and protected methods available. You should 
 * also call the register_RelocatablePlugin routine 
 * to make your native methods available.
 ******************************************************************************/

extern JRI_PUBLIC_API(struct java_lang_Class*)
use_RelocatablePlugin(JRIEnv* env);

extern JRI_PUBLIC_API(void)
unuse_RelocatablePlugin(JRIEnv* env);

extern JRI_PUBLIC_API(struct java_lang_Class*)
register_RelocatablePlugin(JRIEnv* env);

extern JRI_PUBLIC_API(void)
unregister_RelocatablePlugin(JRIEnv* env);

#ifdef IMPLEMENT_RelocatablePlugin

/*******************************************************************************
 * Native Methods: 
 * These are the signatures of the native methods which you must implement.
 ******************************************************************************/

/*** public native SetLocation (Ljava/lang/String;)V ***/
extern JRI_PUBLIC_API(void)
native_RelocatablePlugin_SetLocation(JRIEnv* env, struct RelocatablePlugin* self, struct java_lang_String *a);

/*******************************************************************************
 * Implementation Methods: 
 * You should only use these from within the native method definitions.
 ******************************************************************************/

#ifdef DEBUG

/*** <init> ()V ***/
extern JRI_PUBLIC_API(struct RelocatablePlugin*)
RelocatablePlugin_new(JRIEnv* env, struct java_lang_Class* clazz);

#else /* !DEBUG */

/*** <init> ()V ***/
#define RelocatablePlugin_new(env, clazz)	\
	((struct RelocatablePlugin*)JRI_NewObject(env)(env, JRI_NewObject_op, clazz, methodID_RelocatablePlugin_new))

#endif /* !DEBUG*/

/*** <init> ()V ***/
extern JRIMethodID FAR methodID_RelocatablePlugin_new;
#define name_RelocatablePlugin_new	"<init>"
#define sig_RelocatablePlugin_new 	"()V"
#define use_RelocatablePlugin_new(env, clazz)	\
	(methodID_RelocatablePlugin_new =	\
		JRI_GetMethodID(env, clazz,	\
			name_RelocatablePlugin_new,	\
			sig_RelocatablePlugin_new))
#define unuse_RelocatablePlugin_new(env, clazz)	\
	(methodID_RelocatablePlugin_new = JRIUninitialized)

#endif /* IMPLEMENT_RelocatablePlugin */

#ifdef __cplusplus
} /* extern "C" */

/*******************************************************************************
 * C++ Definitions
 ******************************************************************************/

#include "netscape_plugin_Plugin.h"

struct RelocatablePlugin : public netscape_plugin_Plugin {

	static struct java_lang_Class* _use(JRIEnv* env) {
		return use_RelocatablePlugin(env);
	}

	static void _unuse(JRIEnv* env) {
		unuse_RelocatablePlugin(env);
	}

	static struct java_lang_Class* _register(JRIEnv* env) {
		return register_RelocatablePlugin(env);
	}

	static void _unregister(JRIEnv* env) {
		unregister_RelocatablePlugin(env);
	}

	static struct java_lang_Class* _class(JRIEnv* env) {
		return class_RelocatablePlugin(env);
	}

	/* Public Methods */
	/*** public native SetLocation (Ljava/lang/String;)V ***/
	void SetLocation(JRIEnv* env, struct java_lang_String *a) {
		RelocatablePlugin_SetLocation(env, this, a);
	}

#ifdef IMPLEMENT_RelocatablePlugin

#endif /* IMPLEMENT_RelocatablePlugin */
};

#endif /* __cplusplus */

#endif /* Class RelocatablePlugin */
