#include “Poco/BasicEvent.h”
#include “Poco/Delegate.h”
#include < iostream >
using Poco::BasicEvent;
using Poco::delegate;
class Source
{
public:
BasicEvent theEvent;
void fireEvent(int n)
{
theEvent(this, n);
}
};
class Target
{
public:
void onEvent(const void* pSender, int& arg)//事件处理器
{
std::cout << "onEvent: " << arg << std::endl;
}
};
int main(int argc, char** argv)
{
Source source;
Target target;
source.theEvent += delegate(&target, &Target::onEvent);//事件订阅注册
source.fireEvent(42);//事件触发器
source.theEvent -= delegate(&target, &Target::onEvent);//取消订阅
return 0;
}