Changeset 8858 for code/trunk/src/libraries/util
- Timestamp:
- Aug 23, 2011, 12:45:53 AM (13 years ago)
- Location:
- code/trunk
- Files:
-
- 3 deleted
- 19 edited
- 20 copied
Legend:
- Unmodified
- Added
- Removed
-
code/trunk
- Property svn:ignore
-
old new 1 1 build 2 2 codeblocks 3 vs 3 4 dependencies
-
- Property svn:mergeinfo changed
/code/branches/output (added) merged: 8739-8740,8765,8771-8772,8774-8780,8787-8789,8794-8799,8801,8803-8812,8814,8816-8817,8820,8822,8825-8837,8840,8844,8846,8848-8850,8853-8854
- Property svn:ignore
-
code/trunk/src/libraries/util/CMakeLists.txt
r8729 r8858 26 26 CRC32.cc 27 27 ExprParser.cc 28 OutputHandler.cc29 28 Scope.cc 30 29 ScopedSingletonManager.cc … … 42 41 ) 43 42 43 ADD_SUBDIRECTORY(output) 44 44 45 ORXONOX_ADD_LIBRARY(util 45 46 FIND_HEADER_FILES -
code/trunk/src/libraries/util/Clipboard.cc
r7401 r8858 48 48 #undef min 49 49 #undef max 50 #include " Debug.h"50 #include "Output.h" 51 51 52 52 namespace orxonox … … 76 76 catch (...) 77 77 { 78 COUT(1) << "Error: Unable to copy the following text to the clipboard:" << std::endl;79 COUT(1) << " \"" << text << '"' << std::endl;78 orxout(user_error) << "Unable to copy the following text to the clipboard:" << endl; 79 orxout(user_error) << '"' << text << '"' << endl; 80 80 } 81 81 return false; … … 104 104 catch (...) 105 105 { 106 COUT(1) << "Error: Unable to retrieve text from the clipboard." << std::endl;106 orxout(user_error) << "Unable to retrieve text from the clipboard." << endl; 107 107 } 108 108 return ""; -
code/trunk/src/libraries/util/Convert.h
r8729 r8858 130 130 #include <loki/TypeManip.h> 131 131 132 #include " Debug.h"132 #include "Output.h" 133 133 #include "ImplicitConversion.h" 134 134 … … 151 151 ORX_FORCEINLINE static bool convert(ToType* /*output*/, const FromType& /*input*/) 152 152 { 153 COUT(2) << "Could not convert value of type " << typeid(FromType).name()154 << " to type " << typeid(ToType).name() << std::endl;153 orxout(internal_warning) << "Could not convert value of type " << typeid(FromType).name() 154 << " to type " << typeid(ToType).name() << endl; 155 155 return false; 156 156 } -
code/trunk/src/libraries/util/Exception.cc
r8410 r8858 37 37 #include <cstddef> 38 38 #include <CEGUIExceptions.h> 39 #include " Debug.h"39 #include "Output.h" 40 40 41 41 namespace orxonox … … 111 111 catch (...) 112 112 { 113 COUT(0) << "BIG WARNING: Unknown exception type encountered."114 << "Rethrowing" << endl;113 orxout(user_error) << "BIG WARNING: Unknown exception type encountered." 114 << " Rethrowing" << endl; 115 115 throw; 116 116 } -
code/trunk/src/libraries/util/Exception.h
r8706 r8858 63 63 #include <sstream> 64 64 #include <string> 65 #include " Debug.h"65 #include "Output.h" 66 66 67 67 namespace orxonox … … 176 176 inline const T& exceptionThrowerHelper(const T& exception) 177 177 { 178 // let the catcher decide whether to display the message below level 4179 COUT(4) << exception.getFullDescription() << std::endl;178 // let the catcher decide whether to display the message also to the user 179 orxout(internal_error) << exception.getFullDescription() << endl; 180 180 return exception; 181 181 } -
code/trunk/src/libraries/util/ExprParser.h
r8351 r8858 55 55 if (!expr.getRemains().empty()) 56 56 { 57 COUT(2) << "Warning: Expression could not be parsed to the end! Remains: '" << expr.getRemains() << '\'' << std::endl;57 orxout(user_warning) << "Expression could not be parsed to the end! Remains: '" << expr.getRemains() << '\'' << endl; 58 58 } 59 59 float result = expr.getResult(); 60 60 } 61 61 else 62 COUT(1) << "Error: Cannot calculate expression: Parse error." << std::endl;62 orxout(user_error) << "Cannot calculate expression: Parse error." << endl; 63 63 @endcode 64 64 getRemains() returns the expression after what could be parsed. For instance -
code/trunk/src/libraries/util/MultiType.h
r7401 r8858 78 78 void myfunction(int value) 79 79 { 80 COUT(0) << "doubled value is " << (2 * value) << std::endl;80 orxout() << "doubled value is " << (2 * value) << endl; 81 81 } 82 82 -
code/trunk/src/libraries/util/OrxAssert.h
r8372 r8858 40 40 41 41 #include <cassert> 42 #include " Debug.h"42 #include "Output.h" 43 43 44 44 #ifndef NDEBUG … … 46 46 /** Run time assertion like assert(), but with an embedded message. 47 47 @details 48 The message will be printed as error with COUT(1). <br>48 The message will be printed as error with orxout(user_error). <br> 49 49 You can use the same magic here as you can with \ref ThrowException 50 50 @code … … 57 57 if (!(condition)) \ 58 58 { \ 59 COUT(1) << __FILE__ << "(" << __LINE__ << "): "; \60 COUT(1) << "Assertion failed in " << __FUNCTIONNAME__ << std::endl; \61 COUT(1) << "Expression: " << #condition << std::endl; \62 COUT(1) << "Message : " << errorMessage << std::endl; \59 orxout(user_error) << __FILE__ << "(" << __LINE__ << "): "; \ 60 orxout(user_error) << "Assertion failed in " << __FUNCTIONNAME__ << endl; \ 61 orxout(user_error) << "Expression: " << #condition << endl; \ 62 orxout(user_error) << "Message : " << errorMessage << endl; \ 63 63 /* Don't use the condition again to avoid double evaluation */ \ 64 64 /* Instead, stringify the expression and negate it */ \ … … 70 70 mode (no abort() triggered then). 71 71 @details 72 The message will be printed as error with COUT(1). <br>72 The message will be printed as error with orxout(user_error). <br> 73 73 You can use the same magic here as you can with \ref ThrowException 74 74 @code … … 81 81 if (!(condition)) \ 82 82 { \ 83 COUT(1) << __FILE__ << "(" << __LINE__ << "): "; \84 COUT(1) << "Verification failed in " << __FUNCTIONNAME__ << std::endl; \85 COUT(1) << "Expression: " << #condition << std::endl; \86 COUT(1) << "Message : " << errorMessage << std::endl; \83 orxout(user_error) << __FILE__ << "(" << __LINE__ << "): "; \ 84 orxout(user_error) << "Verification failed in " << __FUNCTIONNAME__ << endl; \ 85 orxout(user_error) << "Expression: " << #condition << endl; \ 86 orxout(user_error) << "Message : " << errorMessage << endl; \ 87 87 /* Don't use the condition again to avoid double evaluation */ \ 88 88 /* Instead, stringify the expression and negate it */ \ … … 100 100 if (!(condition)) \ 101 101 { \ 102 COUT(1) << __FILE__ << "(" << __LINE__ << "): "; \103 COUT(1) << "Verification failed in " << __FUNCTIONNAME__ << std::endl; \104 COUT(1) << "Expression: " << #condition << std::endl; \105 COUT(1) << "Message : " << errorMessage << std::endl; \102 orxout(user_error) << __FILE__ << "(" << __LINE__ << "): "; \ 103 orxout(user_error) << "Verification failed in " << __FUNCTIONNAME__ << endl; \ 104 orxout(user_error) << "Expression: " << #condition << endl; \ 105 orxout(user_error) << "Message : " << errorMessage << endl; \ 106 106 /* No assert() in release configuration */ \ 107 107 } \ -
code/trunk/src/libraries/util/Scope.h
r7401 r8858 60 60 #include <loki/ScopeGuard.h> 61 61 62 #include " Debug.h"62 #include "Output.h" 63 63 64 64 namespace orxonox … … 128 128 Scope() 129 129 { 130 orxout(internal_status) << "creating scope... (" << scope << ")" << endl; 131 130 132 try 131 133 { … … 148 150 throw; 149 151 } 152 153 orxout(internal_status) << "created scope (" << scope << ")" << endl; 150 154 } 151 155 … … 153 157 ~Scope() 154 158 { 159 orxout(internal_status) << "destroying scope... (" << scope << ")" << endl; 160 155 161 ScopeManager::instanceCounts_s[scope]--; 156 162 … … 162 168 if (ScopeManager::instanceCounts_s[scope] == 0) 163 169 this->deactivateListeners(); 170 171 orxout(internal_status) << "destroyed scope (" << scope << ")" << endl; 164 172 } 165 173 … … 174 182 { (*it)->deactivated(); } 175 183 catch (...) 176 { COUT(0) << "ScopeListener::deactivated() failed! This MUST NOT happen, fix it!" << std::endl; }184 { orxout(internal_warning) << "ScopeListener::deactivated() failed! This MUST NOT happen, fix it!" << endl; } 177 185 (*(it++))->bActivated_ = false; 178 186 } -
code/trunk/src/libraries/util/ScopedSingletonManager.h
r8706 r8858 231 231 { singletonPtr_ = new T(); } 232 232 catch (const InitialisationAbortedException& ex) 233 { COUT(3) << ex.getDescription() << std::endl; }233 { orxout(internal_error) << ex.getDescription() << endl; } 234 234 catch (...) 235 { COUT(1) << "Singleton creation failed: " << Exception::handleMessage() << std::endl; }235 { orxout(internal_error) << "Singleton creation failed: " << Exception::handleMessage() << endl; } 236 236 } 237 237 -
code/trunk/src/libraries/util/SignalHandler.cc
r8351 r8858 39 39 #include <cstdio> 40 40 41 #include " Debug.h"41 #include "Output.h" 42 42 43 43 namespace orxonox … … 127 127 if( SignalHandler::singletonPtr_s == 0 ) 128 128 { 129 COUT(0) << "Received signal " << sigName.c_str() << std::endl << "Can't write backtrace because SignalHandler is already destroyed" << std::endl;129 orxout(user_error) << "Received signal " << sigName.c_str() << endl << "Can't write backtrace because SignalHandler is already destroyed" << endl; 130 130 exit(EXIT_FAILURE); 131 131 } … … 137 137 138 138 139 COUT(0) << "Received signal " << sigName.c_str() << std::endl << "Try to write backtrace to file orxonox_crash.log" << std::endl;139 orxout(user_error) << "Received signal " << sigName.c_str() << endl << "Try to write backtrace to file orxonox_crash.log" << endl; 140 140 141 141 … … 206 206 #ifdef PR_SET_PTRACER 207 207 if( prctl(PR_SET_PTRACER, gdbPid, 0, 0, 0) == -1 ) 208 COUT(0) << "could not set proper permissions for GDB to attach to process..." << endl;208 orxout(user_error) << "could not set proper permissions for GDB to attach to process..." << endl; 209 209 #endif 210 210 … … 213 213 214 214 if( read( sigPipe[0], &someData, sizeof(someData) ) != sizeof(someData) ) 215 COUT(0) << "something went wrong :(" << std::endl;215 orxout(user_error) << "something went wrong :(" << endl; 216 216 217 217 if ( someData != 0x12345678 ) 218 218 { 219 COUT(0) << "something went wrong :(" << std::endl;219 orxout(user_error) << "something went wrong :(" << endl; 220 220 } 221 221 … … 328 328 if ( fwrite( bt.c_str(), 1, bt.length(), f ) != bt.length() ) 329 329 { 330 COUT(0) << "could not write " << bt.length() << " byte to " << getInstance().filename << std::endl;330 orxout(user_error) << "could not write " << bt.length() << " byte to " << getInstance().filename << endl; 331 331 exit(EXIT_FAILURE); 332 332 } … … 364 364 _UtilExport void __cdecl abort() 365 365 { 366 COUT(1) << "This application has requested the Runtime to terminate it in an unusual way." << std::endl; 367 COUT(1) << "Please contact the application's support team for more information." << std::endl; 366 using namespace orxonox; 367 orxout(user_error) << "This application has requested the Runtime to terminate it in an unusual way." << endl; 368 orxout(user_error) << "Please contact the application's support team for more information." << endl; 368 369 DebugBreak(); 369 370 exit(0x3); … … 373 374 _UtilExport void __cdecl _assert(const char* expression, const char* file, int line) 374 375 { 375 COUT(1) << "Assertion failed: " << expression << ", file " << file << ", line " << line << std::endl; 376 COUT(1) << std::endl; 376 using namespace orxonox; 377 orxout(user_error) << "Assertion failed: " << expression << ", file " << file << ", line " << line << endl; 378 orxout(user_error) << endl; 377 379 abort(); 378 380 } … … 423 425 bExecuting = true; 424 426 425 COUT(1) << std::endl;427 orxout(user_error) << endl; 426 428 427 429 // if the signalhandler has already been destroyed then don't do anything 428 430 if (SignalHandler::singletonPtr_s == 0) 429 431 { 430 COUT(1) << "Caught an unhandled exception" << std::endl << "Can't write backtrace because SignalHandler is already destroyed" << std::endl;432 orxout(user_error) << "Caught an unhandled exception" << endl << "Can't write backtrace because SignalHandler is already destroyed" << endl; 431 433 exit(EXIT_FAILURE); 432 434 } 433 435 434 COUT(1) << "Caught an unhandled exception" << std::endl << "Try to write backtrace to orxonox_crash.log..." << std::endl;436 orxout(user_error) << "Caught an unhandled exception" << endl << "Try to write backtrace to orxonox_crash.log..." << endl; 435 437 436 438 // write the crash log … … 439 441 time_t now = time(NULL); 440 442 441 crashlog << "=======================================================" << std::endl;443 crashlog << "=======================================================" << endl; 442 444 crashlog << "= Time: " << std::string(ctime(&now)); 443 crashlog << "=======================================================" << std::endl;444 crashlog << std::endl;445 crashlog << "=======================================================" << endl; 446 crashlog << endl; 445 447 446 448 const std::string& error = SignalHandler::getExceptionType(pExceptionInfo); 447 449 448 crashlog << error << std::endl;449 crashlog << std::endl;450 crashlog << error << endl; 451 crashlog << endl; 450 452 451 453 const std::string& callstack = SignalHandler::getStackTrace(pExceptionInfo); 452 454 453 crashlog << "Call stack:" << std::endl;454 crashlog << callstack << std::endl;455 crashlog << "Call stack:" << endl; 456 crashlog << callstack << endl; 455 457 456 458 crashlog.close(); 457 459 458 460 // print the same information also to the console 459 COUT(1) << std::endl;460 COUT(1) << error << std::endl;461 COUT(1) << std::endl;462 COUT(1) << "Call stack:" << std::endl;463 COUT(1) << callstack << std::endl;461 orxout(user_error) << endl; 462 orxout(user_error) << error << endl; 463 orxout(user_error) << endl; 464 orxout(user_error) << "Call stack:" << endl; 465 orxout(user_error) << callstack << endl; 464 466 465 467 bExecuting = false; … … 467 469 else 468 470 { 469 COUT(1) << "An error occurred while writing the backtrace" << std::endl;471 orxout(user_error) << "An error occurred while writing the backtrace" << endl; 470 472 } 471 473 -
code/trunk/src/libraries/util/Singleton.h
r7904 r8858 100 100 void TestSingleton::testFunction() // implement testFunction 101 101 { 102 COUT(0) << "My value is " << this->testValue_ << std::endl;102 orxout() << "My value is " << this->testValue_ << endl; 103 103 } 104 104 -
code/trunk/src/libraries/util/Sleep.cc
r5738 r8858 34 34 35 35 #include "Sleep.h" 36 #include " Debug.h"36 #include "Output.h" 37 37 38 38 #ifdef ORXONOX_PLATFORM_WINDOWS … … 49 49 { 50 50 //if (microseconds < 1000) 51 // COUT(2) << "Warning: Windows cannot sleep less than 1ms, ignoring" << std::endl;51 // orxout(internal_warning) << "Windows cannot sleep less than 1ms, ignoring" << endl; 52 52 Sleep(microseconds / 1000); 53 53 } -
code/trunk/src/libraries/util/StringUtils.cc
r8232 r8858 79 79 for (; pos2 > 0 && (str[pos2] == ' ' || str[pos2] == '\t' || str[pos2] == '\n'); pos2--); 80 80 return str.substr(pos1, pos2 - pos1 + 1); 81 } 82 83 /// Splits a given string by a delimiter and stores it in an output vector 84 void vectorize(const std::string& str, char delimiter, std::vector<std::string>* output) 85 { 86 for (size_t start = 0, end = 0; end != std::string::npos; start = end + 1) 87 { 88 end = str.find_first_of(delimiter, start); 89 output->push_back(str.substr(start, end - start)); 90 } 81 91 } 82 92 … … 517 527 return matrix[(rows-1)*cols + cols-1]; 518 528 } 519 529 520 530 /** 521 531 @brief -
code/trunk/src/libraries/util/StringUtils.h
r8232 r8858 43 43 #include "UtilPrereqs.h" 44 44 #include <string> 45 #include <vector> 45 46 46 47 namespace orxonox … … 54 55 55 56 _UtilExport std::string removeTrailingWhitespaces(const std::string& str); 57 58 _UtilExport void vectorize(const std::string& str, char delimiter, std::vector<std::string>* output); 56 59 57 60 _UtilExport size_t getNextQuote(const std::string& str, size_t start); … … 88 91 89 92 _UtilExport unsigned int getLevenshteinDistance(const std::string& str1, const std::string& str2); 90 93 91 94 _UtilExport std::string getTimestamp(void); 92 95 } -
code/trunk/src/libraries/util/SubString.cc
r7401 r8858 45 45 #include "SubString.h" 46 46 #include <cstdio> 47 #include " Debug.h"47 #include "Output.h" 48 48 49 49 namespace orxonox … … 513 513 void SubString::debug() const 514 514 { 515 COUT(0) << "Substring-information::count=" << this->tokens_.size() << " ::";515 orxout(debug_output) << "Substring-information::count=" << this->tokens_.size() << " ::"; 516 516 for (unsigned int i = 0; i < this->tokens_.size(); ++i) 517 COUT(0) << "s" << i << "='" << this->tokens_[i].c_str() << "'::";518 COUT(0) << std::endl;517 orxout(debug_output) << "s" << i << "='" << this->tokens_[i].c_str() << "'::"; 518 orxout(debug_output) << endl; 519 519 } 520 520 } -
code/trunk/src/libraries/util/SubString.h
r8706 r8858 59 59 60 60 for (unsigned int i = 0; i < tokens.size(); ++i) 61 COUT(0) << i << ": " << tokens[i] << std::endl;61 orxout() << i << ": " << tokens[i] << endl; 62 62 @endcode 63 63 -
code/trunk/src/libraries/util/UtilPrereqs.h
r8729 r8858 88 88 class ExprParser; 89 89 class MultiType; 90 class OutputHandler;91 90 class OutputListener; 91 class OutputManager; 92 class OutputStream; 92 93 template <ScopeID::Value> 93 94 class Scope;
Note: See TracChangeset
for help on using the changeset viewer.