INTERFACEThe generic Obliq Loader class. This class allows Obliq source and help files to be stored in files and/or bundled and be loaded by the various Obliq initialization routines.ObLoader ; IMPORT Bundle, Obliq, ObCommand, TextSeq;
The init routines specify a parent loader from which the base
environment is obtained. If your Obliq package depends on another
obliq package, you should initialize this other package and then
pass its loader to your packages init routine.
The init routines also specify an alt (alternate) loader. If the
requested file cannot be found in this loader, the alt loader is
searched for the file. This allows, for example, a set of
directories to be searched for files, followed by a compiled in
Bundle.
TYPE
T <: Public;
Public = OBJECT
METHODS
load (filename : TEXT);
get (qualname : TEXT) : Obliq.Val;
help (cmd: ObCommand.T; arg: TEXT; pkgname: TEXT; m3name: TEXT := NIL);
END;
TYPE
BundleT <: BundlePublic;
BundlePublic = T OBJECT
METHODS
init (bundle: Bundle.T; parent: T := NIL; alt: T := NIL) : T;
END;
TYPE
DirT <: DirPublic;
DirPublic = T OBJECT
METHODS
init (root: TEXT; parent: T := NIL; alt: T := NIL) : T;
END;
PROCEDURE NewDirs(roots: TextSeq.T; parent: T := NIL; alt: T := NIL): T;
A convenience routine to create a sequence of DirT loaders which
will search the sequence of dirs in roots for the requested
files. END ObLoader.