/usr/share/ada/adainclude/alog/alog-policy_db.adb is in libalog0.4.1-base-dev 0.4.1-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | --
-- Copyright (c) 2009,
-- Reto Buerki, Adrian-Ken Rueegsegger
--
-- This file is part of Alog.
--
-- Alog 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.
--
-- Alog 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 Alog; if not, write to the Free Software
-- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-- MA 02110-1301 USA
--
package body Alog.Policy_DB is
Current_Default_Loglevel : Log_Level := Alog_Default_Level;
-- Current default loglevel.
Ident_Levels : Maps.Wildcard_Level_Map;
-- Identifier based loglevels.
-------------------------------------------------------------------------
function Accept_Dst
(Identifier : String;
Level : Log_Level)
return Boolean
is
use type Alog.Maps.Cursor;
Position : Maps.Cursor;
begin
Position := Ident_Levels.Lookup (Key => Identifier);
if Position /= Maps.No_Element then
return Level >= Maps.Element (Position => Position);
end if;
return True;
end Accept_Dst;
-------------------------------------------------------------------------
function Accept_Src
(Identifier : String := "";
Level : Log_Level)
return Boolean
is
begin
return Level >= Lookup (Identifier => Identifier);
end Accept_Src;
-------------------------------------------------------------------------
function Get_Default_Loglevel return Log_Level is
begin
return Current_Default_Loglevel;
end Get_Default_Loglevel;
-------------------------------------------------------------------------
function Get_Loglevel (Identifier : String) return Log_Level is
begin
return Ident_Levels.Element (Key => Identifier);
exception
when Constraint_Error =>
raise No_Ident_Loglevel with
"No loglevel for identifier '" & Identifier & "'";
end Get_Loglevel;
-------------------------------------------------------------------------
function Lookup (Identifier : String) return Log_Level is
use type Alog.Maps.Cursor;
Position : Maps.Cursor;
begin
Position := Ident_Levels.Lookup (Key => Identifier);
if Position /= Maps.No_Element then
return Maps.Element (Position => Position);
end if;
return Current_Default_Loglevel;
end Lookup;
-------------------------------------------------------------------------
procedure Reset is
begin
Current_Default_Loglevel := Alog_Default_Level;
Ident_Levels.Clear;
end Reset;
-------------------------------------------------------------------------
procedure Set_Default_Loglevel (Level : Log_Level) is
begin
Current_Default_Loglevel := Level;
end Set_Default_Loglevel;
-------------------------------------------------------------------------
procedure Set_Loglevel
(Identifier : String;
Level : Log_Level)
is
begin
Ident_Levels.Insert (Key => Identifier,
Item => Level);
end Set_Loglevel;
-------------------------------------------------------------------------
procedure Set_Loglevel (Identifiers : Maps.Wildcard_Level_Map) is
begin
Ident_Levels := Identifiers;
end Set_Loglevel;
end Alog.Policy_DB;
|