8.10. File tom/Bundle

class tom.Bundle

inherits

State supers: State, Constants

variables

static Bundle main;

The main bundle, i.e. the bundle describing the program and the units.

static MutableIndexed units_path;

The path as registered by the units.

methods


OutputStream (s)
  help OutputStream s
  done MutableKeyed done;

Hook for responding to command line argument :help.


pointer
    loadUnit String unit
  fromObject String object;

Load the unit from the object, returning the underlying operating system handle upon success, or the NULL pointer upon failure. An error is signaled in case of the latter. The unit is the name of the unit supposedly contained in the object. This unit, when present, will be resolved.


pointer
  load String object;

Derive the unit name from the object name and invoke loadUnit fromObject.


void
  load MutableArray arguments;

Accept :main-bundle-dir option and allocate the main bundle if found.


String
    locate-file String file
      extension String ext
  with-version: String version = nil;

Forward this to the main bundle.


instance (id)
  main;

Return the main bundle, creating it iff necessary.


void
  registerUnitDirectory String dir;

Register the dir as to contain resources for one of the units.

instance tom.Bundle

variables

public String directory;

The directory.

pointer handle;

Iff not the null pointer, the handle (in the underlying operating system) to the code loaded for this bundle. Iff it is the null pointer, the code has not (yet) been loaded.

methods


id (self)
  init String d;

Undocumented.


String
    locate-file String file
      extension String ext
  with-version: String version = nil;

Locate the file for the version in this bundle. If not found, search the main bundle. Iff still not found, it is searched for in the registered unit directories.

The extension ext, if not nil, is appended to the file, with a dot (.) in between.