osxthread.h

来自「这是VCF框架的代码」· C头文件 代码 · 共 145 行

H
145
字号
#ifndef _VCF_OSXTHREAD_H__#define _VCF_OSXTHREAD_H__//OSXThread.h/*Copyright 2000-2004 The VCF Project.Please see License.txt in the top level directorywhere you installed the VCF.*/namespace VCF{class OSXThread : public ThreadPeer{public:    enum {        k_eExecutionContextSystemTask,        k_eExecutionContextDeferredTask,        k_eExecutionContextMPTask,        k_eExecutionContextOther    };    /* Creates a normal priority, joinable thread */    OSXThread( Thread* thread, bool mainThread );    /* Cancels the thread if it is still running */	virtual ~OSXThread();    /* Start the thread */	virtual bool start();    /* Stops the thread.  If called in Thread::run() the thread exits. */	virtual void stop();    /* Returns thread id */	virtual uint32 getThreadID() {		return (uint32)taskID_;	}	virtual OSHandleID getHandleID() {		return (OSHandleID)taskID_;	}    /** Returns process that created thread.  Is this useful?    For OSX this is a pointer to a ProcessSerialNumber struct. See    the ProcessManager API for more info    */	virtual uint32 getOwningProcessID() {		return (uint32)&processID_;	}    /* Returns TRUE if thread is running, FALSE if not */    virtual bool isActive() {		return isActive_;	}	virtual void sleep( uint32 milliseconds );    virtual int wait();	virtual int wait( uint32 milliseconds );	void setCurrentLocale( Locale* locale );	Locale* getCurrentLocale();protected:    static int executionContext();    static OSStatus taskProc( void *parameter );    MPQueueID queueID_;    MPTaskID taskID_;    ProcessSerialNumber processID_;	Thread* thread_;    bool isActive_;	Locale locale_;};};/***CVS Log info *$Log$ *Revision 1.6  2006/04/07 02:35:34  ddiego *initial checkin of merge from 0.6.9 dev branch. * *Revision 1.5.2.1  2005/11/11 22:07:40  ddiego *small osx updates. * *Revision 1.5  2005/07/09 23:15:04  ddiego *merging in changes from devmain-0-6-7 branch. * *Revision 1.4  2005/01/08 20:52:47  ddiego *fixed some glitches in osx impl. * *Revision 1.3.4.1  2005/05/08 19:55:32  ddiego *osx updates, not yet functional. * *Revision 1.3  2004/08/08 22:09:33  ddiego *final checkin before the 0-6-5 release * *Revision 1.2  2004/08/07 02:49:14  ddiego *merged in the devmain-0-6-5 branch to stable * *Revision 1.1.2.6  2004/06/06 07:05:32  marcelloptr *changed macros, text reformatting, copyright sections * *Revision 1.1.2.4  2004/05/03 03:44:53  ddiego *This checks in a bunch of changes to the FoundationKit for OSX *porting. The thread, mutex, semaphor, condition, and file peers *have all been implemented and tested. The file peer could be improved *and needs search functionality. The locale peer is only partially *complete, but the functions will return values. The unicode transition *is also finished and works OK now. * *Revision 1.1.2.3  2004/04/30 05:44:34  ddiego *added OSX changes for unicode migration * *Revision 1.3.2.1  2004/04/26 21:58:43  marcelloptr *changes for dir reorganization: _VCF_MACRO_H__ * *Revision 1.3  2004/04/03 15:48:42  ddiego *Merged over code from the 0-6-3 branch. * *Revision 1.2.6.1  2004/02/21 03:27:06  ddiego *updates for OSX porting * *Revision 1.2  2003/05/17 20:37:12  ddiego *this is the checkin for the 0.6.1 release - represents the merge over from *the devmain-0-6-0 branch plus a few minor bug fixes * *Revision 1.1.2.1  2003/05/15 03:01:01  ddiego *added initial osx source( FoundationKit only), *plus some fixes to compile under GCC 3.x compilers * */#endif // _VCF_OSXTHREAD_H__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?