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 #ifndef FBXSDK_ENV_WINRT
00019
00020 #include <fbxsdk/fbxsdk_nsbegin.h>
00021
00022 class FbxThreadImpl;
00023
00025 typedef void (*FbxThreadProc)(void*);
00026
00029 class FBXSDK_DLL FbxThread
00030 {
00031 public:
00032 enum EState {eUnknown, eRunning, eDead};
00033 enum EPriority {eNone, eIdle, eLowest, eLow, eNormal, eHigh, eHighest, eRealTime};
00034
00040 FbxThread(FbxThreadProc pProc, void* pArg, bool pSuspend=false);
00041
00048 FbxThread(FbxThreadProc pProc, void* pArg, EPriority pPriority, bool pSuspend=false);
00049
00051 virtual ~FbxThread();
00052
00058 bool Suspend();
00059
00063 bool Resume();
00064
00068 bool Join();
00069
00073 bool Kill();
00074
00078 EPriority GetPriority();
00079
00084 bool SetPriority(EPriority pPriority);
00085
00089 EState GetState();
00090
00091 private:
00092 FbxThreadImpl* mImpl;
00093 };
00094
00095 #include <fbxsdk/fbxsdk_nsend.h>
00096
00097 #endif
00098
00099 #endif