UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
u_message.hpp
1 #ifndef U_MESSAGE_HPP_
2 #define U_MESSAGE_HPP_
3 
4 #include <stdio.h>
5 #include <stdarg.h>
6 
8 #define U_BASE_MSG_LEN 2048
9 
11 class UMessage
12 {
13 public:
15  static void info(const char* format, ...);
16 
18  static void warning(const char* format, ...);
19 
21  static void error(const char* format, ...);
22 
24  static void debug(const char* format, ...);
25 };
26 
27 
28 
29 
30 // DPrint (temporaly)
31 
32 #define DPRINT_ON
33 
34 #ifdef DPRINT_ON
35 
36 
37 #include <cstdio>
38 #include <string>
39 #include <cstdarg>
40 
41 
42 class DPrint {
43 public:
44 
45  DPrint();
46 
47  void init(int debug_level, int rank, const char* name);
48 
49  // -1 to turn of printer at all
50  void set_debug_level(int dl) { DEBUG_LEVEL = dl; };
51 
52  void operator()(const char* str, ...);
53  void operator()(int debug_level, const char* str, ...);
54 
55  ~DPrint() {}
56 
57 private:
58 
59  void m_print(const char* format, va_list& arg);
60 
61  FILE* fdeb;
62  bool is_inited;
63  bool is_failed;
64  int DEBUG_LEVEL;
65  std::string fname;
66 };
67 
68 #else
69 
70 class DPrint {
71 public:
72  void init(int, int, const char*) {};
73  void set_debug_level(int dl) {};
74  void operator()(const char* str, ...) {};
75  void operator()(int debug_level, const char* str, ...) {};
76 };
77 
78 #endif
79 
80 extern DPrint dprint;
81 
82 
83 
84 
85 
86 
87 
88 
89 #endif //U_MESSAGE_HPP_
static void debug(const char *format,...)
static void error(const char *format,...)
Definition: u_message.hpp:42
static void info(const char *format,...)
static void warning(const char *format,...)
Definition: u_message.hpp:11