--------------------------------------------------------------------------------
--                                                                            --
-- Copyright (C) 2004, RISC OS Ada Library (RASCAL) developers.               --
--                                                                            --
-- This library is free software; you can redistribute it and/or              --
-- modify it under the terms of the GNU Lesser General Public                 --
-- License as published by the Free Software Foundation; either               --
-- version 2.1 of the License, or (at your option) any later version.         --
--                                                                            --
-- This library is distributed in the hope that it will be useful,            --
-- but WITHOUT ANY WARRANTY; without even the implied warranty of             --
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU           --
-- Lesser General Public License for more details.                            --
--                                                                            --
-- You should have received a copy of the GNU Lesser General Public           --
-- License along with this library; if not, write to the Free Software        --
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA    --
--                                                                            --
--------------------------------------------------------------------------------

-- @brief StrongED related types and methods.
-- $Author$
-- $Date$
-- $Revision$

with RASCAL.OS;      use RASCAL.OS;
with Interfaces.C;   use Interfaces.C;

package RASCAL.StrongED is

   --
   -- StrongED will insert the text at the cursor position on receiving this message. 
   --
   type Message_StrongEDInsertText is
   record
   Header         : Message_Event_Header;
   Text_Length    : Integer;
   Text           : Char_Array(1..230);
   end record;
   pragma Convention (C,Message_StrongEDInsertText);

   type Message_StrongEDInsertText_Pointer is access Message_StrongEDInsertText;

   type AMEL_Message_StrongEDInsertText is abstract new
        Message_EventListener(Message_Event_StrongEDInsertText) with
   record
   Event : Message_StrongEDInsertText;
   end record;


   --
   -- This message is used to notify StrongED that a ModeFile has been changed.
   --StrongED will reload the modefile on receiving this message.  
   --
   type Message_StrongEDModeFileChanged is
   record
   Header         : Message_Event_Header;
   Pathname       : Char_Array(1..512);
   end record;
   pragma Convention (C, Message_StrongEDModeFileChanged);

   type Message_StrongEDModeFileChanged_Pointer is access Message_StrongEDModeFileChanged;

   type AMEL_Message_StrongEDModeFileChanged is abstract new
        Message_EventListener(Message_Event_StrongEDModeFileChanged) with
   record
   Event : Message_StrongEDModeFileChanged_Pointer;
   end record;

private
end RASCAL.StrongED;