/* */ #ifndef D_OUTPUT_FILE_H #define D_OUTPUT_FILE_H #include "common.h" #include #include // include just to cancel libintl's #define vprintf libintl_vprintf #include namespace aria2 { class OutputFile { public: virtual ~OutputFile() = default; virtual size_t write(const char* str) = 0; virtual int flush() = 0; virtual int vprintf(const char* format, va_list va) = 0; inline int printf(const char* format, ...) { va_list va; va_start(va, format); int rv = vprintf(format, va); va_end(va); return rv; } // Returns true if the output medium supports ANSI color codes. virtual bool supportsColor() = 0; }; } // namespace aria2 #endif // D_OUTPUT_FILE_H