49 static FILE *fLOG = 0;
61 void MHEG5stringTrace(
MHEG5String s,
char *out,
int start,
int max)
67 for (i = start; i < s.len && j < max; i++)
74 else if ((s.data[i] >=
' ') && (s.data[i] <= 127))
81 out[j++] = (s.data[i] >> 4) < 10 ? (s.data[i] >> 4) +
'0' : (s.data[i] >> 4) +
'A' - 10;
82 out[j++] = (s.data[i] & 0x0F) < 10 ? (s.data[i] & 0x0F) +
'0' : (s.data[i] & 0x0F) +
'A' - 10;
97 void MHEG5LogInit(
int logLevel)
102 fLOG = fopen(MH5LOGFILE,
"w");
108 void MHEG5LogExit(
void)
110 #ifdef MHEG5LOGTOFILE 119 void MHEG5LogPrintf(
int logLevel,
char *format, ...)
123 if (logLevel <= level)
125 va_start(ap, format);
126 #ifdef MHEG5LOGTOFILE 129 vfprintf(fLOG, format, ap);
140 void MHEG5LogPrintAction(
int logLevel, MHEG5ElemActionType action)
142 if (logLevel <= level)
144 #ifdef MHEG5LOGTOFILE 147 fprintf(fLOG,
"%s", MHEG5actionToString(action));
151 printf(
"%s", MHEG5actionToString(action));
157 void MHEG5LogPrintEvent(
int logLevel, MHEG5EventType event)
159 if (logLevel <= level)
161 #ifdef MHEG5LOGTOFILE 164 fprintf(fLOG,
"%s", MHEG5eventToString(event));
168 printf(
"%s", MHEG5eventToString(event));
174 void MHEG5LogPrintString(
int logLevel,
MHEG5String string)
176 if (logLevel <= level)
178 #ifdef MHEG5LOGTOFILE 181 fprintf(fLOG,
"%.*s",
string.len,
string.data);
185 printf(
"%.*s",
string.len,
string.data);
191 void MHEG5LogPrintObjectRef(
int logLevel,
MH5GroupPtr sourceGroup, MHEG5Int sourceID)
193 if (logLevel <= level)
195 #ifdef MHEG5LOGTOFILE 198 fprintf(fLOG,
"( %.*s %d )", sourceGroup->groupName.len, sourceGroup->groupName.data, sourceID);
202 printf(
"( %.*s %d )", sourceGroup->groupName.len, sourceGroup->groupName.data, sourceID);
208 void MHEG5LogPrintObjectPtr(
int logLevel,
MHEG5Root *target)
210 if ((logLevel <= level) && (target))
212 MHEG5LogPrintObjectRef(logLevel, target->grp, target->id);
216 void MHEG5InfoPrintf(
char *format, ...)
220 if (MHEG5CALLS <= level)
222 va_start(ap, format);
223 #ifdef MHEG5LOGTOFILE 226 vfprintf(fLOG, format, ap);
237 void MHEG5DebugPrintf(
char *format, ...)
241 if (MHEG5MESSAGE <= level)
243 va_start(ap, format);
244 #ifdef MHEG5LOGTOFILE 247 vfprintf(fLOG, format, ap);
258 void MHEG5WarningPrintf(
char *format, ...)
262 if (MHEG5WARNING <= level)
264 va_start(ap, format);
265 #ifdef MHEG5LOGTOFILE 268 vfprintf(fLOG, format, ap);
279 void MHEG5ErrorPrintf(
char *format, ...)
283 if (MHEG5ERROR <= level)
285 va_start(ap, format);
286 #ifdef MHEG5LOGTOFILE 289 vfprintf(fLOG, format, ap);
Event to String conversion.
Implementation of the Group class Description Defines the structure and behaviour of objects used as ...
Implement functions to retrieve MHEG5objects by GroupID and ID.
Mheg5 logging and debug printing.
action to string conversion