25 #ifndef SYNCSCHEDULE_H
26 #define SYNCSCHEDULE_H
36 class SyncSchedulePrivate;
37 class SyncScheduleTest;
39 typedef QSet<int> DaySet;
41 const QString SYNC_SCHEDULE_ENABLED_KEY_BOOL(
"scheduler/schedule_enabled");
42 const QString SYNC_SCHEDULE_PEAK_ENABLED_KEY_BOOL(
"scheduler/schedule_peak_enabled");
43 const QString SYNC_SCHEDULE_OFFPEAK_ENABLED_KEY_BOOL(
"scheduler/schedule_offpeak_enabled");
44 const QString SYNC_SCHEDULE_PEAK_DAYS_KEY_INT (
"scheduler/schedule_peak_days");
45 const QString SYNC_SCHEDULE_PEAK_START_TIME_KEY_INT (
"scheduler/schedule_peak_start_time");
46 const QString SYNC_SCHEDULE_PEAK_END_TIME_KEY_INT (
"scheduler/schedule_peak_end_time");
47 const QString SYNC_SCHEDULE_PEAK_SCHEDULE_KEY_INT (
"scheduler/schedule_peak");
48 const QString SYNC_SCHEDULE_OFFPEAK_SCHEDULE_KEY_INT (
"scheduler/schedule_off_peak");
94 QDomElement
toXml(QDomDocument &aDoc)
const;
114 void setDays(
const DaySet &aDays);
127 void setTime(
const QTime &aTime);
224 void setRushTime(
const QTime &aBegin,
const QTime &aEnd);
249 QDateTime
nextSyncTime(
const QDateTime &aPrevSync)
const;
265 bool isSyncScheduled(
const QDateTime &aActualDateTime,
const QDateTime &aPreviousSyncTime = QDateTime())
const;
271 #ifdef SYNCFW_UNIT_TESTS
272 friend class SyncScheduleTest;
Private implementation class for SyncSchedule.
Definition: SyncSchedule_p.h:34
Class for handling sync schedule settings.
Definition: SyncSchedule.h:54
QTime rushEnd() const
Gets end time of rush hours.
Definition: SyncSchedule.cpp:254
DaySet days() const
Gets the enabled week days of the sync schedule.
Definition: SyncSchedule.cpp:169
bool operator==(const SyncSchedule &aRhs)
Equal to operator.
Definition: SyncSchedule.cpp:108
QString toString() const
Exports the sync schedule to QString.
Definition: SyncSchedule.cpp:156
SyncSchedule()
Constructs an empty schedule.
Definition: SyncSchedule.cpp:58
SyncSchedule & operator=(const SyncSchedule &aRhs)
Assignment operator.
Definition: SyncSchedule.cpp:98
bool rushEnabled() const
Checks if rush hour schedule is to be obeyed.
Definition: SyncSchedule.cpp:219
bool isSyncScheduled(const QDateTime &aActualDateTime, const QDateTime &aPreviousSyncTime=QDateTime()) const
Returns true if aDateTime is within a scheduled period.
Definition: SyncSchedule.cpp:495
QDateTime scheduleConfiguredTime()
To get the scheduled config time.
Definition: SyncSchedule.cpp:184
QDateTime nextRushSwitchTime(const QDateTime &aFromTime) const
Gets next time to switch rush/off-rush schedule intervals.
Definition: SyncSchedule.cpp:471
void setTime(const QTime &aTime)
Sets the exact time for sync.
Definition: SyncSchedule.cpp:194
void setScheduleEnabled(bool aEnabled)
Sets if normal schedule is to be obeyed.
Definition: SyncSchedule.cpp:214
bool scheduleEnabled() const
Checks if normal schedule is obeyed.
Definition: SyncSchedule.cpp:209
void setInterval(unsigned aInterval)
Sets sync interval in minutes.
Definition: SyncSchedule.cpp:204
void setDays(const DaySet &aDays)
Sets the enabled week days.
Definition: SyncSchedule.cpp:174
QTime time() const
Gets the exact time set in sync schedule.
Definition: SyncSchedule.cpp:189
void setScheduleConfiguredTime(const QDateTime &aDateTime)
Sets scheduled config time.
Definition: SyncSchedule.cpp:179
void setRushDays(const DaySet &aDays)
Sets days enabled for rush hours.
Definition: SyncSchedule.cpp:244
QTime rushBegin() const
Gets begin time of rush hours.
Definition: SyncSchedule.cpp:249
unsigned rushInterval() const
Gets sync interval for rush hours.
Definition: SyncSchedule.cpp:265
unsigned interval() const
Gets sync interval in minutes.
Definition: SyncSchedule.cpp:199
DaySet rushDays() const
Gets days enabled for rush hours.
Definition: SyncSchedule.cpp:239
bool inExternalSyncRushPeriod(const QDateTime &aDateTime) const
Checks if a given time is inside rush hour and if the sync is controlled by a external process.
Definition: SyncSchedule.cpp:275
bool syncExternallyDuringRush() const
Checks if rush schedule is controlled by a external process.
Definition: SyncSchedule.cpp:229
void setRushTime(const QTime &aBegin, const QTime &aEnd)
Sets begin and end times of rush hours.
Definition: SyncSchedule.cpp:259
~SyncSchedule()
Destructor.
Definition: SyncSchedule.cpp:92
void setSyncExternallyDuringRush(bool aEnabled)
Sets if rush schedule is controlled by a external process.
Definition: SyncSchedule.cpp:234
void setRushInterval(unsigned aInterval)
Sets sync interval for rush hours.
Definition: SyncSchedule.cpp:270
QDateTime nextSyncTime(const QDateTime &aPrevSync) const
Gets next sync time based on the sync schedule settings.
Definition: SyncSchedule.cpp:285
QDomElement toXml(QDomDocument &aDoc) const
Exports the sync schedule to XML.
Definition: SyncSchedule.cpp:132
void setRushEnabled(bool aEnabled)
Sets rush hour schedule is to be obeyed.
Definition: SyncSchedule.cpp:224