Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
API.cpp
Go to the documentation of this file.
1
5
6
7
8
9#include "API.h"
10
11#include "Log/LoggerManager.h"
12#include "Memory/ECSMM.h"
13
14#include "Engine.h"
15
16namespace ECS
17{
18 namespace Log {
19
20 namespace Internal {
21
22#if !defined(ECS_DISABLE_LOGGING)
23
25
26 Log::Logger* GetLogger(const char* logger)
27 {
28 return ECSLoggerManager != nullptr ? ECSLoggerManager->GetLogger(logger) : nullptr;
29 }
30#endif
31 }
32
33 } // namespace Log
34
35
36 namespace Memory {
37
38
40 {
41 ECS_MEMORY_MANAGER = std::make_unique<Internal::MemoryManager>();
42 }
43
45 {
46 // check for memory leaks
47 ECS_MEMORY_MANAGER->CheckMemoryLeaks();
48 }
49
50 const void* GlobalMemoryUser::Allocate(size_t memSize, const char* user)
51 {
52 return ECS_MEMORY_MANAGER->Allocate(memSize, user);
53 }
54
55 void GlobalMemoryUser::Free(void* pMem)
56 {
57 ECS_MEMORY_MANAGER->Free(pMem);
58 }
59
60 } // namespace Memory
61
62} // namespace ECS
Logger * GetLogger(const char *logger=DEFAULT_LOGGER)
std::unique_ptr< Internal::MemoryManager > ECS_MEMORY_MANAGER
Definition: API.h:105
void Free(void *pMem)
Definition: API.cpp:55
const void * Allocate(size_t memSize, const char *user=nullptr)
Definition: API.cpp:50
virtual ~GlobalMemoryUser()
Definition: API.cpp:44
Log::Logger * GetLogger(const char *logger)
Definition: API.cpp:26
LoggerManager * ECSLoggerManager
Definition: API.cpp:24