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;
99template<
class Result,
class Object,
class Callback>
100inline 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
Definition: VariableList.h:31