fbxloadingstrategy.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_LOADING_STRATEGY_H_
00014 #define _FBXSDK_CORE_LOADING_STRATEGY_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/core/fbxplugin.h>
00019 #include <fbxsdk/core/fbxplugincontainer.h>
00020 
00021 #include <fbxsdk/fbxsdk_nsbegin.h>
00022 
00029 class FBXSDK_DLL FbxLoadingStrategy : public FbxPluginContainer
00030 {
00031 public:
00034     enum EState
00035     {
00036         eAllLoaded,     
00037         eNoneLoaded,    
00038         eAllFailed,     
00039         eSomeFailed     
00040     };
00041 
00050         EState Load(FbxPluginData& pData);
00051 
00054         void Unload();
00056 
00057 protected:
00066         virtual bool SpecificLoad(FbxPluginData& pData) = 0;
00067 
00070         virtual void SpecificUnload() = 0;
00072 
00074     EState mPluginsLoadedState;
00075 
00076 private:
00077     FbxPluginData mData;
00078 };
00079 
00080 #include <fbxsdk/fbxsdk_nsend.h>
00081 
00082 #endif /* _FBXSDK_CORE_LOADING_STRATEGY_H_ */