MyGUI 3.4.3
MyGUI_DynLibManager.h
Go to the documentation of this file.
1/*
2 * This source file is part of MyGUI. For the latest info, see http://mygui.info/
3 * Distributed under the MIT License
4 * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT)
5 */
6
7#ifndef MYGUI_DYN_LIB_MANAGER_H_
8#define MYGUI_DYN_LIB_MANAGER_H_
9
10#include "MyGUI_Prerequest.h"
11#include "MyGUI_Singleton.h"
12#include "MyGUI_DynLib.h"
13#include <map>
14
15namespace MyGUI
16{
17
21 {
23
24 public:
26
27 void initialise();
28 void shutdown();
29
31 DynLib* load(std::string_view fileName);
33 void unload(DynLib* library);
34
35 void unloadAll();
36
37 /*internal:*/
39
40 private:
41 void notifyEventFrameStart(float _time);
42
43 private:
45 using StringDynLibMap = std::map<std::string, DynLib*, std::less<>>;
47 StringDynLibMap mLibsMap;
48
49 bool mIsInitialise{false};
50
51 using VectorDynLib = std::vector<DynLib*>;
52 VectorDynLib mDelayDynLib;
53 };
54
55} // namespace MyGUI
56
57#endif // MYGUI_DYN_LIB_MANAGER_H_
#define MYGUI_EXPORT
#define MYGUI_SINGLETON_DECLARATION(ClassName)
Resource holding data about a dynamic library.
void unload(DynLib *library)
Unload library.
DynLibManager(const DynLibManager &)=delete
DynLib * load(std::string_view fileName)
Load library.