mirror of
https://github.com/Obfuscator-Collections/VMProtect.git
synced 2024-12-26 08:20:19 +03:00
35 lines
988 B
C
35 lines
988 B
C
|
#ifndef CONSOLE_H
|
||
|
#define CONSOLE_H
|
||
|
|
||
|
class ConsoleLog : public ILog
|
||
|
{
|
||
|
public:
|
||
|
ConsoleLog();
|
||
|
virtual void Notify(MessageType type, IObject *sender, const std::string &message = "");
|
||
|
virtual void StartProgress(const std::string &caption, unsigned long long max);
|
||
|
virtual void StepProgress(unsigned long long value, bool is_project);
|
||
|
virtual void EndProgress();
|
||
|
virtual void set_warnings_as_errors(bool value) { warnings_as_errors_ = value; }
|
||
|
virtual void set_arch_name(const std::string &arch_name) { arch_name_ = arch_name; }
|
||
|
ConsoleLog &operator<<(ConsoleLog & (* function)(ConsoleLog &));
|
||
|
ConsoleLog &operator<<(const std::string &text);
|
||
|
private:
|
||
|
enum {
|
||
|
NEED_PRINT_PERCENT = (size_t)-1
|
||
|
};
|
||
|
void PrintArch();
|
||
|
void PrintPercent();
|
||
|
unsigned long long pos_;
|
||
|
unsigned long long max_;
|
||
|
size_t percent_value_;
|
||
|
size_t percent_chars_;
|
||
|
std::string caption_;
|
||
|
bool warnings_as_errors_;
|
||
|
bool show_progress_;
|
||
|
std::string arch_name_;
|
||
|
};
|
||
|
|
||
|
ConsoleLog &endl(ConsoleLog &log);
|
||
|
|
||
|
#endif
|