forked from AgoraIO/Basic-Video-Call
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathagorawindowmanager.cpp
47 lines (36 loc) · 1.04 KB
/
agorawindowmanager.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "agorawindowmanager.h"
AgoraWindowManager* AgoraWindowManager::m_pInstance = Q_NULLPTR;
std::mutex AgoraWindowManager::m_mutexMgr;
AgoraWindowManager* AgoraWindowManager::getInstance()
{
std::lock_guard<std::mutex> autolock(m_mutexMgr);
if(Q_NULLPTR == m_pInstance)
m_pInstance = new AgoraWindowManager;
return m_pInstance;
}
void AgoraWindowManager::releaseInstance()
{
std::lock_guard<std::mutex> autoLock(m_mutexMgr);
if(Q_NULLPTR != m_pInstance)
delete m_pInstance;
m_pInstance = Q_NULLPTR;
}
AgoraWindowManager::AgoraWindowManager()
{
}
AgoraWindowManager::~AgoraWindowManager()
{
}
void AgoraWindowManager::insertItem(eQMainWndType type,QMainWindow* pWnd)
{
std::lock_guard<std::mutex> autolock(m_mutexMgr);
m_qmapeq[type] = pWnd;
}
QMainWindow* AgoraWindowManager::getQWnd(eQMainWndType type)
{
std::lock_guard<std::mutex> autolock(m_mutexMgr);
QMainWindow* pWndTemp = Q_NULLPTR;
if(m_qmapeq.contains(type))
pWndTemp = m_qmapeq.value(type);
return pWndTemp;
}