package com.xenoage.zong.webapp.utils; import com.xenoage.utils.PlatformUtils; import com.xenoage.utils.async.AsyncCallback; import com.xenoage.utils.async.AsyncResult; import com.xenoage.utils.gwt.GwtPlatformUtils; import com.xenoage.zong.io.symbols.SymbolPoolReader; import com.xenoage.zong.symbols.SymbolPool; import com.xenoage.zong.util.ZongPlatformUtils; /** * GWT implementation of {@link ZongPlatformUtils}. * * @author Andreas Wenger */ public class GwtZongPlatformUtils extends ZongPlatformUtils { public static final GwtZongPlatformUtils instance = new GwtZongPlatformUtils(); private SymbolPool symbolPool; /** * Initializes the {@link GwtZongPlatformUtils} as the {@link ZongPlatformUtils} instance * and {@link GwtPlatformUtils} as the {@link PlatformUtils} instance. */ public static void init(final AsyncCallback finished) { GwtPlatformUtils.init(); ZongPlatformUtils.init(instance); //load default symbol pool new SymbolPoolReader("default").produce(new AsyncResult<SymbolPool>() { @Override public void onSuccess(SymbolPool symbolPool) { instance.symbolPool = symbolPool; finished.onSuccess(); } @Override public void onFailure(Exception ex) { finished.onFailure(ex); } }); } @Override public SymbolPool getSymbolPool() { return symbolPool; } }