supla-device
Loading...
Searching...
No Matches
Supla::Control::RelayWeeklySchedule Class Reference
Inheritance diagram for Supla::Control::RelayWeeklySchedule:
Collaboration diagram for Supla::Control::RelayWeeklySchedule:

Public Member Functions

 RelayWeeklySchedule (Relay *owner)
 
bool isConfigured () const
 
bool iterateAlways ()
 
bool canActivate () const override
 
bool switchToWeeklySchedule () override
 
void restoreWeeklyScheduleMode (bool enabled) override
 
bool isWeeklyScheduleEnabled () const
 
bool isManualActionAllowed (bool turnOn) const override
 
void onManualAction () override
 
- Public Member Functions inherited from Supla::Control::NativeWeeklyScheduleController
bool isActive () const override
 
void switchToManualMode () override
 
bool processWeeklySchedule () override
 
bool isWeeklyScheduleConfigured () const
 
- Public Member Functions inherited from Supla::Control::WeeklyScheduleController
virtual bool isExternallyManaged () const
 
- Public Member Functions inherited from Supla::Control::NativeWeeklyScheduleConfigHandler
void onLoadConfig () override
 
Supla::ApplyConfigResult applyChannelConfig (TSD_ChannelConfig *config, bool local) override
 
void fillChannelConfig (void *config, int *size, uint8_t configType) override
 
void purgeConfig () override
 
bool supportsConfigType (uint8_t configType) const override
 
- Public Member Functions inherited from Supla::Control::WeeklyScheduleConfigHandler
- Public Member Functions inherited from Supla::Control::WeeklyScheduleProgramSource

Additional Inherited Members

- Protected Member Functions inherited from Supla::Control::NativeWeeklyScheduleController
void onNativeScheduleLoaded () override
 
void onNativeScheduleLoadFailed (bool alt) override
 
void onNativeScheduleSaved (bool alt, bool notify) override
 
void onNativeSchedulePurged () override
 
bool applyResolvedWeeklyScheduleProgram (const TWeeklyScheduleProgram &program, int programId, bool programChanged) override
 
- Protected Member Functions inherited from Supla::Control::WeeklyScheduleController
WeeklyScheduleClockState getClockState () const
 
WeeklyScheduleClockState getClockState (bool startupDelay) const
 
WeeklyScheduleTimeSnapshot getWeeklyScheduleTimeSnapshot (bool startupDelay) const
 
bool processCurrentProgram (bool startupDelay)
 
bool updateCurrentProgramId (int programId)
 
void resetCurrentProgramId ()
 
void setWeeklyScheduleProgramSource (WeeklyScheduleProgramSource *source)
 
virtual bool shouldUseAltWeeklySchedule () const
 
bool resolveProgramTiming (const WeeklyScheduleTimeSnapshot &time, int programId, int32_t *occurrence, uint32_t *elapsedSeconds)
 
bool resolveWeeklyScheduleProgram (const WeeklyScheduleTimeSnapshot &time, TWeeklyScheduleProgram *program, int *programId)
 
- Protected Member Functions inherited from Supla::Control::NativeWeeklyScheduleConfigHandler
virtual bool supportsAltSchedule () const
 
virtual bool hasAltScheduleStorage () const
 
virtual bool hasPersistentDefaultSchedule (bool alt) const
 
bool isConfigured () const
 
bool isConfigured (bool alt) const
 
bool isPersisted (bool alt) const
 
TChannelConfig_WeeklySchedule * getSchedule (bool alt, bool loadIfMissing=true)
 
const TChannelConfig_WeeklySchedule * getSchedule (bool alt, bool loadIfMissing=true) const
 
TChannelConfig_WeeklySchedule * ensureSchedule (bool alt)
 
bool ensureScheduleForUse (bool alt)
 
bool updateSchedule (bool alt, const TChannelConfig_WeeklySchedule &schedule)
 
bool saveSchedule (bool alt, bool notify=false)
 
void clearSchedule (bool alt)
 
void clearSchedules ()
 
void unloadSchedule (bool alt)
 
int calculateIndex (enum DayOfWeek dayOfWeek, int hour, int quarter) const
 
int getProgramId (const TChannelConfig_WeeklySchedule *schedule, int index) const
 
bool setWeeklySchedule (TChannelConfig_WeeklySchedule *schedule, int index, int programId) const
 
TWeeklyScheduleProgram getProgramById (const TChannelConfig_WeeklySchedule *schedule, int programId) const
 
TWeeklyScheduleProgram getProgramAt (const TChannelConfig_WeeklySchedule *schedule, int quarterIndex) const
 
int getCurrentQuarter () const
 
bool resolveCurrentProgram (bool alt, TWeeklyScheduleProgram *program, int *programId)
 
bool resolveCurrentProgram (bool alt, TWeeklyScheduleProgram *program, int *programId) const
 
bool resolveCurrentProgram (bool alt, const WeeklyScheduleTimeSnapshot &time, TWeeklyScheduleProgram *program, int *programId)
 
bool resolveProgram (const WeeklyScheduleTimeSnapshot &time, bool alt, TWeeklyScheduleProgram *program, int *programId) override
 
bool resolveProgramTiming (const WeeklyScheduleTimeSnapshot &time, bool alt, int programId, int32_t *occurrence, uint32_t *elapsedSeconds) override
 
void touchCache (bool active, uint32_t nowMs)
 
bool processCache (bool active, uint32_t nowMs)
 
void resetCache ()
 

Member Function Documentation

◆ canActivate()

bool Supla::Control::RelayWeeklySchedule::canActivate ( ) const
overridevirtual

◆ isManualActionAllowed()

bool Supla::Control::RelayWeeklySchedule::isManualActionAllowed ( bool turnOn) const
overridevirtual

◆ onManualAction()

void Supla::Control::RelayWeeklySchedule::onManualAction ( )
overridevirtual

◆ restoreWeeklyScheduleMode()

void Supla::Control::RelayWeeklySchedule::restoreWeeklyScheduleMode ( bool enabled)
overridevirtual

◆ switchToWeeklySchedule()

bool Supla::Control::RelayWeeklySchedule::switchToWeeklySchedule ( )
overridevirtual

The documentation for this class was generated from the following files: