From 651f6158b0ac53d5d21eaeebc99b23b64800e2c3 Mon Sep 17 00:00:00 2001 From: Jed Barber Date: Wed, 28 Mar 2018 02:16:43 +1100 Subject: Added FLTK.Environment (aka Fl_Preferences) --- src/fltk-environment.ads | 163 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 src/fltk-environment.ads (limited to 'src/fltk-environment.ads') diff --git a/src/fltk-environment.ads b/src/fltk-environment.ads new file mode 100644 index 0000000..a163d19 --- /dev/null +++ b/src/fltk-environment.ads @@ -0,0 +1,163 @@ + + +package FLTK.Environment is + + + type Preferences is new Wrapper with private; + + type Scope is (Root, User); + + + + + Preference_Error : exception; + + + + + package Forge is + + function From_Filesystem + (Path, Vendor, Application : in String) + return Preferences; + + end Forge; + + + + + function Number_Of_Entries + (This : in Preferences) + return Natural; + + function Get_Key + (This : in Preferences; + Index : in Natural) + return String; + + function Entry_Exists + (This : in Preferences; + Key : in String) + return Boolean; + + function Entry_Size + (This : in Preferences; + Key : in String) + return Natural; + + + + + function Get + (This : in Preferences; + Key : in String) + return Integer; + + function Get + (This : in Preferences; + Key : in String) + return Float; + + function Get + (This : in Preferences; + Key : in String) + return Long_Float; + + function Get + (This : in Preferences; + Key : in String) + return String; + + + + + function Get + (This : in Preferences; + Key : in String; + Default : in Integer) + return Integer; + + function Get + (This : in Preferences; + Key : in String; + Default : in Float) + return Float; + + function Get + (This : in Preferences; + Key : in String; + Default : in Long_Float) + return Long_Float; + + function Get + (This : in Preferences; + Key : in String; + Default : in String) + return String; + + + + + procedure Set + (This : in out Preferences; + Key : in String; + Value : in Integer); + + procedure Set + (This : in out Preferences; + Key : in String; + Value : in Float); + + procedure Set + (This : in out Preferences; + Key : in String; + Value : in Float; + Precision : in Natural); + + procedure Set + (This : in out Preferences; + Key : in String; + Value : in Long_Float); + + procedure Set + (This : in out Preferences; + Key : in String; + Value : in Long_Float; + Precision : in Natural); + + procedure Set + (This : in out Preferences; + Key : in String; + Value : in String); + + + + + procedure Delete_Entry + (This : in out Preferences; + Key : in String); + + procedure Delete_All_Entries + (This : in out Preferences); + + procedure Clear + (This : in out Preferences); + + + + + procedure Flush + (This : in Preferences); + + +private + + + type Preferences is new Wrapper with null record; + + overriding procedure Finalize + (This : in out Preferences); + + +end FLTK.Environment; + -- cgit