Tasking::ExecutableItem Class
class Tasking::ExecutableItemOsnovna klasa za izvršne zadatke. Više...
| Header: | #include <solutions/tasking/tasktree.h> |
| Inherits: | Tasking::GroupItem |
| Inherited By: |
Napomena: Sve funkcije u ovoj klasi su reentrantne.
Javne funkcije
| Tasking::Group | withLog(const QString &logName) const |
| Tasking::Group | withTimeout(std::chrono::milliseconds timeout, const std::function<void ()> &handler = {}) const |
Povezani nečlanovi
| Tasking::Group | operator!(const Tasking::ExecutableItem &item) |
| Tasking::Group | operator&&(const Tasking::ExecutableItem &first, const Tasking::ExecutableItem &second) |
| Tasking::Group | operator&&(const Tasking::ExecutableItem &item, Tasking::DoneResult result) |
| Tasking::Group | operator||(const Tasking::ExecutableItem &first, const Tasking::ExecutableItem &second) |
| Tasking::Group | operator||(const Tasking::ExecutableItem &item, Tasking::DoneResult result) |
Detaljan opis
ExecutableItem Pruža dodatno sučelje za stavke koje sadrže izvršne zadatke. Koristite withTimeout() za postavljanje vremenskog ograničenja na zadatak. Koristite withLog() za uključivanje informacija o otklanjanju pogrešaka o pokretanju zadatka i rezultatu izvršenja.
Dokumentacija funkcija člana
Tasking::Group ExecutableItem::withLog(const QString &logName) const
Priloži prilagođeni ispis za otklanjanje pogrešaka kopiji this ExecutableItem , izdanu pri pokretanju zadatka i nakon završetka zadatka, te vrati pridruženu stavku.
Ispis za otklanjanje pogrešaka uključuje vremenski žig događaja (početka ili završetka) i identifikator zadatka ( logName ) za identifikaciju određenog zadatka u dnevniku za otklanjanje pogrešaka.
Ispis pri završetku sadrži dodatne informacije o tome je li izvršavanje bilo sinkrono ili asinkrono, njegov rezultat (vrijednost opisana enumom DoneWith ) i ukupno vrijeme izvršavanja u milisekundama.
Tasking::Group ExecutableItem::withTimeout(std::chrono::milliseconds timeout, const std::function<void ()> &handler = {}) const
Priključuje TimeoutTask na kopiju this ExecutableItem , koja istječe nakon timeout u milisekundama, s opcionalno navedenim timeoutom handler, i vraća spojeni element.
Kada ExecutableItem završi prije nego što timeout prođe, vraćeni element odmah završava s rezultatom zadatka. Inače se poziva handler (ako je naveden), zadatak se otkazuje, a vraćeni element završava s greškom.
Povezani nečlanovi
Tasking::Group operator!(const Tasking::ExecutableItem &item)
Vraća grupu s negiranim DoneResult om item a.
Ako item prijavi DoneResult::Success, vraćeni element prijavi DoneResult::Error. Ako item prijavi DoneResult::Error, vraćeni element prijavi DoneResult::Success.
Vraćeni element je ekvivalentan:
Group {
item,
onGroupDone([](DoneWith doneWith) { return toDoneResult(doneWith == DoneWith::Error); })
}Vidi također operator&&() i operator||().
Tasking::Group operator&&(const Tasking::ExecutableItem &first, const Tasking::ExecutableItem &second)
Vraća grupu s zadacima first i second spojljenim konjunktorom.
Oba zadatka, first i second, izvršavaju se uzastopno. Ako oba zadatka prijave DoneResult::Success, vraćeni element prijavljuje DoneResult::Success. U suprotnom, vraćeni element prijavljuje DoneResult::Error.
Vraćeni element je kratkospojen: ako zadatak first vrati DoneResult::Error, zadatak second se preskače i vraćeni element odmah vraća DoneResult::Error.
Vraćeni element je ekvivalentan:
Group { stopOnError, first, second }Napomena: Paralelno izvršavanje konjunktije na kratki spoj može se postići sljedećim kodom: Group { parallel, stopOnError, first, second }. U tom slučaju: ako prva dovršena zadatka prijavi DoneResult::Error, drugi se zadatak otkazuje, a grupa odmah prijavljuje DoneResult::Error.
Vidi također operator||() i operator!().
Tasking::Group operator&&(const Tasking::ExecutableItem &item, Tasking::DoneResult result)
Vraća zadatak item ako je result DoneResult::Success ; inače vraća zadatak item s njegovim dovršenim rezultatom prilagođenim na DoneResult::Error.
task && DoneResult::Error je ekvivalentno bezuvjetnom prilagođavanju done rezultata zadatka u DoneResult::Error.
Ova funkcija preopterećuje ExecutableItem::operator&&().
Tasking::Group operator||(const Tasking::ExecutableItem &first, const Tasking::ExecutableItem &second)
Vraća grupu s zadacima first i second spojljenim disjunktivnom operacijom.
Oba zadatka, first i second, izvršavaju se uzastopno. Ako oba zadatka prijave DoneResult::Error, vraćeni element prijavljuje DoneResult::Error. Inače, vraćeni element prijavljuje DoneResult::Success.
Vraćeni element je kratkospojen: ako zadatak first vrati DoneResult::Success, zadatak second se preskače i vraćeni element odmah izvještava DoneResult::Success.
Vraćeni element je ekvivalentan:
Group { stopOnSuccess, first, second }Napomena: Paralelno izvršavanje disjunktije na kratki spoj može se postići sljedećim kodom: Group { parallel, stopOnSuccess, first, second }. U tom slučaju: ako prva dovršena zadatka prijavi DoneResult::Success, drugi se zadatak otkazuje, a grupa odmah prijavljuje DoneResult::Success.
Vidi također operator&&() i operator!().
Tasking::Group operator||(const Tasking::ExecutableItem &item, Tasking::DoneResult result)
Vraća zadatak item ako je result DoneResult::Error ; inače vraća zadatak item s njegovim dovršenim rezultatom prilagođenim na DoneResult::Success.
task || DoneResult::Success je ekvivalentno bezuvjetnom prilagođavanju done rezultata zadatka u DoneResult::Success.
Ova funkcija preopterećuje ExecutableItem::operator||().
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.