chore: use std::unique_prt for EventQueue's Buffer
port input-leap/9dbfd551cda4367bdc8067b5c3ca9c4027494503 ported-by sithlord48
This commit is contained in:
parent
0b4a2e0e5b
commit
807e60ded2
2 changed files with 7 additions and 7 deletions
|
|
@ -32,12 +32,11 @@ EventQueue::EventQueue() : m_readyMutex(new Mutex), m_readyCondVar(new CondVar<b
|
||||||
m_mutex = ARCH->newMutex();
|
m_mutex = ARCH->newMutex();
|
||||||
ARCH->setSignalHandler(Arch::kINTERRUPT, &interrupt, this);
|
ARCH->setSignalHandler(Arch::kINTERRUPT, &interrupt, this);
|
||||||
ARCH->setSignalHandler(Arch::kTERMINATE, &interrupt, this);
|
ARCH->setSignalHandler(Arch::kTERMINATE, &interrupt, this);
|
||||||
m_buffer = new SimpleEventQueueBuffer;
|
m_buffer = std::make_unique<SimpleEventQueueBuffer>();
|
||||||
}
|
}
|
||||||
|
|
||||||
EventQueue::~EventQueue()
|
EventQueue::~EventQueue()
|
||||||
{
|
{
|
||||||
delete m_buffer;
|
|
||||||
delete m_readyCondVar;
|
delete m_readyCondVar;
|
||||||
delete m_readyMutex;
|
delete m_readyMutex;
|
||||||
|
|
||||||
|
|
@ -84,7 +83,7 @@ void EventQueue::adoptBuffer(IEventQueueBuffer *buffer)
|
||||||
}
|
}
|
||||||
|
|
||||||
// discard old buffer and old events
|
// discard old buffer and old events
|
||||||
delete m_buffer;
|
m_buffer.reset();
|
||||||
for (auto i = m_events.begin(); i != m_events.end(); ++i) {
|
for (auto i = m_events.begin(); i != m_events.end(); ++i) {
|
||||||
Event::deleteData(i->second);
|
Event::deleteData(i->second);
|
||||||
}
|
}
|
||||||
|
|
@ -92,9 +91,9 @@ void EventQueue::adoptBuffer(IEventQueueBuffer *buffer)
|
||||||
m_oldEventIDs.clear();
|
m_oldEventIDs.clear();
|
||||||
|
|
||||||
// use new buffer
|
// use new buffer
|
||||||
m_buffer = buffer;
|
m_buffer.reset(buffer);
|
||||||
if (m_buffer == nullptr) {
|
if (buffer == nullptr) {
|
||||||
m_buffer = new SimpleEventQueueBuffer;
|
m_buffer = std::make_unique<SimpleEventQueueBuffer>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@
|
||||||
#include "mt/CondVar.h"
|
#include "mt/CondVar.h"
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
#include <memory>
|
||||||
#include <queue>
|
#include <queue>
|
||||||
#include <set>
|
#include <set>
|
||||||
|
|
||||||
|
|
@ -106,7 +107,7 @@ private:
|
||||||
ArchMutex m_mutex;
|
ArchMutex m_mutex;
|
||||||
|
|
||||||
// buffer of events
|
// buffer of events
|
||||||
IEventQueueBuffer *m_buffer = nullptr;
|
std::unique_ptr<IEventQueueBuffer> m_buffer;
|
||||||
|
|
||||||
// saved events
|
// saved events
|
||||||
EventTable m_events;
|
EventTable m_events;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue