File : messages.ads


with Reps;
use Reps;

package Messages is

  type Problem is (Data_Problem, Not_Implemented, Giving_Up);

  procedure Message(Where: in String; What: in Problem);

  procedure TraceEnter(Where: in String);
  procedure TraceLeave;
  procedure Trace;

  procedure Show(S: in String; NewLine: in Boolean := True);
  procedure Show(S: in String; I: in Integer; NewLine: in Boolean := True);
  procedure Show(S: in String; R: in Rep; A: in Natural := 5; E: in Natural := 3);
  procedure Show(S: in String; R1,R2: in Rep; A: in Natural := 5; E: in Natural := 3);

  function PromptString(Name: in String) return String;
  function PromptInteger(Name: String) return Integer;
  function PromptRep(Name: String) return Rep;

  function GetArg(N: Positive) return String;
  function GetArg(N: Positive) return Integer;
  function GetArg(N: Positive) return Rep;
  function GetArg(N: Positive) return Boolean;

  Verbose: Natural := 0;

private

  Tracing: Boolean := False;
  TraceLevel: Integer := 0;

end Messages;