mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-05-15 22:11:17 +08:00
56 lines
2.2 KiB
Plaintext
Executable File
56 lines
2.2 KiB
Plaintext
Executable File
-- File: Standard_ErrorHandlerCallback.cdl
|
|
-- Created: Thu Apr 13 11:17:05 2006
|
|
-- Author: Andrey BETENEV
|
|
---Copyright: Open CASCADE SAS 2006
|
|
|
|
deferred class ErrorHandlerCallback from Standard
|
|
|
|
---Purpose: Defines a base class for callback objects that can be registered
|
|
-- in the OCC error handler (the class simulating C++ exceptions)
|
|
-- so as to be correctly destroyed when error handler is activated.
|
|
--
|
|
-- Note that this is needed only when Open CASCADE is compiled with
|
|
-- NO_CXX_EXCEPTION or OCC_CONVERT_SIGNALS options (i.e. on UNIX/Linux).
|
|
-- In that case, raising OCC exception and/or signal will not cause
|
|
-- C++ stack unwinding and destruction of objects created in the stack.
|
|
--
|
|
-- This class is intended to protect critical objects and operations in
|
|
-- the try {} catch {} block from being bypassed by OCC signal or exception.
|
|
--
|
|
-- Inherit your object from that class, implement DestroyCallback() function,
|
|
-- and call Register/Unregister in critical points.
|
|
--
|
|
-- Note that you must ensure that your object has life span longer than
|
|
-- that of the try {} block in which it calls Register().
|
|
|
|
is
|
|
|
|
Initialize returns ErrorHandlerCallback;
|
|
---Purpose: Empty constructor
|
|
---C++: inline
|
|
|
|
RegisterCallback (me: in out);
|
|
---Purpose: Registers this callback object in the current error handler
|
|
-- (if found).
|
|
---C++: inline
|
|
|
|
UnregisterCallback (me: in out);
|
|
---Purpose: Unregisters this callback object from the error handler.
|
|
---C++: inline
|
|
---C++: alias "virtual Standard_EXPORT ~Standard_ErrorHandlerCallback ();"
|
|
|
|
DestroyCallback (me: in out) is deferred;
|
|
---Purpose: The callback function to perform necessary callback action.
|
|
-- Called by the exception handler when it is being destroyed but
|
|
-- still has this callback registered.
|
|
|
|
fields
|
|
|
|
myHandler: Address from Standard; -- Pointer to the error handler
|
|
myPrev, myNext: Address from Standard; -- Pointers to the previous and next callback objects
|
|
|
|
friends
|
|
class ErrorHandler
|
|
|
|
end ErrorHandlerCallback;
|