feat: add reporter
- add general reporter. - fix various compile error.
This commit is contained in:
@@ -28,8 +28,8 @@ PUBLIC
|
||||
# Setup C++ standard
|
||||
set_target_properties(VSWShared
|
||||
PROPERTIES
|
||||
CXX_STANDARD 20
|
||||
CXX_STANDARD_REQUIRED 20
|
||||
CXX_STANDARD 17
|
||||
CXX_STANDARD_REQUIRED 17
|
||||
CXX_EXTENSION OFF
|
||||
)
|
||||
# MSVC specific correction
|
||||
|
||||
@@ -1,7 +1,41 @@
|
||||
#include "GenericHelper.hpp"
|
||||
#include <cstdarg>
|
||||
|
||||
namespace VSW {
|
||||
|
||||
Reporter::Reporter() {}
|
||||
Reporter::~Reporter() {}
|
||||
|
||||
void Reporter::PrePrint(const YYCC::yycc_char8_t* strl) {}
|
||||
|
||||
#define GENERIC_REPORTER_WRITE(ty, data) YYCC::ConsoleHelper::Write(YYCC_U8("[" #ty "] ")); \
|
||||
YYCC::ConsoleHelper::WriteLine(data);
|
||||
#define GENERIC_REPORTER_FORMAT(ty, data) YYCC::ConsoleHelper::Write(YYCC_U8("[" #ty "] ")); \
|
||||
va_list argptr; \
|
||||
va_start(argptr, data); \
|
||||
YYCC::ConsoleHelper::WriteLine(YYCC::StringHelper::VPrintf(data, argptr).c_str()); \
|
||||
va_end(argptr);
|
||||
|
||||
void Reporter::Err(const YYCC::yycc_char8_t* strl) {
|
||||
GENERIC_REPORTER_WRITE(Error, strl);
|
||||
}
|
||||
void Reporter::ErrF(const YYCC::yycc_char8_t* fmt, ...) {
|
||||
GENERIC_REPORTER_FORMAT(Error ,fmt);
|
||||
}
|
||||
void Reporter::Warn(const YYCC::yycc_char8_t* strl) {
|
||||
GENERIC_REPORTER_WRITE(Warning, strl);
|
||||
}
|
||||
void Reporter::WarnF(const YYCC::yycc_char8_t* fmt, ...) {
|
||||
GENERIC_REPORTER_FORMAT(Warning ,fmt);
|
||||
}
|
||||
void Reporter::Info(const YYCC::yycc_char8_t* strl) {
|
||||
GENERIC_REPORTER_WRITE(Info, strl);
|
||||
}
|
||||
void Reporter::InfoF(const YYCC::yycc_char8_t* fmt, ...) {
|
||||
GENERIC_REPORTER_FORMAT(Info ,fmt);
|
||||
}
|
||||
|
||||
#undef GENERIC_REPORTER_WRITE
|
||||
#undef GENERIC_REPORTER_FORMAT
|
||||
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace VSW {
|
||||
~Reporter();
|
||||
|
||||
protected:
|
||||
void PrePrint(const YYCC::yycc_char8_t* strl);
|
||||
virtual void PrePrint(const YYCC::yycc_char8_t* strl);
|
||||
|
||||
public:
|
||||
void Err(const YYCC::yycc_char8_t* strl);
|
||||
@@ -19,8 +19,6 @@ namespace VSW {
|
||||
void WarnF(const YYCC::yycc_char8_t* fmt, ...);
|
||||
void Info(const YYCC::yycc_char8_t* strl);
|
||||
void InfoF(const YYCC::yycc_char8_t* fmt, ...);
|
||||
void Debug(const YYCC::yycc_char8_t* strl);
|
||||
void DebugF(const YYCC::yycc_char8_t* fmt, ...);
|
||||
};
|
||||
|
||||
namespace DataTypes {
|
||||
|
||||
Reference in New Issue
Block a user