// $Id: package.js,v 1.2 2009-10-23 17:27:06 smulcahy Exp $
// © 2004 Orbis Technology Ltd. All rights reserved.
//
// Javascript package manager, allows you to check depedencies between
// individual scripts and load them automatically.

//-------------------------------------------------------------------------
// Constructors
//-------------------------------------------------------------------------
function Package() {}

//-------------------------------------------------------------------------
// Class attributes
//-------------------------------------------------------------------------
Package._packages = new Array();


//-------------------------------------------------------------------------
// Class methods
//-------------------------------------------------------------------------

// Provide a package
Package.provide = function(providedPackage) {
	Package._packages[Package._packages.length] = providedPackage;
}


// Require a package
Package.require = function(requiredPackage) {
	for (var i = 0; i < Package._packages.length; i++) {
		var pkg = Package._packages[i];
		if (pkg == requiredPackage) {
			return;
		}
	}
	throw "Failed to find required package " + requiredPackage;
}

