event.cpp
来自「最新的虚拟磁盘程序源最新的虚拟磁盘程最新的虚拟磁盘程序源」· C++ 代码 · 共 40 行
CPP
40 行
#include "Event.h"
namespace TrueCrypt
{
void Event::Connect (const EventConnectorBase &connector)
{
ScopeLock lock (HandlersMutex);
ConnectedHandlers.push_back (shared_ptr <EventConnectorBase> (connector.CloneNew()));
}
void Event::Disconnect (void *handler)
{
ScopeLock lock (HandlersMutex);
EventHandlerList newConnectedHandlers;
foreach (shared_ptr <EventConnectorBase> h, ConnectedHandlers)
{
if (h->GetHandler() != handler)
newConnectedHandlers.push_back (h);
}
ConnectedHandlers = newConnectedHandlers;
}
void Event::Raise ()
{
EventArgs args;
Raise (args);
}
void Event::Raise (EventArgs &args)
{
ScopeLock lock (HandlersMutex);
foreach_ref (EventConnectorBase &handler, ConnectedHandlers)
{
handler (args);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?