# HErrorManager

## Functions

void | `Init`
void | `Cleanup`
void | `BeginErrorIteration`
HErrorNode * | `GetNextError`
HErrorNode * | `GetLastError`
void | `DeleteLastError`
void | `ShowAllErrors`
void | `SpoolUpdateErrors`
void | `SetErrorCallback`
void | `SuppressError`
void | `Flush`
void | `SetShowDialog`
void | `SetSpoolUpdateErrors`
bool | `GetShowDialog`
void | `AllowAllErrors`
bool | `GetDialogRunning`
void | `CallbackEntryPoint`

## Detailed Description

class HErrorManager

  The HErrorManager class handles all the error messaging in MVO.

  Public Static Functions

  static void Init()

    This method initialized the error and suppression lists as well as registers the callback that handles errors that are generated by the HOOPS database.

  static void Cleanup()

    This method cleans up the error and suppression list and unregisters all callbacks.

  static void BeginErrorIteration()

    This method prepares the error handler for iteration through the error list. Call this method before making calls to GetNextError.

  static HErrorNode *GetNextError()
    Returns

      A pointer to the next error message in the error list.

  static HErrorNode *GetLastError()
    Returns

      A pointer to the last error message that was generated.

  static void DeleteLastError()

    This method remove the last error message from the error list and deletes it.

  static void ShowAllErrors()

    This method iterates through all the messages the error list and displays them to the user.

  static void SpoolUpdateErrors()

    This method iterates through the update error list which holds errors associated with #HC_Update_Display and adds those errors that should not be suppress to the main error list. Note that no errors messages can be displayed during an update. Call this method after an update has occurred to ensure that an errors that were generated during an update will be displayed.

  static inline void SetErrorCallback(void (*err)(HErrorNode*, void*), void *user_data)

    This method sets the event checker callback.

  static void SuppressError(int severity, int category, int specific)

    This method takes a given the severity, category and specific and uses this combination to suppress errors that have the corresponding values.

    Parameters

      - severity – An integer that defines the seriousness of the error as described in #HC_Define_Error_Handler.

      - categeory – An integer that dentifies the general category the error belongs to as described in #HC_Define_Error_Handler. For example, memory errors fall in the HEC_MEMORY error category.

      - specific – An integer that identifies the specific error under the category already defined as described in #HC_Define_Error_Handler. For example, running out of memory, HES_OUT_OF_MEMORY, is a specific memory error in the HEC_MEMORY category.

  static void Flush()

    This method removes all the errors from the mail error list and the update error list.

  static inline void SetShowDialog(bool s)

    This method sets the show dialog member variable.

    Parameters

      s – Pass true to show the error dialor or false not to show it.

  static inline void SetSpoolUpdateErrors(bool s)

    This method had not been implemented yet.

  static inline bool GetShowDialog()
    Returns

      True if HOOPS will show an error dialog or false if it will not.

  static void AllowAllErrors()

    This method sets the system option to turn on all error, warning and information messages. It also clear the suppress errors list.

  static inline bool GetDialogRunning()
    Returns

      True if the error dialog is currently running or false if it isn’t.

  static void CallbackEntryPoint(int category, int specific, int severity, int msgc, char const *msgv[], int stackc, char const *stackv[])

    This is the callback function that handles the errors that are generated putting the in the correct error list. Note that when Update errors are received they are not immediately put in the error list and displayed. They are put in an update error list because error messages cannot be displayed while an update is occurring. When the update is finished, call SpoolUpdateError to move the update errors into the main error list to be displayed.

    Parameters

      - severity – An integer that defines the seriousness of the error as described in #HC_Define_Error_Handler.

      - categeory – An integer that dentifies the general category the error belongs to as described in #HC_Define_Error_Handler. For example, memory errors fall in the HEC_MEMORY error category.

      - specific – An integer that identifies the specific error under the category already defined as described in #HC_Define_Error_Handler. For example, running out of memory, HES_OUT_OF_MEMORY, is a specific memory error in the HEC_MEMORY category.

      - msgc – The length of the msgv array.

      - msgv – An array of pointers to a list of messages.

      - stackc – The length of stackv.

      - stackv – An array of strings that indicates the list of methods that were called. The last being the currently active HOOPS routine and the first being the originating function.