diff options
Diffstat (limited to 'mmc_updater/src/UpdateDialogAscii.h')
-rw-r--r-- | mmc_updater/src/UpdateDialogAscii.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/mmc_updater/src/UpdateDialogAscii.h b/mmc_updater/src/UpdateDialogAscii.h new file mode 100644 index 00000000..138194c5 --- /dev/null +++ b/mmc_updater/src/UpdateDialogAscii.h @@ -0,0 +1,32 @@ +#pragma once + +#include "UpdateDialog.h" + +#include <fstream> +#include <thread> +#include <mutex> + +/** A fallback auto-update progress 'dialog' for use on + * Linux when the GTK UI cannot be loaded. + * + * The 'dialog' consists of an xterm tailing the contents + * of a file, into which progress messages are written. + */ +class UpdateDialogAscii : public UpdateDialog +{ + public: + // implements UpdateDialog + virtual void init(int argc, char** argv); + virtual void exec(); + virtual void quit(); + + // implements UpdateObserver + virtual void updateError(const std::string& errorMessage); + virtual void updateProgress(int percentage); + virtual void updateFinished(); + + private: + std::mutex m_mutex; + std::ofstream m_output; +}; + |