----------------------------------------------------------------------- -- asf-events-exceptions -- Exceptions Events -- Copyright (C) 2011 Stephane Carrez -- Written by Stephane Carrez (Stephane.Carrez@gmail.com) -- SPDX-License-Identifier: Apache-2.0 ----------------------------------------------------------------------- with Util.Events; with Ada.Exceptions; with Ada.Containers.Vectors; package ASF.Events.Exceptions is -- ------------------------------ -- Exception event -- ------------------------------ -- The Exception_Event represents an exception that is raised while processing -- a request. If is posted by the ASF framework when an unhandled exception is caught. -- An application can also publish such event when necessary. -- -- After each lifecycle phase, the exception handler is invoked to process the -- Exception_Event that have been queued. type Exception_Event is new Util.Events.Event with record Ex : Ada.Exceptions.Exception_Occurrence; end record; type Exception_Event_Access is access all Exception_Event'Class; -- Get the exception name. function Get_Exception_Name (Event : in Exception_Event) return String; -- Get the exception name. function Get_Exception_Message (Event : in Exception_Event) return String; -- Create an exception event with the given exception. function Create_Exception_Event (Ex : in Ada.Exceptions.Exception_Occurrence) return Exception_Event_Access; package Event_Vectors is new Ada.Containers.Vectors (Index_Type => Positive, Element_Type => Exception_Event_Access); subtype Exception_Event_Vector is Event_Vectors.Vector; subtype Exception_Event_Cursor is Event_Vectors.Cursor; end ASF.Events.Exceptions;