Akonadi
23 class CollectionScheduler :
public AkThread
29 ~CollectionScheduler()
override;
31 void collectionChanged(qint64 collectionId);
32 void collectionRemoved(qint64 collectionId);
33 void collectionAdded(qint64 collectionId);
42 void setMinimumInterval(
int intervalMinutes);
43 Q_REQUIRED_RESULT
int minimumInterval()
const;
45 using TimePoint = std::chrono::steady_clock::time_point;
52 TimePoint nextScheduledTime(qint64 collectionId)
const;
57 std::chrono::milliseconds currentTimerInterval()
const;
63 virtual bool shouldScheduleCollection(
const Collection &collection) = 0;
64 virtual bool hasChanged(
const Collection &collection,
const Collection &changed) = 0;
68 virtual int collectionScheduleInterval(
const Collection &collection) = 0;
73 virtual void collectionExpired(
const Collection &collection) = 0;
75 void inhibit(
bool inhibit =
true);
78 void schedulerTimeout();
79 void startScheduler();
80 void scheduleCollection( Akonadi::Server::Collection collection,
bool shouldStartScheduler =
true);
83 using ScheduleMap =
QMultiMap<TimePoint , Collection>;
84 ScheduleMap::const_iterator constFind(qint64 collectionId)
const;
85 ScheduleMap::iterator
find(qint64 collectionId);
86 ScheduleMap::const_iterator constLowerBound(TimePoint timestamp)
const;
88 mutable QMutex mScheduleLock;
89 ScheduleMap mSchedule;
90 PauseableTimer *mScheduler =
nullptr;
const QList< QKeySequence > & find()
const QList< QKeySequence > & quit()
Helper integration between Akonadi and Qt.
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Mon Jun 27 2022 04:01:05 by
doxygen 1.8.17 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.