41 #if !defined(__CALogMacros_h__)
42 #define __CALogMacros_h__
50 #include "CADebugMacros.h"
51 #include "CADebugPrintf.h"
55 #define PrintLine(msg) DebugPrintfRtn(DebugPrintfFileComma "%s\n", (msg))
57 #define PrintBool(msg, b) DebugPrintfRtn(DebugPrintfFileComma "%s%s\n", (msg), (b) ? "true" : "false")
58 #define PrintIndexedBool(msg, i, b) DebugPrintfRtn(DebugPrintfFileComma " %s %ld: %s\n", (msg), (long)(i), (b) ? "true" : "false")
60 #define PrintToggle(msg, b) DebugPrintfRtn(DebugPrintfFileComma "%s%s\n", (msg), (b) ? "on" : "off")
61 #define PrintIndexedToggle(msg, i, b) DebugPrintfRtn(DebugPrintfFileComma " %s %ld: %s\n", (msg), (long)(i), (b) ? "on" : "off")
63 #define PrintInt(msg, n) DebugPrintfRtn(DebugPrintfFileComma "%s%ld\n", (msg), (long)(n))
64 #define PrintIndexedInt(msg, i, n) DebugPrintfRtn(DebugPrintfFileComma " %s %ld: %ld\n", (msg), (long)(i), (long)(n))
66 #define PrintHex(msg, n) DebugPrintfRtn(DebugPrintfFileComma "%s0x%lX\n", (msg), (unsigned long)(n))
67 #define PrintIndexedHex(msg, i, n) DebugPrintfRtn(DebugPrintfFileComma " %s %ld: 0x%lX\n", (msg), (long)(i), (unsigned long)(n))
69 #define PrintFloat(msg, f) DebugPrintfRtn(DebugPrintfFileComma "%s%.6f\n", (msg), (f))
70 #define PrintIndexedFloat(msg, i, f) DebugPrintfRtn(DebugPrintfFileComma " %s %ld: %.6f\n", (msg), (long)(i), (f))
71 #define PrintFloatIndexedFloat(msg, i, f) DebugPrintfRtn(DebugPrintfFileComma " %s %.6f: %.6f\n", (msg), (i), (f))
73 #define PrintString(msg, s) DebugPrintfRtn(DebugPrintfFileComma "%s%s\n", (msg), (s))
74 #define PrintIndexedString(msg, i, s) DebugPrintfRtn(DebugPrintfFileComma " %s %ld: %s\n", (msg), (long)(i), (s))
76 #define PrintPointer(msg, p) DebugPrintfRtn(DebugPrintfFileComma "%s%p\n", (msg), (p))
77 #define PrintIndexedPointer(msg, i, p) DebugPrintfRtn(DebugPrintfFileComma " %s %ld: %p\n", (msg), (long)(i), (p))
79 #define Print4CharCode(msg, c) { \
80 UInt32 __4CC_number = (c); \
81 char __4CC_string[5] = CA4CCToCString(__4CC_number); \
82 DebugPrintfRtn(DebugPrintfFileComma "%s'%s'\n", (msg), __4CC_string); \
84 #define PrintIndexed4CharCode(msg, i, c) { \
85 UInt32 __4CC_number = (c); \
86 char __4CC_string[5] = CA4CCToCString(__4CC_number); \
87 DebugPrintfRtn(DebugPrintfFileComma " %s %ld: '%s'\n", (msg), (long)(i), __4CC_string); \
90 #define ErrorLine(s) DebugPrintfRtn(DebugPrintfFileComma "%s\n", (s))
91 #define OSErrorLine(s, e) { \
92 OSStatus __err_number = (e); \
93 char __err_string[5] = CA4CCToCString(__err_number); \
94 DebugPrintfRtn(DebugPrintfFileComma "%s, OSStatus code: %s\n", (s), __err_string); \
97 #define MessageIfOSError(e, s) if((e) != 0) { OSErrorLine(s, e); }
98 #define MessageIfNULL(p, s) if((p) == 0) { ErrorLine(s); }
102 #define PrintLine(msg)
104 #define PrintBool(msg, b) (b)
105 #define PrintIndexedBool(msg, i, b) (b)
107 #define PrintInt(msg, n) (n)
108 #define PrintIndexedInt(msg, i, n) (n)
110 #define PrintHex(msg, n) (n)
111 #define PrintIndexedHex(msg, i, n) (n)
113 #define PrintFloat(msg, f) (f)
114 #define PrintIndexedFloat(msg, i, f) (f)
115 #define PrintFloatIndexedFloat(msg, i, f) (f)
117 #define PrintString(msg, s) (s)
118 #define PrintIndexedString(msg, i, s) (s)
120 #define PrintPointer(msg, p) (p)
121 #define PrintIndexedPointer(msg, i, p) (p)
123 #define Print4CharCode(msg, c) (c)
124 #define PrintIndexed4CharCode(msg, i, c) (c)
126 #define ErrorLine(s) (s)
127 #define OSErrorLine(s, e) (e)
129 #define MessageIfOSError(e, s) (e)
130 #define MessageIfNULL(p, s) (p)
132 #endif // CoreAudio_Debug