Enigma  3.2.0
A Simple, Reliable and Efficient Encryption Tool
EncryptFileScene.hpp
Go to the documentation of this file.
1 #pragma once
2 #include "Scene.hpp"
4 
6 class EncryptFileScene : public Scene {
7  public: /* Constructors / Destructor */
8  explicit EncryptFileScene();
9  virtual ~EncryptFileScene() = default;
10 
11  private: /* Overrides */
12  void OnCreate() override;
13  [[maybe_unused]] void OnUpdate(const float& dt) override;
14  void OnDraw() override;
15  void OnImGuiDraw() override;
16  void OnEvent(Event& event) override;
17  void OnDestroy() override;
18 
19  private: /* Callbacks */
20  void OnBrowseInFileButtonPressed();
21  void OnBrowseOutFileLocationButtonPressed();
22  void OnEncryptButtonPressed();
23  void OnBackButtonPressed();
24 
25  private:
26  Algorithm::Type m_type; // Algorithm type, AES, ChaCha, TripleDES... to help us create polymorphic algorithm
27  std::string m_in_filename; // In File to encrypt
28  std::string m_out_filename; // Out File encrypted location
29  std::string m_password, m_confirm_password;
30  //unused, by default compression is enabled now. bool m_compress{ true }; // Whether to compress file with Gzip before encrypting
31 
32  // Save to database
33  std::string m_db_title;
34  bool m_save_to_database{false};
35 
36  // Rsa special stuff
37  std::string m_rsa_private_key;
38  std::string m_rsa_public_key;
39  std::size_t m_selected_rsa_keySize = 4096;
40 };
#define NS_ENIGMA_BEGIN
Enable/Disable Assertions.
Definition: Macros.hpp:13
#define NS_ENIGMA_END
Definition: Macros.hpp:14
virtual ~EncryptFileScene()=default
Definition: Event.hpp:66
Definition: Scene.hpp:20