open static method
Open the warehouse.
This function issues the initialize trigger to all stores and resources.
Implementation
static AsyncReply<bool> open() {
var bag = new AsyncBag<bool>();
for (var s in _stores) bag.add(s.trigger(ResourceTrigger.Initialize));
bag.seal();
var rt = new AsyncReply<bool>();
bag.then((x) {
for (var b in x)
if (b == null || b == false) {
rt.trigger(false);
return;
}
var rBag = new AsyncBag<bool>();
for (var rk in _resources.keys)
rBag.add((_resources[rk] as IResource)
.trigger(ResourceTrigger.SystemInitialized));
rBag.seal();
rBag.then((y) {
for (var b in y)
if (b == null || b == false) {
rt.trigger(false);
return;
}
rt.trigger(true);
_warehouseIsOpen = true;
});
});
return rt;
}