mirror of
https://github.com/spiffcode/hostile-takeover.git
synced 2025-12-16 12:08:36 +00:00
33 lines
736 B
C++
33 lines
736 B
C++
#include "base/log.h"
|
|
#include "base/messagehandler.h"
|
|
#include "base/thread.h"
|
|
|
|
namespace base {
|
|
|
|
MessageHandler::MessageHandler(Thread& thread) : thread_(thread),
|
|
disposed_(false) {
|
|
}
|
|
|
|
MessageHandler::MessageHandler() : thread_(Thread::current()),
|
|
disposed_(false) {
|
|
}
|
|
|
|
MessageHandler::~MessageHandler() {
|
|
disposed_ = true;
|
|
thread_.Clear(this);
|
|
thread_.ClearDispose(this);
|
|
}
|
|
|
|
void MessageHandler::Dispose() {
|
|
if (!disposed_) {
|
|
disposed_ = true;
|
|
thread_.Dispose(this);
|
|
LOG() << base::Log::Format("0x%p ", this) << "disposing";
|
|
} else {
|
|
LOG() << base::Log::Format("0x%p ", this)
|
|
<< "tried to dispose but already disposed";
|
|
}
|
|
}
|
|
|
|
} // namespace base
|