/// <summary> /// Constructor: initializes snoozeUntilTime to harmless value /// </summary> public AlarmController() { this.alarmList = new List <Alarm>(); this.audioController = AbstractAudioController.GetController(); this.guiController = AbstractGuiController.GetController(); this.snoozeUntilTime = TimeFetcher.getCurrentTime(); }
/// <summary> /// Called when the timezone offset changes /// </summary> /// <param name="offset"></param> public void TimeZoneOffsetChanged(double offset) { double localOffset = GetLocalTimeZoneOffset(); AbstractGuiController.GetController().SetActiveTimeZoneForDisplay(offset + localOffset); TimeFetcher.setOffset(offset); }
public void AlarmRequested(int hour, int minute, bool repeat, string audioFile, bool weekly, List <DayOfWeek> days, string AlarmName) { Alarm newAlarm = new Alarm(hour, minute, repeat, audioFile, weekly, days, AlarmName); AbstractGuiController.GetController().AddAlarm(newAlarm); alarmList.Add(newAlarm); }
/// <summary> /// Assigns the platform dependent controllers at runtime /// </summary> private void AssignPlatformControllers() { AbstractAudioController.SetController(new AudioController()); AbstractGuiController.SetController(new GuiController()); AbstractDataDriver.addType(typeof(List <Alarm>)); AbstractDataDriver.addType(typeof(Alarm)); AbstractDataDriver.addType(typeof(Audio.Audio)); AbstractDataDriver.Instance = new DataDriver(); }
/// <summary> /// Called when the main window is shutting down /// </summary> public void MainWindowShutdown() { foreach (Alarm alarm in alarmList) { if (alarm.IsRinging) { AlarmDismissed(false); break; } } Teardown(); if (alarmList.Count == 0) { AbstractGuiController.GetController().Shutdown(); } }
/// <summary> /// Builds controller objects and starts th e app /// </summary> public App() { AbstractGuiController.SetController(new GuiController()); TimePulseGenerator.Instance = new TimePulseGenerator(new SengDispatcherTimer()); AbstractAudioController.SetController(new AudioController()); this.Startup += this.Application_Startup; this.Exit += this.Application_Exit; this.UnhandledException += this.Application_UnhandledException; InitializeComponent(); TimeController tc = new TimeController(); GuiEventCaller.GetCaller().AddListener(tc); TimePulseGenerator.Instance.registerListener(tc); AlarmController ac = new AlarmController(); GuiEventCaller.GetCaller().AddListener(ac); TimePulseGenerator.Instance.registerListener(ac); }
/// <summary> /// Setup default timezone /// </summary> public void Setup() { double localOffset = GetLocalTimeZoneOffset(); AbstractGuiController.GetController().SetActiveTimeZoneForDisplay(localOffset); }
/// <summary> /// Called whenever a time pulse occurs /// </summary> /// <param name="currentTime"></param> public void TimePulse(DateTime currentTime) { AbstractGuiController.GetController().SetTime(currentTime); }
public void AlarmEdited(Alarm alarm, string name, int hour, int minute, bool repeat, string audioFile, bool weekly, List <DayOfWeek> days) { alarm.EditAlarm(name, hour, minute, repeat, audioFile, weekly, days); //reflect the changes in the gui AbstractGuiController.GetController().EditAlarm(alarm); }