XPRS_ge_addcbmsghandler
XPRS_ge_addcbmsghandler |
Purpose
Declares an output
callback function in the global environment, called every time a line of message text is output by any object in the library. This callback function will be called in addition to any output callbacks already added by
XPRS_ge_addcbmsghandler.
Synopsis
int XPRS_CC XPRS_ge_addcbmsghandler(int (XPRS_CC *f_msghandler)(XPRSobject vXPRSObject, void * vUserContext, void * vSystemThreadId, const char * sMsg, int iMsgType, int iMsgNumber), void *object, int priority);
Arguments
f_msghandler
|
The callback function which takes six arguments,
vXPRSObject,
vUserContext,
vSystemThreadId,
sMsg,
iMsgType and
iMsgNumber. Use a NULL value to cancel a callback function.
|
||||||||
vXPRSObject
|
The object sending the message. Use
XPRSgetobjecttypename to get the name of the object type.
|
||||||||
vUserContext
|
The user-defined object passed to the callback function.
|
||||||||
vSystemThreadId
|
The system id of the thread sending the message cast to a
void *.
|
||||||||
sMsg
|
A null terminated character array (string) containing the message, which may simply be a new line. When the callback is called for the first time
sMsg will be a NULL pointer.
|
||||||||
iMsgType
|
Indicates the type of output message:
When the callback is called for the first time
iMsgType will be a negative value.
|
||||||||
iMsgNumber
|
The number associated with the message. If the message is an error or a warning then you can look up the number in the section Optimizer Error and Warning Messages for advice on what it means and how to resolve the associated issue.
|
||||||||
object
|
A user-defined object to be passed to the callback function.
|
||||||||
priority
|
An integer that determines the order in which multiple message handler callbacks will be invoked. The callback added with a higher priority will be called before a callback with a lower priority. Set to 0 if not required.
|
Further information
To send all messages to a log file the built in message handler
XPRSlogfilehandler can be used. This can be done with:
XPRS_ge_addcbmsghandler(XPRSlogfilehandler, "log.txt", 0);
Related topics