30 lines
630 B
C++
30 lines
630 B
C++
#pragma once
|
|
#include <cstdint>
|
|
#include <iosfwd>
|
|
#include <string>
|
|
|
|
class CrossPointState {
|
|
// Static instance
|
|
static CrossPointState instance;
|
|
|
|
public:
|
|
std::string openEpubPath;
|
|
size_t lastSleepImage = SIZE_MAX; // SIZE_MAX = unset sentinel
|
|
uint8_t readerActivityLoadCount = 0;
|
|
bool lastSleepFromReader = false;
|
|
~CrossPointState() = default;
|
|
|
|
// Get singleton instance
|
|
static CrossPointState& getInstance() { return instance; }
|
|
|
|
bool saveToFile() const;
|
|
|
|
bool loadFromFile();
|
|
|
|
private:
|
|
bool loadFromBinaryFile();
|
|
};
|
|
|
|
// Helper macro to access settings
|
|
#define APP_STATE CrossPointState::getInstance()
|