VMProtect/VMProtectCon/console.h
VNGhostMans 5ec92ee05e first commit
Version 3.x.x
2023-05-14 20:21:09 +07:00

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