diff --git a/src/arun-launchers-unix.ads b/src/arun-launchers-unix.ads index cba1075..a66f21a 100644 --- a/src/arun-launchers-unix.ads +++ b/src/arun-launchers-unix.ads @@ -26,6 +26,16 @@ package Arun.Launchers.Unix is procedure Initialize (L : in out UnixLauncher); + function Find_Full_Path (L : in UnixLauncher; + Path_Snippet : in String) return String; + -- Determine the full path of the snippet based on PATH or other environment + -- variables. + -- + -- Will return an empty string if a full path was not discoverable. + + + procedure Execute (L : in UnixLauncher; + Executable : in String); private type UnixLauncher is new Arun.Launcher_Type with record diff --git a/src/arun.ads b/src/arun.ads index 142f405..98db178 100644 --- a/src/arun.ads +++ b/src/arun.ads @@ -19,4 +19,21 @@ package Arun is procedure Main; + + type Launcher_Type is interface; + + procedure Initialize (L : in Launcher_Type'Class) is abstract; + -- Launcher_Type-specific initialization routine + + function Find_Full_Path (L : in Launcher_Type; + Path_Snippet : in String) return String is abstract; + -- Determine the full path of the snippet based on PATH or other environment + -- variables. + -- + -- Will return an empty string if a full path was not discoverable. + + procedure Execute (L : in Launcher_Type; + Executable : in String) is abstract; + -- Spawn the Executable in place of the current process + end Arun;