00001 // Copyright (C) GAMS Development 2006-2008 00002 // All Rights Reserved. 00003 // This code is published under the Common Public License. 00004 // 00005 // $Id: GamsMessageHandler.hpp 510 2008-08-16 19:31:27Z stefan $ 00006 // 00007 // Authors: Michael Bussieck, Stefan Vigerske 00008 00009 #ifndef GamsMessageHandler_H 00010 #define GamsMessageHandler_H 00011 00012 #include "GAMSlinksConfig.h" 00013 00014 #include "CoinPragma.hpp" 00015 #include "CoinMessageHandler.hpp" 00016 00017 #include "GamsHandler.hpp" 00018 00019 #ifdef CBC_THREAD 00020 #include <pthread.h> 00021 #endif 00022 00026 class GamsMessageHandler : public CoinMessageHandler { 00027 public: 00031 GamsMessageHandler(GamsHandler& gams_); 00032 00035 ~GamsMessageHandler(); 00036 00039 inline void setRemoveLBlanks(int rm) { rmlblanks_ = rm; } 00040 00044 void setCurrentDetail(int detail); 00045 00049 int getCurrentDetail() const; 00050 00057 int print(); 00058 00061 CoinMessageHandler* clone() const { return new GamsMessageHandler(gams); } 00062 00063 private: 00064 GamsHandler& gams; 00065 int rmlblanks_; 00066 #ifdef CBC_THREAD 00067 pthread_mutex_t print_mutex; 00068 #endif 00069 }; 00070 00071 #endif // GamsMessageHandler_H