# HImManager

## Functions

| `HImManager`
| `~HImManager`
void | `RegisterCallbacks`
void | `RegisterOneCallback`
void | `SetCallback`
void | `SetCallback`
void | `UnSetOneCallback`
void | `UnSetOneCallback`
void | `ShowCallback`
HImManager * | `GetCurrentHImManager`

## Detailed Description

class HImManager

  The HImManager class serves as a manager for IM callbacks.

  HImManager is created on demand by HDB and should be accessed with the HIm macro’s rather than directly with function calls. These should be used instead of HIC_ calls to allow MVO to function correctly.

  This class is currently not much more than a wrapper over HIC_ calls. But should be used because future features may require it.

  See HIC_ documentation for greater understanding of HOOPS IM in general.

  Public Functions

  HImManager()
  virtual ~HImManager()
  virtual void RegisterCallbacks()

    This sets the default MVO callbacks.

  virtual void RegisterOneCallback(const char *callback_name, void *callback)

    This method sets one callback. It should not be used directly but through the HImRegisterCallback macro instead.

    Parameters

      - callback_name – A null terminated string with the callback name.

      - callback – A pointer to the callback function cast to a void *

  virtual void SetCallback(HC_KEY segment_key, const char *callback_type, const char *callback_name)

    This is a wrapper around #HC_Set_Callback(). It should not be used directly but through the HImRegisterCallbackByKey macro instead.

    Parameters

      - segment_key – A segment to set the callback on.

      - callback_type – A null terminated string with the callback type these are documented with HIC.

      - callback_name – A null terminated string with the callback name.

  virtual void SetCallback(const char *callback_type, const char *callback_name)

    This is a wrapper around #HC_Set_Callback(). It should not be used directly but through the HImRegisterCallback macro instead. This sets the callback in the currently open segment.

    Parameters

      - callback_type – A null terminated string with the callback type these are documented with HIC.

      - callback_name – A null terminated string with the callback name.

  virtual void UnSetOneCallback(HC_KEY segment_key, const char *callback_type)

    This is a wrapper around #HC_Set_Callback(). It should not be used directly but through the HImUnSetOneCallbackByKey macro instead.

    Parameters

      - segment_key – A segment to unset the callback on.

      - callback_type – A null terminated string with the callback type these are documented with HIC.

  virtual void UnSetOneCallback(const char *callback_type)

    This is a wrapper around #HC_Set_Callback(). It should not be used directly but through the HImUnSetOneCallback macro instead.

    Parameters

      callback_type – A null terminated string with the callback type these are documented with HIC.

  virtual void ShowCallback(const char *callback_type, char *callback)

    This is a wrapper around #HC_Set_Callback(). It should not be used directly but thought the HImShowOneCallback macro instead. It operates on the curently open segment.

    Parameters

      - callback_type – A null terminated string with the callback type these are documented with HIC.

      - callback – This is a write back string with the currently set callback for specified type

  Public Static Functions

  static HImManager *GetCurrentHImManager()

    This HImManager::GetCurrentHImManager() will create a HImManager if none exists.

    Returns

      A pointer to the current HImManager set on HDB.