00001 /**************************************************************************************** 00002 00003 Copyright (C) 2013 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 #ifndef FBXSDK_ENV_WINRT 00019 00020 #include <fbxsdk/core/fbxplugin.h> 00021 #include <fbxsdk/core/fbxplugincontainer.h> 00022 00023 #include <fbxsdk/fbxsdk_nsbegin.h> 00024 00031 class FBXSDK_DLL FbxLoadingStrategy : public FbxPluginContainer 00032 { 00033 public: 00036 enum EState 00037 { 00038 eAllLoaded, 00039 eNoneLoaded, 00040 eAllFailed, 00041 eSomeFailed 00042 }; 00043 00052 EState Load(FbxPluginData& pData); 00053 00056 void Unload(); 00058 00059 protected: 00068 virtual bool SpecificLoad(FbxPluginData& pData) = 0; 00069 00072 virtual void SpecificUnload(FbxPluginData& pData) = 0; 00074 00076 EState mPluginsLoadedState; 00077 00078 private: 00079 FbxPluginData mData; 00080 }; 00081 00082 #include <fbxsdk/fbxsdk_nsend.h> 00083 00084 #endif /* !FBXSDK_ENV_WINRT */ 00085 00086 #endif /* _FBXSDK_CORE_LOADING_STRATEGY_H_ */