1/****************************************************************************************
2
3 Copyright (C) 2015 Autodesk, Inc.
4 All rights reserved.
5
6 Use of this software is subject to the terms of the Autodesk license agreement
7 provided at the time of installation or download, or which otherwise accompanies
8 this software in either electronic or hard copy form.
9
10****************************************************************************************/
11
12//! \file fbxscopedloadingfilename.h
13#ifndef _FBXSDK_CORE_SCOPED_LOADING_FILENAME_H_
14#define _FBXSDK_CORE_SCOPED_LOADING_FILENAME_H_
15
16#include <fbxsdk/fbxsdk_def.h>
17
18#ifndef FBXSDK_ENV_WINSTORE
19
20#include <fbxsdk/core/fbxloadingstrategy.h>
21#include <fbxsdk/core/fbxmodule.h>
22
23#include <fbxsdk/fbxsdk_nsbegin.h>
24
25/**
26 * A plug-in loading strategy that loads a single DLL by specifying the file name in the constructor, and unloads the DLL in its destructor.
27 */
28class FBXSDK_DLL FbxScopedLoadingFileName : public FbxLoadingStrategy
29{
30public:
31 /**
32 *\name Public interface
33 */
34 //@{
35 /** Constructor.
36 * Load plug-in.
37 * \param pPath The file path.
38 */
39 explicit FbxScopedLoadingFileName(const char* pPath);
40
41 /** Destructor.
42 * Unload plug-in.
43 */
44 virtual ~FbxScopedLoadingFileName();
45 //@}
46
47/*****************************************************************************************************************************
48** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
49*****************************************************************************************************************************/
50#ifndef DOXYGEN_SHOULD_SKIP_THIS
51private:
52 virtual bool SpecificLoad(FbxPluginData& pData);
53 virtual void SpecificUnload(FbxPluginData& pData);
54
55 FbxModule mInstance;
56 FbxString mPath;
57#endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
58};
59
60#include <fbxsdk/fbxsdk_nsend.h>
61
62#endif /* !FBXSDK_ENV_WINSTORE */
63
64#endif /* _FBXSDK_CORE_SCOPED_LOADING_FILENAME_H_ */
65