Enigma  3.2.0
A Simple, Reliable and Efficient Encryption Tool
Notification.hpp
Go to the documentation of this file.
1 #pragma once
2 #ifndef ENIGMA_NOTIFICATION_H
3 #define ENIGMA_NOTIFICATION_H
4 
5 #include <Core/Core.hpp>
6 #include <portable-file-dialogs.h>
7 
12 class Notification {
13  public: /* Enums */
17  enum class Icon : std::uint8_t {
18  Info = static_cast<std::uint8_t>(pfd::icon::info),
19  Warning = static_cast<std::uint8_t>(pfd::icon::warning),
20  Error = static_cast<std::uint8_t>(pfd::icon::error)
21  };
22 
23  public: /* Constructors / Destructor */
29  Notification(const std::string& title, const std::string& message, Icon icon = Icon::Info);
30  ~Notification() noexcept = default;
31 
32  public: /* Accessors */
36  void Show() const;
37 
38  private:
39  const std::string m_title; /*< Notification title */
40  const std::string m_message; /*< Notification message */
41  const Icon m_icon; /*< Notification icon (Info, Error or Warning) */
42 };
43 
45 
46 #endif // !ENIGMA_NOTIFICATION_H
#define NS_ENIGMA_BEGIN
Enable/Disable Assertions.
Definition: Macros.hpp:13
#define NS_ENIGMA_END
Definition: Macros.hpp:14
void Show() const
Notification(const std::string &title, const std::string &message, Icon icon=Icon::Info)
~Notification() noexcept=default