errorhandler.cpp
Go to the documentation of this file.
00001 
00005 #include <stdio.h>      // for printf() and fprintf()
00006 #include <stdlib.h>     // for atoi() and exit()
00007 // #include <string.h>     // for memset()
00008 //#include <backward/iostream.h>        // fuer cout()
00009 #include "pthread.h"
00010 #include "sick_scan/tcp/errorhandler.hpp"
00011 #ifndef _MSC_VER
00012 #include "sick_scan/tcp/Time.hpp"
00013 #endif
00014 // Print mutex to print thread-safe
00015 pthread_mutex_t m_printMutex = PTHREAD_MUTEX_INITIALIZER;
00016 
00020 void doNothing()
00021 {
00022 }
00023 
00024 
00028 void dieWithError(std::string errorMessage)
00029 {
00030         // Mutex setzen
00031         pthread_mutex_lock(&m_printMutex);
00032         
00033         // Nachricht schreiben
00034     printError(errorMessage.c_str());
00035         
00036         // Mutex wieder freigeben
00037         pthread_mutex_unlock(&m_printMutex);
00038 
00039         // Programm abbrechen
00040     exit(1);
00041 }
00042 
00046 void infoMessage(std::string message, bool print)
00047 {
00048         if (print == true)
00049         {
00050 #ifndef _MSC_VER
00051                 Time t = Time::now();
00052 #endif  
00053                 // Mutex setzen
00054                 pthread_mutex_lock(&m_printMutex);
00055                 
00056                 // Nachricht schreiben
00057 #ifndef _MSC_VER
00058                 printf("%s ", t.toString().c_str());
00059 #endif  
00060                 printf ("Info: %s\n", message.c_str());
00061                 fflush(0);
00062 
00063                 // Mutex wieder freigeben
00064                 pthread_mutex_unlock(&m_printMutex);
00065         }
00066 }
00067 
00068 
00069 
00070 //
00071 // Warnungs-Text auf die Ausgabe schreiben.
00072 //
00073 void printWarning(std::string message)
00074 {
00075 #ifndef _MSC_VER
00076         Time t = Time::now();
00077 #endif  
00078         // Mutex setzen
00079         pthread_mutex_lock(&m_printMutex);
00080                 
00081 #ifndef _MSC_VER
00082         printf ("%s ", t.toString().c_str());
00083 #endif
00084         printf ("Warning: %s\n", message.c_str());
00085         fflush(0);
00086                 
00087         // Mutex wieder freigeben
00088         pthread_mutex_unlock(&m_printMutex);
00089 }
00090 
00091 //
00092 // Fehler-Text auf die Ausgabe schreiben.
00093 //
00094 void printError(std::string message)
00095 {
00096 #ifndef _MSC_VER
00097         Time t = Time::now();
00098 #endif  
00099         
00100         // Mutex setzen
00101         pthread_mutex_lock(&m_printMutex);
00102                 
00103 #ifndef _MSC_VER
00104         printf("%s ", t.toString().c_str());
00105 #endif
00106         printf ("ERROR: %s\n", message.c_str());
00107         fflush(0);
00108         
00109         // Mutex wieder freigeben
00110         pthread_mutex_unlock(&m_printMutex);
00111 }


sick_scan
Author(s): Michael Lehning , Jochen Sprickerhof , Martin Günther
autogenerated on Tue Jul 9 2019 05:05:34