// // ActiveMethod.cpp // // This sample demonstrates the ActiveMethod and ActiveResult classes. // // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. // and Contributors. // // SPDX-License-Identifier: BSL-1.0 // #include "Poco/ActiveMethod.h" #include "Poco/ActiveResult.h" #include using Poco::ActiveMethod; using Poco::ActiveResult; class ActiveMethodExample { public: struct AddArgs { int a; int b; }; ActiveMethodExample(): activeAdd(this, &ActiveMethodExample::activeAddImp) { } ActiveMethod activeAdd; private: int activeAddImp(const AddArgs& args) { return args.a + args.b; } }; int main(int argc, char** argv) { ActiveMethodExample example; ActiveMethodExample::AddArgs args = {1, 2}; ActiveResult result = example.activeAdd(args); result.wait(); std::cout << result.data() << std::endl; return 0; }