/* DO NOT EDIT THIS FILE - it is machine generated */

#ifndef __gnu_xml_libxmlj_dom_GnomeNamedNodeMap__
#define __gnu_xml_libxmlj_dom_GnomeNamedNodeMap__

#include <jni.h>

#ifdef __cplusplus
extern "C"
{
#endif

JNIEXPORT jobject JNICALL Java_gnu_xml_libxmlj_dom_GnomeNamedNodeMap_getNamedItem (JNIEnv *env, jobject, jstring);
JNIEXPORT jobject JNICALL Java_gnu_xml_libxmlj_dom_GnomeNamedNodeMap_setNamedItem (JNIEnv *env, jobject, jobject);
JNIEXPORT jobject JNICALL Java_gnu_xml_libxmlj_dom_GnomeNamedNodeMap_removeNamedItem (JNIEnv *env, jobject, jstring);
JNIEXPORT jobject JNICALL Java_gnu_xml_libxmlj_dom_GnomeNamedNodeMap_item (JNIEnv *env, jobject, jint);
JNIEXPORT jint JNICALL Java_gnu_xml_libxmlj_dom_GnomeNamedNodeMap_getLength (JNIEnv *env, jobject);
JNIEXPORT jobject JNICALL Java_gnu_xml_libxmlj_dom_GnomeNamedNodeMap_getNamedItemNS (JNIEnv *env, jobject, jstring, jstring);
JNIEXPORT jobject JNICALL Java_gnu_xml_libxmlj_dom_GnomeNamedNodeMap_setNamedItemNS (JNIEnv *env, jobject, jobject);
JNIEXPORT jobject JNICALL Java_gnu_xml_libxmlj_dom_GnomeNamedNodeMap_removeNamedItemNS (JNIEnv *env, jobject, jstring, jstring);

#ifdef __cplusplus
}
#endif

#endif /* __gnu_xml_libxmlj_dom_GnomeNamedNodeMap__ */
