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

Public Member Functions

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

Protected Member Functions

virtual Supla::Element * getScheduleOwner () const =0
 
virtual const char * getDeviceLabel () const =0
 
virtual const char * getScheduleStorageTag (bool alt) const =0
 
virtual bool validateSchedule (const TChannelConfig_WeeklySchedule *schedule, bool alt) const =0
 
virtual void fillDefaultSchedule (TChannelConfig_WeeklySchedule *schedule, bool alt)=0
 
virtual bool supportsAltSchedule () const
 
virtual bool hasAltScheduleStorage () const
 
virtual bool hasPersistentDefaultSchedule (bool alt) const
 
virtual void onNativeScheduleLoaded ()
 
virtual void onNativeScheduleLoadFailed (bool alt)
 
virtual void onNativeScheduleApplied (bool alt, bool local, bool changed)
 
virtual void onNativeScheduleSaved (bool alt, bool notify)
 
virtual void onNativeSchedulePurged ()
 
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

◆ applyChannelConfig()

Supla::ApplyConfigResult Supla::Control::NativeWeeklyScheduleConfigHandler::applyChannelConfig ( TSD_ChannelConfig * config,
bool local )
overridevirtual

◆ fillChannelConfig()

void Supla::Control::NativeWeeklyScheduleConfigHandler::fillChannelConfig ( void * config,
int * size,
uint8_t configType )
overridevirtual

◆ onLoadConfig()

void Supla::Control::NativeWeeklyScheduleConfigHandler::onLoadConfig ( )
overridevirtual

◆ purgeConfig()

void Supla::Control::NativeWeeklyScheduleConfigHandler::purgeConfig ( )
overridevirtual

◆ resolveProgram()

bool Supla::Control::NativeWeeklyScheduleConfigHandler::resolveProgram ( const WeeklyScheduleTimeSnapshot & time,
bool alt,
TWeeklyScheduleProgram * program,
int * programId )
overrideprotectedvirtual

◆ resolveProgramTiming()

bool Supla::Control::NativeWeeklyScheduleConfigHandler::resolveProgramTiming ( const WeeklyScheduleTimeSnapshot & time,
bool alt,
int programId,
int32_t * occurrence,
uint32_t * elapsedSeconds )
overrideprotectedvirtual

◆ supportsConfigType()

bool Supla::Control::NativeWeeklyScheduleConfigHandler::supportsConfigType ( uint8_t configType) const
overridevirtual

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