- disabled gui for a moment
[enigma2.git] / lib / base / eerror.cpp
1 #include <lib/base/eerror.h>
2 #include <stdarg.h>
3 #include <stdio.h>
4 #include <stdlib.h>
5 #include <unistd.h>
6
7 #include <lib/gui/emessage.h>
8
9 int infatal=0;
10
11 Signal2<void, int, const eString&> logOutput;
12 int logOutputConsole=1;
13
14 void eFatal(const char* fmt, ...)
15 {
16         char buf[1024];
17         va_list ap;
18         va_start(ap, fmt);
19         vsnprintf(buf, 1024, fmt, ap);
20         va_end(ap);
21         logOutput(lvlFatal, buf);
22         fprintf(stderr, "%s\n",buf );
23 #if 0
24         if (!infatal)
25         {
26                 infatal=1;
27                 eMessageBox msg(buf, "FATAL ERROR", eMessageBox::iconError|eMessageBox::btOK);
28                 msg.show();
29                 msg.exec();
30         }
31 #endif
32
33         _exit(0);
34 }
35
36 #ifdef DEBUG
37 void eDebug(const char* fmt, ...)
38 {
39         char buf[1024];
40         va_list ap;
41         va_start(ap, fmt);
42         vsnprintf(buf, 1024, fmt, ap);
43         va_end(ap);
44         logOutput(lvlDebug, eString(buf) + "\n");
45         if (logOutputConsole)
46                 fprintf(stderr, "%s\n", buf);
47 }
48
49 void eDebugNoNewLine(const char* fmt, ...)
50 {
51         char buf[1024];
52         va_list ap;
53         va_start(ap, fmt);
54         vsnprintf(buf, 1024, fmt, ap);
55         va_end(ap);
56         logOutput(lvlDebug, buf);
57         if (logOutputConsole)
58                 fprintf(stderr, "%s", buf);
59 }
60
61 void eWarning(const char* fmt, ...)
62 {
63         char buf[1024];
64         va_list ap;
65         va_start(ap, fmt);
66         vsnprintf(buf, 1024, fmt, ap);
67         va_end(ap);
68         logOutput(lvlWarning, eString(buf) + "\n");
69         if (logOutputConsole)
70                 fprintf(stderr, "%s\n", buf);
71 }
72 #endif // DEBUG