346 const char* libraryPrefix,
348 const char* functionName,
350 const char* handling,
370 const char* libraryPrefix,
MLint32 MLErrorCode
Type of an ML Error code.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
MLTerminator
Termination types for error handling.
MLMemoryErrorHandling
Enumerator to specify memory error handling.
MLuint64 MLuint
An unsigned ML integer type with at least 64 bits used for index calculations on very large images ev...
void MLEventFilterApplicationHookCB(void *applicationUsrData, MLEventFilterApplicationMessage type, MLEventFilterCB *cb, void *usrData, MLuint32 fromMessageId, MLuint32 toMessageId)
Internal application event filter callback type.
INT64 MLint64
Include 64 bit integer support for Windows or Unix.
void MLMessageCB(void *usrData, MLErrorCode errCode, MLMessageType messageType, const char *messStr, int line, const char **infos)
Handling/setting/getting of ML messages callbacks.
MLint32 MLEventFilterCB(void *usrData, void *event)
Callback function type for events that are passed to the user.
MLMessageType
Message types handled by the ErrorOutput class.
#define ML_UTILS_EXPORT
Defines platform dependent DLL export macro for mlUtils.
ML_UTILS_EXPORT size_t MLDebugGetNumEnvNames()
Returns number of registered debug environment names.
ML_UTILS_EXPORT const char * MLTerminatorStrings[MLNumTerminators]
Strings for MLTerminator enumeration.
ML_UTILS_EXPORT MLThreadId MLGetCurrentThreadID()
Returns the thread id for the current thread.
ML_UTILS_EXPORT void MLRemoveEventFilterCB(MLEventFilterCB *cb, void *usrData)
Removes the callback that was added with MLAddEventFilterCB by calling a hook function registered by ...
ML_UTILS_EXPORT MLint32 MLIsCurrentThreadMainThread()
Returns if the current thread equals the main thread (MLGetMainThreadID() == MLGetCurrentThreadID)
ML_UTILS_EXPORT void MLSetTraceDumpMessageBits(MLuint32 messageBitMask)
Sets the trace dump mask to messageBitMask.
ML_UTILS_EXPORT void MLAddEventFilterCB(MLEventFilterCB *cb, void *usrData, MLuint32 fromMessageId, MLuint32 toMessageId)
Adds a user callback cb to the native window event handler that is called for every window message.
ML_UTILS_EXPORT const char * MLGetErrorCodeDescription(MLErrorCode errCode)
String names for each error code.
ML_UTILS_EXPORT MLint32 MLDebugHasEnvName(const char *envName)
Returns true (=1) if the debug environment name given by the null terminated string envName exists.
ML_UTILS_EXPORT void MLPrintAndNotify(MLMessageType messageType, const char *libraryPrefix, const char *fPrefix, const char *functionName, const char *reason, const char *handling, const char *file, int line, MLErrorCode errCode)
Core error printing function which can be used by other applications.
ML_UTILS_EXPORT void MLSetApplicationPropertiesHook(MLApplicationPropertyCallbacks *callbacks)
Sets the callbacks to supply access to properties of the host application, the passed struct is copie...
ML_UTILS_EXPORT MLuint32 MLIsFullDebuggingEnabled()
Returns 1 if full debugging is enabled, otherwise 0 is returned.
ML_UTILS_EXPORT MLuint32 MLGetMessageFilter()
Returns the bit mask specifying the message filter which is composed from binary ORed MLMessageTypes ...
ML_UTILS_EXPORT void MLMakeLittleEndian(unsigned char *data, size_t numBytes, size_t dTypeSize)
If the data set pointed to by data of size numBytes consisting of a dTypeSize'd data type which is in...
ML_UTILS_EXPORT MLuint32 MLGetRandomNumber()
Get a (weak) random number in the range 0 to 2^32-2.
ML_UTILS_EXPORT MLint32 MLUtilsDestroy()
Destroys MLUtils library. Returns 0 on error, 1 on success.
ML_UTILS_EXPORT MLEventFilterApplicationHookCB * MLGetEventFilterApplicationHookCB()
Returns the current MLEventFilterApplicationHookCB.
ML_UTILS_EXPORT MLuint32 MLIsExceptionHandlingEnabled()
Returns 1 if exception handling is enabled, otherwise 0 is returned.
ML_UTILS_EXPORT void MLDebugRemoveEnvName(const char *envName)
Removes a registered debug environment string given by the null terminated string envName.
ML_UTILS_EXPORT MLint32 MLIsUtilsInitialized()
Returns 1 if mlUtils is initialized, 0 otherwise.
ML_UTILS_EXPORT void * MLAlloc(MLuint numBytes, MLMemoryErrorHandling handleFailure)
Allocates a memory block of numBytes.
ML_UTILS_EXPORT void MLHandleDebugPrint(const char *envVar, const char *libraryPrefix, const char *outStr, const char *file, int line)
Core debug printing function which can be used by other applications.
ML_UTILS_EXPORT void MLSetMaxNumTraceStackDumps(MLuint32 numMaxEntries)
Sets the maximum number of trace stack entries to be shown on fatal error outputs to numMaxEntries.
ML_UTILS_EXPORT const char *const * MLGetErrorCodeDescriptionTable()
Returns the table of available error code descriptions.
ML_UTILS_EXPORT void * MLRealloc(void *ptr, MLuint numBytes, MLMemoryErrorHandling handleFailure)
The memory block pointed to by ptr is resized and copied so that it has at least numBytes.
ML_UTILS_EXPORT char * MLInt64ToStringCopy(MLint64 int64Value)
Returns a 64 bit integer value int64Value as C-String.
ML_UTILS_EXPORT MLuint32 MLGetMaxNumTraceListDumps()
Returns the maximum number of trace list entries to be shown on fatal error outputs.
ML_UTILS_EXPORT void MLDebugAddEnvName(const char *envName)
Adds the debug environment string given by the null terminated string envName.
ML_UTILS_EXPORT void MLSetTerminationType(MLMessageType level, MLTerminator term)
Sets the way the ML shall handle messages.
ML_UTILS_EXPORT MLuint32 MLGetMaxNumTraceStackDumps()
Returns the maximum number of trace stack entries to be shown on fatal error outputs.
ML_UTILS_EXPORT MLuint32 MLGetCheckBitMask()
Returns the bit mask specifying runtime and final checks of the ML; the default is 0 = no active chec...
ML_UTILS_EXPORT void MLSetEventFilterApplicationHook(MLEventFilterApplicationHookCB *cb, void *usrData)
Sets an application hook function cb which is called for each MLAddEventFilterCB and MLRemoveEventFil...
ML_UTILS_EXPORT MLint32 MLIsMultithreadingActive()
Returns true if more than one ML thread is running, otherwise false.
ML_UTILS_EXPORT MLint32 MLSetNotifyEnabled(MLint32 flag)
Enable(flag == 1) / Disable (flag ==0) the internal state change notifications (MLNotify),...
ML_UTILS_EXPORT MLErrorCode MLFindErrorCodeDescription(const char *errorString)
Returns the error code for an error string errorString.
ML_UTILS_EXPORT void MLMakeBigEndian(unsigned char *data, size_t numBytes, size_t dTypeSize)
If the data set pointed to by data of size numBytes consisting of a dTypeSize'd data type which is in...
ML_UTILS_EXPORT void MLSetMaxNumTraceListDumps(MLuint32 numMaxEntries)
Sets the maximum number of trace list entries to be shown on fatal error outputs to numMaxEntries.
ML_UTILS_EXPORT MLThreadId MLGetMainThreadID()
Returns the thread id of the main thread (which is the thread from which the DLL was loaded)
ML_UTILS_EXPORT void MLDebugRemoveAllEnvNames()
Removes all registered debug environment strings from list.
ML_UTILS_EXPORT void MLSetThreadName(const char *threadName)
Set the name of the thread for debugging purposes (currently only implemented on Windows & OSX)
ML_UTILS_EXPORT char * MLIntToStringCopy(int intValue)
Returns an integer value intValue as C-String.
ML_UTILS_EXPORT void MLSetCheckBitMask(MLuint32 bitMask)
Enables/disables runtime and final checks in the ML; see MLCheckBits enumerator in mlTypeDefs....
ML_UTILS_EXPORT void MLSetMessageCB(void *userData, MLMessageCB *callback)
Registers an MLMessage callback callback and a user data pointer userData.
ML_UTILS_EXPORT void MLSetMainThreadID(MLThreadId threadId)
Sets the thread id that is considered to be the main thread id (WARNING: this should typically never ...
ML_UTILS_EXPORT MLint32 MLInitializeUtils()
Initializes library. returns 0 on error, 1 on success.
ML_UTILS_EXPORT MLTerminator MLGetTerminationType(MLMessageType level)
Returns the way the ML shall handle messages.
ML_UTILS_EXPORT const char * MLDebugGetEnvName(MLuint32 envNameIdx)
Get pointer to nth debug environment name.
ML_UTILS_EXPORT MLuint32 MLGetTraceDumpMessageBits()
Returns the trace dump bit mask.
ML_UTILS_EXPORT MLErrorCode MLEnableFullDebugging(MLuint32 enable)
If enable is 1, all debug messages are handled by the ML errorOutput and passed to the output channel...
ML_UTILS_EXPORT MLThreadId _MLMainThreadId
The thread id that the ML considers to be the main thread, it is exported for performance reasons and...
ML_UTILS_EXPORT void * MLGetEventFilterApplicationHookCBUserData()
Returns the user data for the current MLEventFilterApplicationHookCB.
ML_UTILS_EXPORT const MLApplicationPropertyCallbacks * MLGetApplicationPropertiesHook()
Returns access to the application property callbacks.
ML_UTILS_EXPORT char * MLStrDup(const char *str, MLMemoryErrorHandling handleFailure)
Copies the passed null terminated string str in a newly allocated buffer which must be freed by the c...
ML_UTILS_EXPORT MLuint32 MLGetNumErrorCodes()
Returns the number of available error codes.
ML_UTILS_EXPORT void MLSetMessageFilter(MLuint32 messageTypes)
Sets messages to be handled by MLErrorOutput as set bits in messageType.
ML_UTILS_EXPORT int MLSetHighPrecisionMessageTimeStampsEnabled(int enabled)
Sets if high precision message time stamps, which provide microseconds, are enabled.
ML_UTILS_EXPORT char * MLDoubleToStringCopy(double doubleValue)
Returns a double value doubleValue as C-String.
ML_UTILS_EXPORT void MLFreeMemoryManagerCallback(void *ptr, const size_t size, void *userData)
ML_UTILS_EXPORT void MLPrintAndNotifyFatal(const char *file, int line, MLErrorCode errCode)
Like MLPrintAndNotify, where messageType is ML_FATAL, libraryPrefix is "ML", fPrefix,...
ML_UTILS_EXPORT MLint32 MLCompareThreadIDs(const MLThreadId &id1, const MLThreadId &id2)
Returns 1 if the thread ids id1 and id2 reference the same thread, 0 otherwise.
ML_UTILS_EXPORT void * MLStringToPtr(const char *valueString, int postError, const char *errFunc)
Converts the valueString to a 32 or 64 bit pointer if possible by parsing it a 64 bit unsigned intege...
ML_UTILS_EXPORT void MLSwapBytes(unsigned char *data, size_t numBytes, size_t dTypeSize)
Takes numBytes starting at position data and swaps byte 0 with byte numBytes - 1, byte 1 with numByte...
ML_UTILS_EXPORT void MLGetMessageCB(void **userData, MLMessageCB **callback)
Get the currently registered message callback.
ML_UTILS_EXPORT MLint32 MLIsNotifyEnabled()
Returns 1 if MLNotify is enabled, 0 otherwise.
ML_UTILS_EXPORT void * MLMemDup(const void *src, MLuint numBytes, MLMemoryErrorHandling handleFailure)
Copies the memory pointed to by src of size numBytes in a newly allocated buffer which must be freed ...
ML_UTILS_EXPORT MLErrorCode MLAddNewErrorCodeDescription(const char *errorString)
Adds a new (null terminated) error code errorString to the existing error codes and return a positive...
ML_UTILS_EXPORT void _MLSetMultithreadingActive(MLint32 isActive)
Pass 1 to specify that more than one ML thread is running, otherwise pass 0.
ML_UTILS_EXPORT MLErrorCode MLEnableExceptionHandling(MLuint32 enable)
If 1 is passed, exception handling is activated, if 0 is passed, exception catching is disabled.
ML_UTILS_EXPORT MLint32 MLIsLittleEndian()
Returns 1(=true) if machine is little endian; otherwise 0(=false) is returned.
ML_UTILS_EXPORT void MLFree(void *ptr)
Free function to be use instead of free if code is written which uses/bases on the ML.
Defines all callbacks that an application has to support for property access.