- Main Page
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# fbxthread.h

Go to the documentation of this file.

    00001 /****************************************************************************************
    00002
    00003    Copyright (C) 2012 Autodesk, Inc.
    00004    All rights reserved.
    00005
    00006    Use of this software is subject to the terms of the Autodesk license agreement
    00007    provided at the time of installation or download, or which otherwise accompanies
    00008    this software in either electronic or hard copy form.
    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 /* _FBXSDK_CORE_SYNC_THREAD_H_ */