summaryrefslogtreecommitdiff
path: root/src/managers/DonationNagManager.hpp
blob: c33ae07a5f5b169686b8a9612e679c12007dcb35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once

#include "../helpers/memory/Memory.hpp"

class CDonationNagManager {
  public:
    CDonationNagManager();

    // whether the donation nag was shown this boot.
    bool fired();

  private:
    struct SStateData {
        uint64_t epoch = 0;
        uint64_t major = 0;
    };

    SStateData getState();
    void       writeState(const SStateData& s);
    void       fire();

    bool       m_fired = false;
};

inline UP<CDonationNagManager> g_pDonationNagManager;