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) ;
FILE * filePointer() const
Get current file pointer.
std::string source_
Current source of message.
void setExternalNumber(int number)
Set message ID number.
char * format_
Format string for message (remainder)
void replaceMessage(const char *message)
Replace message text (e.g., text in a different language)
int internalNumber_
Internal number for use with enums.
#define COIN_NUM_LOG
Log levels will be by type and will then use type given in CoinMessage::class_.
int printStatus_
0 - Normal.
CoinOneMessage & operator=(const CoinOneMessage &)
assignment operator.
int externalNumber_
number to print out (also determines severity)
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_
double doubleValue(int position) const
Values of double fields already processed.
int logLevel() const
Get current log (detail) level.
std::string stringValue(int position) const
Values of string fields already processed.
int numberIntFields() const
Number of integer fields already processed.
Language language_
Language.
int externalNumber() const
Get message ID number.
int numberDoubleFields() const
Number of double fields already processed.
char message_[400]
Messages (in correct language) (not all 400 may exist)
int numberCharFields() const
Number of char fields already processed.
CoinOneMessage currentMessage_
Current message.
CoinOneMessage currentMessage() const
Current message.
CoinOneMessage ** message_
Messages.
int numberStringFields() const
Number of string fields already processed.
char severity() const
Severity.
int highestNumber_
Highest message number (indicates any errors)
std::string currentSource() const
Source of current message.
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 getClass() const
Returns class.
int highestNumber() const
Highest message number (indicates any errors)
int intValue(int position) const
Values of integer fields already processed.
Language
Supported languages.
int detail() const
Get detail level.
Language language() const
Language.
int logLevel(int which) const
Get alternative log level.
std::ostream & operator<<(std::ostream &s, const CoinParam ¶m)
A stream output function for a CoinParam object.
char * message() const
Return the message text.
char detail_
Will only print if detail matches.
char charValue(int position) const
Values of char fields already processed.
CoinOneMessage()
Default constructor.
~CoinOneMessage()
Destructor.
const char * messageBuffer() const
Output buffer.
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.