6 #ifndef CoinMessageHandler_H 7 #define CoinMessageHandler_H 99 {
detail_=
static_cast<char> (level);}
173 {language_ = newlanguage;}
175 void setDetailMessage(
int newLevel,
int messageNumber);
183 void setDetailMessages(
int newLevel,
int numberMessages,
184 int * messageNumbers);
186 void setDetailMessages(
int newLevel,
int low,
int high);
336 virtual int print() ;
339 virtual void checkSeverity() ;
382 void setLogLevel(
int value);
385 {
return logLevels_[which];}
390 void setLogLevel(
int which,
int value);
393 void setPrecision(
unsigned int new_precision);
398 void setPrefix(
bool yesNo);
407 {
return doubleValue_[position];}
413 {
return static_cast<int>(doubleValue_.size());}
420 {
return longValue_[position];}
426 {
return static_cast<int>(longValue_.size());}
433 {
return charValue_[position];}
439 {
return static_cast<int>(charValue_.size());}
446 {
return stringValue_[position];}
452 {
return static_cast<int>(stringValue_.size());}
456 {
return currentMessage_;}
462 {
return messageBuffer_;}
465 {
return highestNumber_;}
521 #if COIN_BIG_INDEX==1 528 #if COIN_BIG_INDEX==2 586 #define COIN_NUM_LOG 4 587 #define COIN_MESSAGE_HANDLER_MAX_BUFFER_SIZE 1000 592 std::vector<double> doubleValue_;
643 char *nextPerCent(
char *start,
const bool initial =
false) ;
649 int internalPrint() ;
652 void calcPrintStatus(
int msglvl,
int msgclass) ;
int numberDoubleFields() const
Number of double fields already processed.
std::string source_
Current source of message.
void setExternalNumber(int number)
Set message ID number.
char * format_
Format string for message (remainder)
int numberStringFields() const
Number of string fields already processed.
void replaceMessage(const char *message)
Replace message text (e.g., text in a different language)
int internalNumber_
Internal number for use with enums.
int numberIntFields() const
Number of integer fields already processed.
#define COIN_NUM_LOG
Log levels will be by type and will then use type given in CoinMessage::class_.
int getClass() const
Returns class.
char charValue(int position) const
Values of char fields already processed.
int printStatus_
0 - Normal.
char severity() const
Severity.
CoinOneMessage & operator=(const CoinOneMessage &)
assignment operator.
CoinOneMessage currentMessage() const
Current message.
int externalNumber_
number to print out (also determines severity)
FILE * filePointer() const
Get current file pointer.
Language language() const
Language.
int class_
Class - see later on before CoinMessageHandler.
Base class for message handling.
std::vector< char > charValue_
void setDetail(int level)
Set detail level.
int lengthMessages_
Length of fake CoinOneMessage array.
void setLanguage(Language newlanguage)
Set language.
std::vector< std::string > stringValue_
const char * messageBuffer() const
Output buffer.
std::string stringValue(int position) const
Values of string fields already processed.
int intValue(int position) const
Values of integer fields already processed.
Language language_
Language.
double doubleValue(int position) const
Values of double fields already processed.
char message_[400]
Messages (in correct language) (not all 400 may exist)
CoinOneMessage currentMessage_
Current message.
int highestNumber() const
Highest message number (indicates any errors)
CoinOneMessage ** message_
Messages.
int numberCharFields() const
Number of char fields already processed.
int highestNumber_
Highest message number (indicates any errors)
std::vector< int > longValue_
int g_precision_
Current number of significant digits for floating point numbers.
bool CoinMessageHandlerUnitTest()
A function that tests the methods in the CoinMessageHandler class.
int logLevel(int which) const
Get alternative log level.
char * message() const
Return the message text.
Language
Supported languages.
std::ostream & operator<<(std::ostream &s, const CoinParam ¶m)
A stream output function for a CoinParam object.
int logLevel() const
Get current log (detail) level.
char detail_
Will only print if detail matches.
std::string currentSource() const
Source of current message.
CoinOneMessage()
Default constructor.
int detail() const
Get detail level.
int externalNumber() const
Get message ID number.
~CoinOneMessage()
Destructor.
int prefix_
Whether we want prefix (may get more subtle so is int)
char * messageOut_
Position in output buffer.
Class to hold and manipulate an array of massaged messages.
Class for one massaged message.
void setFilePointer(FILE *fp)
Set new file pointer.
#define COIN_MESSAGE_HANDLER_MAX_BUFFER_SIZE
Maximum length of constructed message (characters)
int precision()
Current number of significant digits for printing floating point numbers.