hostile-takeover/base/messagehandler.cpp

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