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_PLUGIN_CONTAINER_H_ 00014 #define _FBXSDK_CORE_PLUGIN_CONTAINER_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/fbxemitter.h> 00022 00023 #include <fbxsdk/fbxsdk_nsbegin.h> 00024 00034 class FBXSDK_DLL FbxPluginContainer : public FbxEmitter 00035 { 00036 public: 00038 typedef FbxIntrusiveList<FbxPlugin> PluginList; 00039 00043 void Register(FbxPlugin& pPlugin); 00044 00048 void Unregister(FbxPlugin& pPlugin); 00049 00053 const PluginList& GetPlugins() const; 00054 00058 PluginList& GetPlugins(); 00059 00060 /***************************************************************************************************************************** 00061 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! ** 00062 *****************************************************************************************************************************/ 00063 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00064 protected: 00065 virtual ~FbxPluginContainer(); 00066 PluginList mPlugins; 00067 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/ 00068 }; 00069 00070 #include <fbxsdk/fbxsdk_nsend.h> 00071 00072 #endif /* !FBXSDK_ENV_WINRT */ 00073 00074 #endif /* _FBXSDK_CORE_PLUGIN_CONTAINER_H_ */