Support #2176
closedEmit signal from another thread to Wt main thread with parameters
Description
Hello! As far as I know I can't use Wt signal/slots system outside Wt main thread because WApplication::instance doesn't exist in other threads. So I need somehow pass data from another thread to my widget. I need something similar to PostedSignal from http://redmine.webtoolkit.eu/boards/1/topics/5182 but with parameters.
If Wt signal/slots system works outside main thread it will looks like this:
/* main gui class */
class SomeCustomWidget: public WContainerWidget
{
...
void onDataChanged(int value);
Controller* ctrl;
};
SomeCustomWidget::SomeCustomWidget()
{
...
ctrl->dataChanged().connect(this, &SomeCustomWidget::onDataChanged);
}
/* ctrl live in another thread */
class Controller
{
...
Wt::Signal& dataChanged();
};
What is the best way to solve my problem?
Updated by Wim Dumon about 11 years ago
call post in combination with boost::bind.
Wt::WServer::instance()->post(sessionId, boost::bind(myFunction, myParameter));
where m_myFunction is a function accepting one parameter.
BR,
Wim.
Updated by Koen Deforche about 11 years ago
- Status changed from New to InProgress
- Assignee set to Wim Dumon
Updated by Wim Dumon about 11 years ago
- Status changed from InProgress to Closed