23 #ifndef QTPDCOM_FUTUREWATCHERS_H
24 #define QTPDCOM_FUTUREWATCHERS_H
26 #include <QFutureWatcher>
27 #include <pdcom5/Variable.h>
30 #include "FutureWatchersDetails.h"
87 using QFutureWatcher<PdCom::Variable>::QFutureWatcher;
95 using QFutureWatcher<VariableList>::QFutureWatcher;
99 template<
class Result,
class Object,
class Callback>
100 inline QFutureWatcher<Result>&
createWatcher(Object *obj, Callback &&callback)
102 const auto watcher =
new QFutureWatcher<Result>(obj);
105 &QFutureWatcherBase::finished,
107 [callback, watcher, obj]() {
108 details::invoke<Result, Object>::call(callback, *obj, watcher);
109 watcher->deleteLater();
113 &QFutureWatcherBase::canceled,
115 &QObject::deleteLater);
#define QTPDCOM_PUBLIC
Definition: Export.h:30
Definition: FutureWatchers.h:91
Convenience class for processing the result of Process::findQt()
Definition: FutureWatchers.h:83
Definition: BroadcastModel.h:32
QFutureWatcher< Result > & createWatcher(Object *obj, Callback &&callback)
Definition: FutureWatchers.h:100