Files
cc-haxe/src/kernel/binstore/BinStore.hx

46 lines
836 B
Haxe

package kernel.binstore;
import kernel.ps.IProcess;
import macros.Binstore;
class BinStore {
private static final bins:Array<Bin> = populateStore();
private static function populateStore()
return {
var bins:Array<Bin> = [];
Binstore.generateBinStore();
return bins;
}
public static function instantiate(alias:String):Null<IProcess> {
for (bin in bins) {
for (a in bin.aliases) {
if (a == alias) {
return bin.c();
}
}
}
return null;
}
private static function getBinByAlias(alias:String):Null<Bin> {
for (bin in bins) {
for (a in bin.aliases) {
if (a == alias) {
return bin;
}
}
}
return null;
}
public static function getNameByAlias(alias:String):Null<String> {
var bin = getBinByAlias(alias);
if (bin == null) {
return null;
}
return bin.name;
}
}