fbxsdk/core/fbxloadingstrategy.h Source File
 
 
 
fbxsdk/core/fbxloadingstrategy.h
Go to the documentation of this file.
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_ */