//Auto-generated by kalyptus. DO NOT EDIT.
#include <tqstring.h>
#include <tqutfcodec.h>
#include <tqcstring.h>

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

class TQUtf8CodecJBridge : public TQUtf8Codec
{
public:
	TQUtf8CodecJBridge() : TQUtf8Codec() {};
	~TQUtf8CodecJBridge() {QtSupport::qtKeyDeleted(this);}
};

JNIEXPORT void JNICALL
Java_org_trinitydesktop_qt_QUtf8Codec_dispose(JNIEnv* env, jobject obj)
{
	Java_org_trinitydesktop_qt_QUtf8Codec_finalize(env, obj);
	return;
}

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

JNIEXPORT jstring JNICALL
Java_org_trinitydesktop_qt_QUtf8Codec_fromUnicode(JNIEnv* env, jobject obj, jstring uc, jintArray lenInOut)
{
	TQCString  _qstring;
static TQString* _qstring_uc = 0;
	int* _int_lenInOut = QtSupport::toIntPtr(env, lenInOut);
	_qstring = ((TQUtf8Codec*) QtSupport::getQt(env, obj))->fromUnicode((const TQString&)*(TQString*) QtSupport::toTQString(env, uc, &_qstring_uc),  (int&) *_int_lenInOut);
	env->SetIntArrayRegion(lenInOut, 0, 1, (jint *) _int_lenInOut);
	return QtSupport::fromTQCString(env, &_qstring);
}

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

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

JNIEXPORT jobject JNICALL
Java_org_trinitydesktop_qt_QUtf8Codec_makeDecoder(JNIEnv* env, jobject obj)
{
	jobject xret = QtSupport::objectForQtKey(env, (void*)((TQUtf8Codec*) QtSupport::getQt(env, obj))->makeDecoder(), "org.trinitydesktop.qt.TQTextDecoder");
	return xret;
}

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

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

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

JNIEXPORT jstring JNICALL
Java_org_trinitydesktop_qt_QUtf8Codec_toUnicode(JNIEnv* env, jobject obj, jstring chars, jint len)
{
	TQString  _qstring;
static TQCString* _qstring_chars = 0;
	_qstring = ((TQUtf8Codec*) QtSupport::getQt(env, obj))->toUnicode((const char*) QtSupport::toCharString(env, chars, &_qstring_chars), (int) len);
	return QtSupport::fromTQString(env, &_qstring);
}

