// qthread.sip generated by MetaSIP on Fri Feb 10 10:37:52 2012 // // This file is part of the QtCore Python extension module. // // Copyright (c) 2011 Riverbank Computing Limited // // This file is part of PyQt. // // This file may be used under the terms of the GNU General Public // License versions 2.0 or 3.0 as published by the Free Software // Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 // included in the packaging of this file. Alternatively you may (at // your option) use any later version of the GNU General Public // License if such license has been publicly approved by Riverbank // Computing Limited (or its successors, if any) and the KDE Free Qt // Foundation. In addition, as a special exception, Riverbank gives you // certain additional rights. These rights are described in the Riverbank // GPL Exception version 1.1, which can be found in the file // GPL_EXCEPTION.txt in this package. // // If you are unsure which license is appropriate for your use, please // contact the sales department at sales@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QThread : QObject { %TypeHeaderCode #include %End public: static QThread *currentThread(); static Qt::HANDLE currentThreadId(); %If (Qt_4_3_0 -) static int idealThreadCount(); %End %If (Qt_4_5_0 -) static void yieldCurrentThread() /ReleaseGIL/; %End explicit QThread(QObject *parent /TransferThis/ = 0); virtual ~QThread(); enum Priority { IdlePriority, LowestPriority, LowPriority, NormalPriority, HighPriority, HighestPriority, TimeCriticalPriority, InheritPriority, }; bool isFinished() const; bool isRunning() const; void setPriority(QThread::Priority priority); QThread::Priority priority() const; void setStackSize(uint stackSize); uint stackSize() const; void exit(int returnCode = 0) /ReleaseGIL/; public slots: void start(QThread::Priority priority = QThread::InheritPriority) /ReleaseGIL/; void terminate(); void quit(); public: bool wait(unsigned long msecs = ULONG_MAX) /ReleaseGIL/; signals: void started(); void finished(); void terminated(); protected: %If (- Qt_4_4_0) virtual void run() = 0 /NewThread/; %End %If (Qt_4_4_0 -) virtual void run() /NewThread/; %End int exec() /PyName=exec_,ReleaseGIL/; %If (Py_v3) int exec() /ReleaseGIL/; %End static void setTerminationEnabled(bool enabled = true); static void sleep(unsigned long) /ReleaseGIL/; static void msleep(unsigned long) /ReleaseGIL/; static void usleep(unsigned long) /ReleaseGIL/; };