summaryrefslogtreecommitdiffstats
path: root/async/src
diff options
context:
space:
mode:
authorDan Vrátil <dvratil@redhat.com>2015-02-08 13:35:30 +0100
committerDan Vrátil <dvratil@redhat.com>2015-02-09 14:33:45 +0100
commit5c8714d3b29fbed600b367bdad1e695674a0e551 (patch)
tree2d0fcfb807307a854019d18b6b3a823a694bd8c7 /async/src
parentbdd7ff7bf44ee6d0a5d8567c2aec97418c72a899 (diff)
downloadsink-5c8714d3b29fbed600b367bdad1e695674a0e551.tar.gz
sink-5c8714d3b29fbed600b367bdad1e695674a0e551.zip
Async: beautification
Diffstat (limited to 'async/src')
-rw-r--r--async/src/async.h29
1 files changed, 19 insertions, 10 deletions
diff --git a/async/src/async.h b/async/src/async.h
index 9a2f721..1f44f10 100644
--- a/async/src/async.h
+++ b/async/src/async.h
@@ -102,7 +102,7 @@ protected:
102 102
103 void exec(); 103 void exec();
104 104
105 std::function<void(const In& ..., Async::Future<Out> &)> mFunc; 105 //std::function<void(const In& ..., Async::Future<Out> &)> mFunc;
106 std::function<void(int, const QString &)> mErrorFunc; 106 std::function<void(int, const QString &)> mErrorFunc;
107 Async::Future<PrevOut> *mPrevFuture; 107 Async::Future<PrevOut> *mPrevFuture;
108}; 108};
@@ -113,6 +113,8 @@ class ThenExecutor: public Executor<typename detail::prevOut<In ...>::type, Out,
113public: 113public:
114 ThenExecutor(ThenTask<Out, In ...> then, ErrorHandler errorHandler, const ExecutorBasePtr &parent); 114 ThenExecutor(ThenTask<Out, In ...> then, ErrorHandler errorHandler, const ExecutorBasePtr &parent);
115 void previousFutureReady(); 115 void previousFutureReady();
116private:
117 ThenTask<Out, In ...> mFunc;
116}; 118};
117 119
118template<typename PrevOut, typename Out, typename In> 120template<typename PrevOut, typename Out, typename In>
@@ -121,8 +123,8 @@ class EachExecutor : public Executor<PrevOut, Out, In>
121public: 123public:
122 EachExecutor(EachTask<Out, In> each, ErrorHandler errorHandler, const ExecutorBasePtr &parent); 124 EachExecutor(EachTask<Out, In> each, ErrorHandler errorHandler, const ExecutorBasePtr &parent);
123 void previousFutureReady(); 125 void previousFutureReady();
124
125private: 126private:
127 EachTask<Out, In> mFunc;
126 QVector<Async::FutureWatcher<PrevOut>*> mFutureWatchers; 128 QVector<Async::FutureWatcher<PrevOut>*> mFutureWatchers;
127}; 129};
128 130
@@ -131,6 +133,8 @@ class ReduceExecutor : public ThenExecutor<Out, In>
131{ 133{
132public: 134public:
133 ReduceExecutor(ReduceTask<Out, In> reduce, ErrorHandler errorHandler, const ExecutorBasePtr &parent); 135 ReduceExecutor(ReduceTask<Out, In> reduce, ErrorHandler errorHandler, const ExecutorBasePtr &parent);
136private:
137 ReduceTask<Out, In> mFunc;
134}; 138};
135 139
136template<typename Out, typename ... In> 140template<typename Out, typename ... In>
@@ -139,7 +143,7 @@ class SyncThenExecutor : public Executor<typename detail::prevOut<In ...>::type,
139public: 143public:
140 SyncThenExecutor(SyncThenTask<Out, In ...> then, ErrorHandler errorHandler, const ExecutorBasePtr &parent); 144 SyncThenExecutor(SyncThenTask<Out, In ...> then, ErrorHandler errorHandler, const ExecutorBasePtr &parent);
141 void previousFutureReady(); 145 void previousFutureReady();
142protected: 146private:
143 SyncThenTask<Out, In ...> mFunc; 147 SyncThenTask<Out, In ...> mFunc;
144}; 148};
145 149
@@ -148,6 +152,8 @@ class SyncReduceExecutor : public SyncThenExecutor<Out, In>
148{ 152{
149public: 153public:
150 SyncReduceExecutor(SyncReduceTask<Out, In> reduce, ErrorHandler errorHandler, const ExecutorBasePtr &parent); 154 SyncReduceExecutor(SyncReduceTask<Out, In> reduce, ErrorHandler errorHandler, const ExecutorBasePtr &parent);
155private:
156 SyncReduceTask<Out, In> mFunc;
151}; 157};
152 158
153template<typename PrevOut, typename Out, typename In> 159template<typename PrevOut, typename Out, typename In>
@@ -156,7 +162,7 @@ class SyncEachExecutor : public Executor<PrevOut, Out, In>
156public: 162public:
157 SyncEachExecutor(SyncEachTask<Out, In> each, ErrorHandler errorHandler, const ExecutorBasePtr &parent); 163 SyncEachExecutor(SyncEachTask<Out, In> each, ErrorHandler errorHandler, const ExecutorBasePtr &parent);
158 void previousFutureReady(); 164 void previousFutureReady();
159protected: 165private:
160 SyncEachTask<Out, In> mFunc; 166 SyncEachTask<Out, In> mFunc;
161}; 167};
162 168
@@ -194,6 +200,7 @@ Job<Out> null();
194template<typename Out> 200template<typename Out>
195Job<Out> error(int errorCode = 1, const QString &errorMessage = QString()); 201Job<Out> error(int errorCode = 1, const QString &errorMessage = QString());
196 202
203
197class JobBase 204class JobBase
198{ 205{
199 template<typename Out, typename ... In> 206 template<typename Out, typename ... In>
@@ -353,13 +360,15 @@ namespace Async {
353template<typename Out> 360template<typename Out>
354Job<Out> start(ThenTask<Out> func) 361Job<Out> start(ThenTask<Out> func)
355{ 362{
356 return Job<Out>(Private::ExecutorBasePtr(new Private::ThenExecutor<Out>(func, ErrorHandler(), Private::ExecutorBasePtr()))); 363 return Job<Out>(Private::ExecutorBasePtr(
364 new Private::ThenExecutor<Out>(func, ErrorHandler(), Private::ExecutorBasePtr())));
357} 365}
358 366
359template<typename Out> 367template<typename Out>
360Job<Out> start(SyncThenTask<Out> func) 368Job<Out> start(SyncThenTask<Out> func)
361{ 369{
362 return Job<Out>(Private::ExecutorBasePtr(new Private::SyncThenExecutor<Out>(func, ErrorHandler(), Private::ExecutorBasePtr()))); 370 return Job<Out>(Private::ExecutorBasePtr(
371 new Private::SyncThenExecutor<Out>(func, ErrorHandler(), Private::ExecutorBasePtr())));
363} 372}
364 373
365template<typename Out> 374template<typename Out>
@@ -437,8 +446,8 @@ void Executor<PrevOut, Out, In ...>::exec()
437template<typename Out, typename ... In> 446template<typename Out, typename ... In>
438ThenExecutor<Out, In ...>::ThenExecutor(ThenTask<Out, In ...> then, ErrorHandler error, const ExecutorBasePtr &parent) 447ThenExecutor<Out, In ...>::ThenExecutor(ThenTask<Out, In ...> then, ErrorHandler error, const ExecutorBasePtr &parent)
439 : Executor<typename detail::prevOut<In ...>::type, Out, In ...>(error, parent) 448 : Executor<typename detail::prevOut<In ...>::type, Out, In ...>(error, parent)
449 , mFunc(then)
440{ 450{
441 this->mFunc = then;
442} 451}
443 452
444template<typename Out, typename ... In> 453template<typename Out, typename ... In>
@@ -455,8 +464,8 @@ void ThenExecutor<Out, In ...>::previousFutureReady()
455template<typename PrevOut, typename Out, typename In> 464template<typename PrevOut, typename Out, typename In>
456EachExecutor<PrevOut, Out, In>::EachExecutor(EachTask<Out, In> each, ErrorHandler error, const ExecutorBasePtr &parent) 465EachExecutor<PrevOut, Out, In>::EachExecutor(EachTask<Out, In> each, ErrorHandler error, const ExecutorBasePtr &parent)
457 : Executor<PrevOut, Out, In>(error, parent) 466 : Executor<PrevOut, Out, In>(error, parent)
467 , mFunc(each)
458{ 468{
459 this->mFunc = each;
460} 469}
461 470
462template<typename PrevOut, typename Out, typename In> 471template<typename PrevOut, typename Out, typename In>
@@ -499,8 +508,8 @@ ReduceExecutor<Out, In>::ReduceExecutor(ReduceTask<Out, In> reduce, ErrorHandler
499template<typename Out, typename ... In> 508template<typename Out, typename ... In>
500SyncThenExecutor<Out, In ...>::SyncThenExecutor(SyncThenTask<Out, In ...> then, ErrorHandler errorHandler, const ExecutorBasePtr &parent) 509SyncThenExecutor<Out, In ...>::SyncThenExecutor(SyncThenTask<Out, In ...> then, ErrorHandler errorHandler, const ExecutorBasePtr &parent)
501 : Executor<typename detail::prevOut<In ...>::type, Out, In ...>(errorHandler, parent) 510 : Executor<typename detail::prevOut<In ...>::type, Out, In ...>(errorHandler, parent)
511 , mFunc(then)
502{ 512{
503 this->mFunc = then;
504} 513}
505 514
506template<typename Out, typename ... In> 515template<typename Out, typename ... In>
@@ -518,8 +527,8 @@ void SyncThenExecutor<Out, In ...>::previousFutureReady()
518template<typename PrevOut, typename Out, typename In> 527template<typename PrevOut, typename Out, typename In>
519SyncEachExecutor<PrevOut, Out, In>::SyncEachExecutor(SyncEachTask<Out, In> each, ErrorHandler errorHandler, const ExecutorBasePtr &parent) 528SyncEachExecutor<PrevOut, Out, In>::SyncEachExecutor(SyncEachTask<Out, In> each, ErrorHandler errorHandler, const ExecutorBasePtr &parent)
520 : Executor<PrevOut, Out, In>(errorHandler, parent) 529 : Executor<PrevOut, Out, In>(errorHandler, parent)
530 , mFunc(each)
521{ 531{
522 this->mFunc = each;
523} 532}
524 533
525template<typename PrevOut, typename Out, typename In> 534template<typename PrevOut, typename Out, typename In>