10 #ifndef MESSAGETOOLS_H
11 #define MESSAGETOOLS_H
17 #include "otsdaq-core/MessageFacility/MessageFacility.h"
19 #include "otsdaq-core/Macros/CoutMacros.h"
21 #include "ANSIColors.h"
23 #define FATAL(MSG,COLOR) \
25 std::stringstream msg_ ; \
26 std::stringstream PFs_ ; \
27 std::string PF_ = __PRETTY_FUNCTION__ ; \
28 int PFSize = PF_.size() ; \
30 if(PFSize > 30) {PFSize = 30 ;} \
31 for(int i=0; i<PFSize; ++i) {PFs_<<PF_[i];} \
32 if(PFSize<(int)PF_.size()) \
33 {maxL -= 3; PFs_<<ACRed<<"...";} \
34 msg_ << ACCyan << ACBold \
36 << ACPlain << ACYellow \
38 << ACRed << ACBold << ACReverse \
41 << ACWhite << ACBold \
44 << ACPlain << ACYellow \
46 int blankSize = maxL - msg_.str().size() + 1 ; \
47 if( blankSize < 0 ) blankSize = 2 ; \
48 std::string blanks = "" ; \
49 for(int i=0; i<blankSize; ++i) \
53 std::cout << __COUT_HDR_FL__ << msg_.str() \
61 #define STDLINE(MSG,COLOR) \
63 std::stringstream msg_ ; \
64 std::stringstream PFs_ ; \
65 std::string PF_ = __PRETTY_FUNCTION__ ; \
66 int PFSize = PF_.size() ; \
68 if(PFSize > 30) {PFSize = 30 ;} \
69 for(int i=0; i<PFSize; ++i) {PFs_<<PF_[i];} \
70 if(PFSize<(int)PF_.size()) \
71 {maxL -= 4; PFs_<<ACRed<<"...";} \
73 {PFs_<<ACPlain<<ACPlain<<ACPlain<<ACPlain;} \
74 msg_ << ACCyan << ACBold \
76 << ACPlain << ACYellow \
79 << ACWhite << ACBold \
81 << ACPlain << ACYellow \
83 int blankSize = maxL - msg_.str().size() + 1 ; \
84 if( blankSize < 0 ) blankSize = 3 ; \
85 std::string blanks = "" ; \
86 for(int i=0; i<blankSize; ++i) \
90 std::cout << __COUT_HDR_FL__ << msg_.str() \
98 #define STDSNAP(MSG,COLOR) \
100 std::stringstream msg_ ; \
101 std::stringstream PFs_ ; \
102 std::string PF_ = __PRETTY_FUNCTION__ ; \
103 int PFSize = PF_.size() ; \
105 if(PFSize > 30) {PFSize = 30 ;} \
106 for(int i=0; i<PFSize; ++i) {PFs_<<PF_[i];} \
107 if(PFSize<(int)PF_.size()) \
108 {maxL -= 4; PFs_<<ACRed<<"...";} \
110 << ACCyan << ACBold \
112 << ACPlain << ACYellow \
115 << ACWhite << ACBold \
117 << ACPlain << ACYellow \
119 int blankSize = maxL - msg_.str().size() + 1 ; \
120 if( blankSize < 0 ) blankSize = 3 ; \
121 std::string blanks = "" ; \
122 for(int i=0; i<blankSize; ++i) \
126 std::cout << __COUT_HDR_FL__ << msg_.str() \
141 inline static int toInt(std::string inputString)
143 std::istringstream iss_ ;
144 iss_.str(inputString) ;
151 inline static double toDouble(std::string inputString)
153 std::istringstream iss_ ;
154 iss_.str(inputString) ;
161 inline static int toDec(
unsigned long long inputBinary)
163 std::stringstream ss ;
165 int n = inputBinary ;
166 ss << std::dec << n ;
167 n = Utils::toInt(ss.str()) ;
174 #endif // MESSAGETOOLS_H