kfbxloadingstrategy.h

Go to the documentation of this file.
00001 /****************************************************************************************
00002 
00003    Copyright (C) 2010 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 
00015 #ifndef FBXFILESDK_KFBXMODULES_KFBXLOADINGSTRATEGY_H
00016 #define FBXFILESDK_KFBXMODULES_KFBXLOADINGSTRATEGY_H
00017 
00018 
00019 #include <fbxfilesdk/fbxfilesdk_def.h>
00020 
00021 // Local includes 
00022 #include <fbxfilesdk/kfbxmodules/kfbxplugin.h>
00023 #include <fbxfilesdk/kfbxmodules/kfbxplugincontainer.h>
00024 
00025 // FBX begin namespace
00026 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00027 
00034     class KFBX_DLL KFbxLoadingStrategy : public KFbxPluginContainer
00035     {
00036 
00037     public:
00040         enum kPluginsLoadedState {
00041             kAllLoaded,     
00042             kNoneLoaded,    
00043             kAllFailed,     
00044             kSomeFailed     
00045         };
00046 
00051 
00056         kPluginsLoadedState Load(KFbxPluginData& pData);
00057 
00060         void Unload();
00062 
00063     protected:
00072         virtual bool SpecificLoad(KFbxPluginData& pData) = 0;
00073 
00076         virtual void SpecificUnload() = 0;
00078 
00080         kPluginsLoadedState mPluginsLoadedState;
00081     private:
00082         KFbxPluginData mData;
00083     };
00084 
00085 // FBX end namespace
00086 #include <fbxfilesdk/fbxfilesdk_nsend.h>
00087 
00088 #endif // FBXFILESDK_KFBXMODULES_KFBXLOADINGSTRATEGY_H
00089