Files
tp/include/JSystem/JGadget/define.h
T

71 lines
2.5 KiB
C++
Raw Normal View History

#ifndef DEFINE_H
#define DEFINE_H
#include "types.h"
#ifdef __cplusplus
extern "C" {
class JGadget_outMessage {
public:
typedef void (*MessageFunc)(const char*, int, const char*);
static void warning(const char*, int, const char*);
JGadget_outMessage(MessageFunc fn, const char* file, int line);
~JGadget_outMessage();
2025-12-18 16:31:44 -05:00
JGadget_outMessage& operator<<(int param_1) { return *this << (s32)param_1; }
JGadget_outMessage& operator<<(u16);
2025-12-18 16:31:44 -05:00
JGadget_outMessage& operator<<(uint);
2025-06-13 05:33:33 -07:00
JGadget_outMessage& operator<<(u8 param_1) { return *this << (char)param_1; }
JGadget_outMessage& operator<<(const char* str);
2025-06-13 05:33:33 -07:00
JGadget_outMessage& operator<<(char);
2025-12-18 16:31:44 -05:00
JGadget_outMessage& operator<<(s32);
JGadget_outMessage& operator<<(u32);
JGadget_outMessage& operator<<(const void*);
private:
MessageFunc mMsgFunc;
char mBuffer[256];
char* mWrite_p;
char* mFile;
int mLine;
};
#if DEBUG
2025-11-19 04:13:35 +02:00
2025-06-13 05:33:33 -07:00
#define JGADGET_ASSERTWARN(line, COND) \
2025-11-19 04:13:35 +02:00
((COND)) || (JGadget_outMessage(JGadget_outMessage::warning, __FILE__, line) << #COND, false);
2025-06-13 05:33:33 -07:00
#define JGADGET_WARNMSG(line, msg) \
2025-11-19 04:13:35 +02:00
JGadget_outMessage(JGadget_outMessage::warning, __FILE__, line) << msg, false;
2025-06-13 05:33:33 -07:00
#define JGADGET_WARNMSG1(line, msg, arg) \
JGadget_outMessage out(JGadget_outMessage::warning, __FILE__, line); \
out << msg << (arg);
2025-12-15 20:00:16 -05:00
#define JGADGET_WARNMSG3(line, msg, arg1, arg2, arg3) \
JGadget_outMessage out(JGadget_outMessage::warning, __FILE__, line); \
out << msg << (arg1) << (arg2) << (arg3);
2025-06-13 05:33:33 -07:00
#define JGADGET_WARNMSG4(line, msg, arg1, arg2, arg3, arg4) \
JGadget_outMessage out(JGadget_outMessage::warning, __FILE__, line); \
out << msg << (arg1) << (arg2) << (arg3) << (arg4);
#define JGADGET_EXITWARN(cond) \
if (!(cond)) { \
false; \
return false; \
}
2025-06-13 05:33:33 -07:00
#else
#define JGADGET_ASSERTWARN(line, COND) (void)0
#define JGADGET_WARNMSG(line, msg) (void)0
#define JGADGET_WARNMSG1(line, msg, arg) (void)0
#define JGADGET_WARNMSG4(line, msg, arg1, arg2, arg3, arg4) (void)0
#endif
}
#endif
#endif