This commit is contained in:
2023-02-02 23:01:14 +01:00
parent a62ee9f811
commit 8d9694b125
14 changed files with 1905 additions and 41 deletions

View File

@@ -1,12 +1,14 @@
#pragma once
#include "AudioNotificationListener.h"
#include "WindowsShell.h"
#include <endpointvolume.h>
#include <string>
#include <vector>
#include <unordered_map>
#include <chrono>
class AudioDevice {
public:
@@ -49,6 +51,10 @@ public:
bool showChecklistExtras = false;
std::vector<std::string> taskNames = {};
std::unordered_map<std::string, std::vector<time_t>> tasks = {};
std::vector<std::string> baseStationMacAdresses = {};
float timerDuration = 5.f * 60.f;
float timerRepeatDuration = 2.f * 60.f;
bool timerRepeating = false;
};
enum class HoverTargetType
@@ -57,6 +63,14 @@ enum class HoverTargetType
HOVER_TARGET_CHECKLIST_DAY = 1,
};
struct TimerData {
bool isTimerActive = false;
std::chrono::system_clock::time_point timerStartTimestamp;
bool timerHasNotified = false;
float lastNotifySeconds;
TimerToastHandler toastHandler = {};
};
class ApplicationData {
public:
ApplicationSettings settings = {};
@@ -65,6 +79,8 @@ public:
std::shared_ptr<AudioData> audioData = std::make_shared<AudioData>();
HoverTargetType hoverTargetType = HoverTargetType::HOVER_TARGET_NONE;
time_t hoverTargetDay = 0;
TimerData timerData{};
std::mutex timerMutex{};
//ApplicationData(const ApplicationData&) = delete;
//ApplicationData& operator=(const ApplicationData&) = delete;