All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.qt.core.QThread Maven / Gradle / Ivy

There is a newer version: 6.8.0
Show newest version
package io.qt.core;

import io.qt.*;


/**
 * 

Platform-independent way to manage threads

*

Java wrapper for Qt class QThread

*/ public class QThread extends io.qt.core.QObject { @QtPropertyMember(enabled=false) private Object __rcEventDispatcher = null; /** * This variable stores the meta-object for the class. */ public static final io.qt.core.@NonNull QMetaObject staticMetaObject = io.qt.core.QMetaObject.forType(QThread.class); /** *

Java wrapper for Qt enum QThread::Priority

*/ @QtUnlistedEnum public enum Priority implements QtEnumerator { /** *

Representing QThread::IdlePriority

*/ IdlePriority(0), /** *

Representing QThread::LowestPriority

*/ LowestPriority(1), /** *

Representing QThread::LowPriority

*/ LowPriority(2), /** *

Representing QThread::NormalPriority

*/ NormalPriority(3), /** *

Representing QThread::HighPriority

*/ HighPriority(4), /** *

Representing QThread::HighestPriority

*/ HighestPriority(5), /** *

Representing QThread::TimeCriticalPriority

*/ TimeCriticalPriority(6), /** *

Representing QThread::InheritPriority

*/ InheritPriority(7); static { QtJambi_LibraryUtilities.initialize(); } private Priority(int value) { this.value = value; } /** * {@inheritDoc} */ @Override public int value() { return value; } /** * Returns the corresponding enum entry for the given value. * @param value * @return enum entry */ public static @NonNull Priority resolve(int value) { switch (value) { case 0: return IdlePriority; case 1: return LowestPriority; case 2: return LowPriority; case 3: return NormalPriority; case 4: return HighPriority; case 5: return HighestPriority; case 6: return TimeCriticalPriority; case 7: return InheritPriority; default: throw new QNoSuchEnumValueException(value); } } private final int value; } /** *

See QThread::finished()

*/ public final @NonNull PrivateSignal0 finished = new PrivateSignal0(); /** *

See QThread::started()

*/ public final @NonNull PrivateSignal0 started = new PrivateSignal0(); /** *

See QThread::QThread(QObject*)

*/ public QThread(io.qt.core.@Nullable QObject parent){ super((QPrivateConstructor)null); initialize_native(this, parent); initialize(null); } private native static void initialize_native(QThread instance, io.qt.core.QObject parent); /** *

See QThread::eventDispatcher()const

*/ @QtUninvokable public final io.qt.core.@Nullable QAbstractEventDispatcher eventDispatcher(){ return eventDispatcher_native_constfct(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable private native io.qt.core.QAbstractEventDispatcher eventDispatcher_native_constfct(long __this__nativeId); /** *

See QThread::exec()

*/ @QtUninvokable protected final int exec(){ return exec_native(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable private native int exec_native(long __this__nativeId); /** *

See QThread::exit(int)

*/ public final void exit(int retcode){ exit_native_int(QtJambi_LibraryUtilities.internal.nativeId(this), retcode); } private native void exit_native_int(long __this__nativeId, int retcode); /** *

See QThread::isFinished()const

*/ @QtUninvokable public final boolean isFinished(){ return isFinished_native_constfct(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable private native boolean isFinished_native_constfct(long __this__nativeId); /** *

See QThread::isInterruptionRequested()const

*/ @QtUninvokable public final boolean isInterruptionRequested(){ return isInterruptionRequested_native_constfct(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable private native boolean isInterruptionRequested_native_constfct(long __this__nativeId); /** *

See QThread::isRunning()const

*/ @QtUninvokable public final boolean isRunning(){ return isRunning_native_constfct(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable private native boolean isRunning_native_constfct(long __this__nativeId); /** *

See QThread::loopLevel()const

*/ @QtUninvokable public final int loopLevel(){ return loopLevel_native_constfct(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable private native int loopLevel_native_constfct(long __this__nativeId); /** *

See QThread::priority()const

*/ @QtUninvokable public final io.qt.core.QThread.@NonNull Priority priority(){ return io.qt.core.QThread.Priority.resolve(priority_native_constfct(QtJambi_LibraryUtilities.internal.nativeId(this))); } @QtUninvokable private native int priority_native_constfct(long __this__nativeId); /** *

See QThread::quit()

*/ public final void quit(){ quit_native(QtJambi_LibraryUtilities.internal.nativeId(this)); } private native void quit_native(long __this__nativeId); /** *

See QThread::requestInterruption()

*/ @QtUninvokable public final void requestInterruption(){ requestInterruption_native(QtJambi_LibraryUtilities.internal.nativeId(this)); Thread t = javaThread(); if(t!=null) t.interrupt(); } @QtUninvokable private native void requestInterruption_native(long __this__nativeId); /** *

See QThread::setEventDispatcher(QAbstractEventDispatcher*)

*/ @QtUninvokable public final void setEventDispatcher(io.qt.core.@Nullable QAbstractEventDispatcher eventDispatcher){ setEventDispatcher_native_QAbstractEventDispatcher_ptr(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.checkedNativeId(eventDispatcher)); __rcEventDispatcher = eventDispatcher; } @QtUninvokable private native void setEventDispatcher_native_QAbstractEventDispatcher_ptr(long __this__nativeId, long eventDispatcher); /** *

See QThread::setPriority(QThread::Priority)

*/ @QtUninvokable public final void setPriority(io.qt.core.QThread.@NonNull Priority priority){ setPriority_native_QThread_Priority(QtJambi_LibraryUtilities.internal.nativeId(this), priority.value()); } @QtUninvokable private native void setPriority_native_QThread_Priority(long __this__nativeId, int priority); /** *

See QThread::setStackSize(uint)

*/ @QtUninvokable public final void setStackSize(int stackSize){ setStackSize_native_uint(QtJambi_LibraryUtilities.internal.nativeId(this), stackSize); } @QtUninvokable private native void setStackSize_native_uint(long __this__nativeId, int stackSize); /** *

See QThread::stackSize()const

*/ @QtUninvokable public final int stackSize(){ return stackSize_native_constfct(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable private native int stackSize_native_constfct(long __this__nativeId); /** *

See QThread::start(QThread::Priority)

*/ public final void start(io.qt.core.QThread.@NonNull Priority arg__1){ start_native_QThread_Priority(QtJambi_LibraryUtilities.internal.nativeId(this), arg__1.value()); } private native void start_native_QThread_Priority(long __this__nativeId, int arg__1); /** *

See QThread::terminate()

*/ public final void terminate(){ terminate_native(QtJambi_LibraryUtilities.internal.nativeId(this)); } private native void terminate_native(long __this__nativeId); /** *

See QThread::wait(QDeadlineTimer)

*/ @QtUninvokable public final boolean join(io.qt.core.@NonNull QDeadlineTimer deadline){ return join_native_QDeadlineTimer(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.checkedNativeId(deadline)); } @QtUninvokable private native boolean join_native_QDeadlineTimer(long __this__nativeId, long deadline); /** *

See QThread::wait(ulong)

*/ @QtUninvokable public final boolean join(int time){ return join_native_unsigned_long(QtJambi_LibraryUtilities.internal.nativeId(this), time); } @QtUninvokable private native boolean join_native_unsigned_long(long __this__nativeId, int time); /** *

See QObject::event(QEvent*)

*/ @QtUninvokable @Override public boolean event(io.qt.core.@Nullable QEvent event){ java.util.Objects.requireNonNull(event, "Argument 'event': null not expected."); return event_native_QEvent_ptr(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.checkedNativeId(event)); } @QtUninvokable private native boolean event_native_QEvent_ptr(long __this__nativeId, long event); /** *

See QThread::run()

*/ @QtUninvokable protected void run(){ run_native(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable private native void run_native(long __this__nativeId); /** *

See QThread::currentThread()

*/ public native static io.qt.core.@Nullable QThread currentThread(); /** *

See QThread::currentThreadId()

*/ public native static long currentThreadId(); /** *

See QThread::idealThreadCount()

*/ public native static int idealThreadCount(); /** *

See QThread::msleep(ulong)

*/ public native static void msleep(int arg__1); /** *

See QThread::setTerminationEnabled(bool)

*/ protected native static void setTerminationEnabled(boolean enabled); /** *

See QThread::sleep(std::chrono::nanoseconds)

*

This function was introduced in Qt 6.6.

*/ public native static void sleep(java.time.temporal.@NonNull TemporalAmount nsec); /** *

See QThread::sleep(ulong)

*/ public native static void sleep(int arg__1); /** *

See QThread::usleep(ulong)

*/ public native static void usleep(int arg__1); /** *

See QThread::yieldCurrentThread()

*/ public native static void yieldCurrentThread(); /** * Constructor for internal use only. * @param p expected to be null. * @hidden */ @NativeAccess protected QThread(QPrivateConstructor p) { super(p); } /** * Constructor for internal use only. * It is not allowed to call the declarative constructor from inside Java. * @hidden */ @NativeAccess protected QThread(QDeclarativeConstructor constructor) { super((QPrivateConstructor)null); initialize_native(this, constructor); } @QtUninvokable private static native void initialize_native(QThread instance, QDeclarativeConstructor constructor); static native void initialize(); /** * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public QThread(ThreadGroup group, String name, long stackSize, QObject parent) { super((QPrivateConstructor)null); initialize_native(this, parent); initialize(group); if(name!=null) setName(name); if(stackSize>=0 && stackSize <= 0x0ffffffffL) setStackSize( (int)(stackSize & 0x0ffffffffL) ); } /** *

See QThread::create(Function, Args...)

* @see Thread#Thread(Runnable) */ public static @NonNull QThread create(@StrictNonNull Runnable runnable) { return create(null, runnable, null, -1, null); } /** *

See QThread::create(Function, Args...)

* @see Thread#Thread(Runnable) */ public static @NonNull QThread create(@StrictNonNull Runnable runnable, @Nullable QObject parent) { return create(null, runnable, null, -1, parent); } /** *

See QThread::create(Function, Args...)

* @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public static @NonNull QThread create(@StrictNonNull Runnable runnable, long stackSize) { return create(null, runnable, null, stackSize, null); } /** *

See QThread::create(Function, Args...)

* @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public static @NonNull QThread create(@StrictNonNull Runnable runnable, long stackSize, @Nullable QObject parent) { return create(null, runnable, null, stackSize, parent); } /** *

See QThread::create(Function, Args...)

* @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public static @NonNull QThread create(ThreadGroup group, @StrictNonNull Runnable runnable, long stackSize) { return create(group, runnable, null, stackSize, null); } /** *

See QThread::create(Function, Args...)

* @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public static @NonNull QThread create(ThreadGroup group, @StrictNonNull Runnable runnable, long stackSize, @Nullable QObject parent) { return create(group, runnable, null, stackSize, parent); } /** *

See QThread::create(Function, Args...)

* @see Thread#Thread(ThreadGroup, Runnable, String) */ public static @NonNull QThread create(ThreadGroup group, @StrictNonNull Runnable runnable, @Nullable String name) { return create(group, runnable, name, -1, null); } /** *

See QThread::create(Function, Args...)

* @see Thread#Thread(ThreadGroup, Runnable, String) */ public static @NonNull QThread create(ThreadGroup group, @StrictNonNull Runnable runnable, @Nullable String name, @Nullable QObject parent) { return create(group, runnable, name, -1, parent); } /** *

See QThread::create(Function, Args...)

* @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public static @NonNull QThread create(ThreadGroup group, @StrictNonNull Runnable runnable, @Nullable String name, long stackSize) { return create(group, runnable, name, stackSize, null); } /** *

See QThread::create(Function, Args...)

* @see Thread#Thread(Runnable, String) */ public static @NonNull QThread create(@StrictNonNull Runnable runnable, @Nullable String name, long stackSize, @Nullable QObject parent) { return create(null, runnable, name, stackSize, parent); } /** *

See QThread::create(Function, Args...)

* @see Thread#Thread(Runnable, String) */ public static @NonNull QThread create(@StrictNonNull Runnable runnable, @Nullable String name, long stackSize) { return create(null, runnable, name, stackSize, null); } /** *

See QThread::create(Function, Args...)

* @see Thread#Thread(Runnable, String) */ public static @NonNull QThread create(@StrictNonNull Runnable runnable, @Nullable String name, @Nullable QObject parent) { return create(null, runnable, name, -1, parent); } /** *

See QThread::create(Function, Args...)

* @see Thread#Thread(Runnable, String) */ public static @NonNull QThread create(@StrictNonNull Runnable runnable, @Nullable String name) { return create(null, runnable, name, -1, null); } /** *

See QThread::create(Function, Args...)

* @see Thread#Thread(ThreadGroup, Runnable) */ public static @NonNull QThread create(ThreadGroup group, @StrictNonNull Runnable runnable) { return create(group, runnable, null, -1, null); } /** *

See QThread::create(Function, Args...)

* @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public static @NonNull QThread create(ThreadGroup group, @StrictNonNull Runnable runnable, @Nullable String name, long stackSize, @Nullable QObject parent) { return new Runner(group, runnable, name, stackSize, parent); } private final static class Runner extends QThread{ Runner(ThreadGroup group, Runnable runnable, String name, long stackSize, QObject parent) { super(group, name, stackSize, parent); this.runnable = runnable; } private final Runnable runnable; @Override protected void run() { if(runnable!=null){ runnable.run(); } } } /** * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public QThread(@Nullable String name) { this(null, name, -1, null); } /** * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public QThread(@Nullable ThreadGroup group) { this(group, null, -1, null); } /** * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public QThread(@Nullable String name, @Nullable QObject parent) { this(null, name, -1, parent); } /** * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public QThread(ThreadGroup group, QObject parent) { this(group, null, -1, parent); } /** * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public QThread(@Nullable String name, long stackSize) { this(null, name, stackSize, null); } /** * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public QThread(@Nullable ThreadGroup group, long stackSize) { this(group, null, stackSize, null); } /** * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public QThread(@Nullable String name, long stackSize, @Nullable QObject parent) { this(null, name, stackSize, parent); } /** * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public QThread(@Nullable ThreadGroup group, long stackSize, @Nullable QObject parent) { this(group, null, stackSize, parent); } /** * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public QThread(@Nullable ThreadGroup group, @Nullable String name, long stackSize) { this(group, name, stackSize, null); } /** * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public QThread(@Nullable ThreadGroup group, @Nullable String name, QObject parent) { this(group, name, -1, parent); } /** * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public QThread(@Nullable ThreadGroup group, @Nullable String name) { this(group, name, -1, null); } private void initialize(ThreadGroup group) { if(group==null) group = Thread.currentThread().getThreadGroup(); __qt_initialize(group); } /** * @see Thread#getThreadGroup() */ public final @Nullable ThreadGroup getThreadGroup() { if(javaThread!=null) { return javaThread.getThreadGroup(); } return __qt_getThreadGroup(); } private native ThreadGroup __qt_getThreadGroup(); /** * @see Thread#setName(String) */ public void setName(@Nullable String name) { if(!isRunning() && javaThread==null) __qt_setName(name); } private native void __qt_setName(String name); /** * @see Thread#getName() */ public final @Nullable String getName() { if(javaThread!=null) { return javaThread.getName(); } return __qt_getName(); } private native String __qt_getName(); /** * @see Thread#setDaemon(boolean) */ public void setDaemon(boolean daemon) { if(!isRunning() && javaThread==null) __qt_setDaemon(daemon); } private native void __qt_setDaemon(boolean daemon); /** * @see Thread#isDaemon() */ public final boolean isDaemon() { if(javaThread!=null) { return javaThread.isDaemon(); } return __qt_isDaemon(); } private native boolean __qt_isDaemon(); /** * @see Thread#setUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler) */ public void setUncaughtExceptionHandler(Thread.@Nullable UncaughtExceptionHandler handler) { if(javaThread!=null) { javaThread.setUncaughtExceptionHandler(handler); }else { __qt_setUncaughtExceptionHandler(handler); } } private native void __qt_setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler handler); /** * @see Thread#getUncaughtExceptionHandler() */ public final Thread.@Nullable UncaughtExceptionHandler getUncaughtExceptionHandler() { if(javaThread!=null) { return javaThread.getUncaughtExceptionHandler(); } return __qt_getUncaughtExceptionHandler(); } private native Thread.UncaughtExceptionHandler __qt_getUncaughtExceptionHandler(); /** * Sets the class loader of this thread * @see Thread#setContextClassLoader(ClassLoader) */ public void setContextClassLoader(@Nullable ClassLoader cl) { if(javaThread!=null) { javaThread.setContextClassLoader(cl); }else { __qt_setContextClassLoader(cl); } } private native void __qt_setContextClassLoader(ClassLoader cl); /** * Returns the class loader of this thread * @see Thread#getContextClassLoader() */ public final @Nullable ClassLoader getContextClassLoader() { if(javaThread!=null) { return javaThread.getContextClassLoader(); } return __qt_getContextClassLoader(); } private native ClassLoader __qt_getContextClassLoader(); private native void __qt_initialize(ThreadGroup group); private final Thread javaThread = null; /** * Returns the {@link Thread} instance representing this {@link QThread}. */ public final @Nullable Thread javaThread() { return javaThread==null ? __qt_javaThread() : javaThread; } private native Thread __qt_javaThread(); public static native @Nullable QThread thread(@NonNull Thread thread); /** * Returns true if thread is running. * @see Thread#isAlive() */ public final boolean isAlive() { return isRunning(); } /** * Returns true if interruption is requested. * @see Thread#isInterrupted() */ public final boolean isInterrupted() { if(javaThread!=null && javaThread.isInterrupted()) return true; return isInterruptionRequested(); } /** * Checks if current thread has been interrupted and clear interruption state. * @see Thread#interrupted() */ public static boolean interrupted() { return Thread.interrupted(); } /** * Interrupts the current thread. * @see Thread#interrupt() */ public final void interrupt() { requestInterruption(); } /** *

Overloaded constructor for {@link #QThread(io.qt.core.QObject)} * with parent = null.

*/ public QThread() { this((io.qt.core.QObject)null); } /** *

Overloaded function for {@link #exit(int)} * with retcode = 0.

*/ public final void exit() { exit((int)0); } /** *

Overloaded function for {@link #start(io.qt.core.QThread.Priority)} * with arg__1 = io.qt.core.QThread.Priority.InheritPriority.

*/ public final void start() { start(io.qt.core.QThread.Priority.InheritPriority); } /** *

Overloaded function for {@link #join(io.qt.core.QDeadlineTimer)} * with deadline = new QDeadlineTimer(QDeadlineTimer.ForeverConstant.Forever).

*/ @QtUninvokable public final boolean join() { return join(new QDeadlineTimer(QDeadlineTimer.ForeverConstant.Forever)); } /** *

Overloaded function for {@link #join(io.qt.core.QDeadlineTimer)}.

*/ @QtUninvokable public final boolean join(io.qt.core.QDeadlineTimer.@NonNull ForeverConstant deadline) { return join(new io.qt.core.QDeadlineTimer(deadline)); } /** *

Overloaded function for {@link #setTerminationEnabled(boolean)} * with enabled = true.

*/ protected static void setTerminationEnabled() { setTerminationEnabled((boolean)true); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy