package com.iambookmaster.client.iphone.data;
import com.google.code.gwt.database.client.service.DataServiceException;
import com.google.code.gwt.database.client.service.ListCallback;
import com.google.code.gwt.database.client.service.ScalarCallback;
import com.google.code.gwt.database.client.service.VoidCallback;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.Frame;
import com.iambookmaster.client.iphone.images.IPhoneImages;
import com.iambookmaster.client.model.Model;
public abstract class IPhoneDataService {
private static IPhoneDataService service = GWT.create(IPhoneDataService.class);
public static IPhoneDataService getInstance() {
return service;
}
private Frame frame;
private ScalarCallback<String> callback;
public abstract void loadLastState(Model model, ScalarCallback<String> callback);
public abstract void donate(VoidCallback callback);
public abstract void calculateDonate(ScalarCallback<String> callback);
public abstract void storeState(String playerState);
public String getBackground() {
return IPhoneImages.INSTANCE.backgoundOldBook().getText();
}
public boolean isLinkedVersionPresent() {
return true;
}
public boolean isCracked() {
return false;
}
public boolean isInAppAvailable() {
return false;
}
public static String generateCommandURL(String command,String param) {
StringBuilder builder = new StringBuilder("command");
builder.append("://");
builder.append(command);
if (param != null) {
builder.append('/');
builder.append(param);
}
return builder.toString();
}
public void cancelRequest() {
}
public void removeSplashScreen() {
}
public abstract void selectAvailableFiles(String exention, ListCallback<IPhoneFileBean> callback);
public abstract void loadSingleFile(String name,final ScalarCallback<String> callback);
public void storeState(String storeGameState, String fileName, VoidCallback callback) {
callback.onFailure(new DataServiceException("Not supported"));
}
}