-- main is main file of main project written with Ada.
-- Main is Copyright (C) 2025 Manuel De Girardi ; 
--
--   This program is free software; you can redistribute it and/or modify
--   it under the terms of the GNU General Public License as published by
--   the Free Software Foundation; either version 2 of the License, or
--   (at your option) any later version.
--
--   This program 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 General Public License for more details.
--
--   You should have received a copy of the GNU General Public License
--   along with this program; if not, write to the Free Software
--   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
--
-- Date := 2026-09-17 22:48:46 ; 
-- Version := 0.38.0a ; 
with M.Strings;
use M.Strings;
with Gnat.Os_Lib;
use Gnat.OS_Lib;
package M.Types is
   
   
   subtype Rank_Range is natural range Natural'First .. 10 ; 
   
   
   -- Audit type is used by m-server from webspir C. G. I. .
   type Audit_Type is
      record
	 Logname : Wide_Access;
	 Pgr_Name : String_Access;
	 Installation : String_Access;
	 Utilisation : String_Access;
	 Ergonomy : String_Access;
	 Rank : Rank_Range := 0;
      end record;
   
   
   type Audits_counter_Type is
      record
	 Count    : Integer := 0;
	 Pgr_Name : String_Access;
	 Beginner : Integer := 0;
	 advanced : Integer := 0;
	 expert : Integer := 0;
	 easy : Integer := 0;
	 difficult : Integer := 0;
	 simple : Integer := 0;
	 detailed : Integer := 0;
	 complex : Integer := 0;
	 Rank    : integer := 0;
      end record;
   
   type Rate_Type is delta 0.01 digits 5 range 0.0 .. 100.0;
   
   
   
   type Audits_Stat_Type is
      record
	 Pgr_Name : String_Access;
	 Beginner : Rate_Type := 0.0;
	 advanced : Rate_Type := 0.0;
	 expert : Rate_Type := 0.0;
	 easy : Rate_Type := 0.0;
	 difficult : Rate_Type := 0.0;
	 simple : Rate_Type := 0.0;
	 detailed : Rate_Type := 0.0;
	 complex : Rate_Type := 0.0;
	 Rank    : float := 0.0;
      end record;
end M.Types ;