//Auto-generated by kalyptus. DO NOT EDIT.
#include <qstring.h>
#include <qutfcodec.h>
#include <qcstring.h>

#include <qtjava/QtSupport.h>
#include <qtjava/QUtf8Codec.h>

class QUtf8CodecJBridge : public QUtf8Codec
{
public:
	QUtf8CodecJBridge() : QUtf8Codec() {};
	~QUtf8CodecJBridge() {QtSupport::qtKeyDeleted(this);}
};

JNIEXPORT void JNICALL
Java_org_kde_qt_QUtf8Codec_dispose(JNIEnv* env, jobject obj)
{
	Java_org_kde_qt_QUtf8Codec_finalize(env, obj);
	return;
}

JNIEXPORT void JNICALL
Java_org_kde_qt_QUtf8Codec_finalize(JNIEnv* env, jobject obj)
{
	if (QtSupport::allocatedInJavaWorld(env, obj)) {
		delete (QUtf8Codec*)QtSupport::getQt(env, obj);
		QtSupport::setQt(env, obj, 0);
	}
	return;
}

JNIEXPORT jstring JNICALL
Java_org_kde_qt_QUtf8Codec_fromUnicode(JNIEnv* env, jobject obj, jstring uc, jintArray lenInOut)
{
	QCString  _qstring;
static QString* _qstring_uc = 0;
	int* _int_lenInOut = QtSupport::toIntPtr(env, lenInOut);
	_qstring = ((QUtf8Codec*) QtSupport::getQt(env, obj))->fromUnicode((const QString&)*(QString*) QtSupport::toQString(env, uc, &_qstring_uc),  (int&) *_int_lenInOut);
	env->SetIntArrayRegion(lenInOut, 0, 1, (jint *) _int_lenInOut);
	return QtSupport::fromQCString(env, &_qstring);
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QUtf8Codec_heuristicContentMatch(JNIEnv* env, jobject obj, jstring chars, jint len)
{
static QCString* _qstring_chars = 0;
	jint xret = (jint) ((QUtf8Codec*) QtSupport::getQt(env, obj))->heuristicContentMatch((const char*) QtSupport::toCharString(env, chars, &_qstring_chars), (int) len);
	return xret;
}

JNIEXPORT jboolean JNICALL
Java_org_kde_qt_QUtf8Codec_isDisposed(JNIEnv* env, jobject obj)
{
	return (QtSupport::getQt(env, obj) == 0);
}

JNIEXPORT jobject JNICALL
Java_org_kde_qt_QUtf8Codec_makeDecoder(JNIEnv* env, jobject obj)
{
	jobject xret = QtSupport::objectForQtKey(env, (void*)((QUtf8Codec*) QtSupport::getQt(env, obj))->makeDecoder(), "org.kde.qt.QTextDecoder");
	return xret;
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QUtf8Codec_mibEnum(JNIEnv* env, jobject obj)
{
	jint xret = (jint) ((QUtf8Codec*) QtSupport::getQt(env, obj))->mibEnum();
	return xret;
}

JNIEXPORT jstring JNICALL
Java_org_kde_qt_QUtf8Codec_name(JNIEnv* env, jobject obj)
{
	const char* _qstring;
	_qstring = ((QUtf8Codec*) QtSupport::getQt(env, obj))->name();
	return QtSupport::fromCharString(env, (char *) _qstring);
}

JNIEXPORT void JNICALL
Java_org_kde_qt_QUtf8Codec_newQUtf8Codec(JNIEnv* env, jobject obj)
{
	if (QtSupport::getQt(env, obj) == 0) {
		QtSupport::setQt(env, obj, new QUtf8CodecJBridge());
		QtSupport::setObjectForQtKey(env, obj, QtSupport::getQt(env, obj));
	}
	return;
}

JNIEXPORT jstring JNICALL
Java_org_kde_qt_QUtf8Codec_toUnicode(JNIEnv* env, jobject obj, jstring chars, jint len)
{
	QString  _qstring;
static QCString* _qstring_chars = 0;
	_qstring = ((QUtf8Codec*) QtSupport::getQt(env, obj))->toUnicode((const char*) QtSupport::toCharString(env, chars, &_qstring_chars), (int) len);
	return QtSupport::fromQString(env, &_qstring);
}

