Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00013 #ifndef _FBXSDK_CORE_SYNC_THREAD_H_
00014 #define _FBXSDK_CORE_SYNC_THREAD_H_
00015
00016 #include <fbxsdk/fbxsdk_def.h>
00017
00018 #include <fbxsdk/fbxsdk_nsbegin.h>
00019
00020 class FbxThreadImpl;
00021
00023 typedef void (*FbxThreadProc)(void*);
00024
00027 class FBXSDK_DLL FbxThread
00028 {
00029 public:
00030 enum EState {eUnknown, eRunning, eDead};
00031 enum EPriority {eNone, eIdle, eLowest, eLow, eNormal, eHigh, eHighest, eRealTime};
00032
00038 FbxThread(FbxThreadProc pProc, void* pArg, bool pSuspend=false);
00039
00046 FbxThread(FbxThreadProc pProc, void* pArg, EPriority pPriority, bool pSuspend=false);
00047
00049 virtual ~FbxThread();
00050
00056 bool Suspend();
00057
00061 bool Resume();
00062
00066 bool Join();
00067
00071 bool Kill();
00072
00076 EPriority GetPriority();
00077
00082 bool SetPriority(EPriority pPriority);
00083
00087 EState GetState();
00088
00089 private:
00090 FbxThreadImpl* mImpl;
00091 };
00092
00093 #include <fbxsdk/fbxsdk_nsend.h>
00094
00095 #endif