EmergencyHandler

class HPS.EmergencyHandler : public IDisposable

The EmergencyHandler class is the base class for an custom EmergencyHandler. An EmergencyHandler allows the developer to provide custom logic to handle ‘emergency’ situations. For example, one can set a soft memory limit using HPS.Database.SetSoftMemoryLimit. If that limit is hit, Visualize will call the EmergencyHandler.

An EmergencyHandler is set by calling HPS.Database.SetEmergencyHandler. Only one EmergencyHandler can be set on the Database. If you try to set a second handler, the first one will be overwritten.

The default emergency handler will print a few diagnostics to stdout (when run in debug mode), but will make no attempt to recover from the emergency condition.

Subclassed by HPS.EmergencyHandler.EmergencyHandlerUnknown

Public Functions

void Dispose ()
delegate void DtorDelegate (IntPtr cPtr)
EmergencyHandler ()

A constructor for an EmergencyHandler.

EmergencyHandler (HPS.EmergencyHandler in_that)
IntPtr GetClassID ()

Returns a unique identifier that is shared by all objects of the same class.

abstract void Handle (string message, HPS.Emergency.Code code)

Visualize will call the EmergencyHandler.Handle method if any of the handler-enabling conditions are reached. The Emergency.Code value describes the type of condition. IMPORTANT: calling any Visualize API from your EmergencyHandler.Handle function (for any emergency code) may cause a deadlock.