#ifndef UPDATER_H_809E7381 #define UPDATER_H_809E7381 #include #include #include #include #ifndef WX_PRECOMP #include #endif class wxWebRequest; class wxWebRequestEvent; class Updater : public wxEvtHandler { public: explicit Updater(wxFrame* parent); void Cleanup(); void CheckForUpdates(bool invisible); private: enum class UpdateState { GetVersionInvisible, GetVersionManual, GetPackage, }; void OnWebRequestState(wxWebRequestEvent& event); void ProcessVersionFile(std::string data); void InstallUpdate(std::string url, std::string checksum, std::vector files, std::vector deletedFiles); bool DownloadWithProgress(wxWebRequest& request); wxFrame* parent_; UpdateState update_state_ = UpdateState::GetVersionInvisible; std::string package_path_; }; #endif /* end of include guard: UPDATER_H_809E7381 */