1. package Applications.Shell is 
  2.  
  3. private 
  4.  
  5.     type Shell_Application is abstract new Application with null record; 
  6.  
  7.     procedure Construct( this    : access Shell_Application; 
  8.                          company : String; 
  9.                          name    : String ); 
  10.  
  11.     -- Returns a string announcing the product. It is formatted as: 
  12.     -- [APPNAME] & " v[VERSION] - [COMPANY] Copyright (C) [BUILD_YEAR] 
  13.     function Get_Announce( this : access Shell_Application ) return String; 
  14.  
  15.     -- Initializes the application without a graphics window. 
  16.     function Init( this : access Shell_Application ) return Boolean; 
  17.  
  18. end Applications.Shell;