Example usage for com.google.gwt.gears.client Factory hasPermission

List of usage examples for com.google.gwt.gears.client Factory hasPermission

Introduction

In this page you can find the example usage for com.google.gwt.gears.client Factory hasPermission.

Prototype

public native boolean hasPermission() ;

Source Link

Document

Returns true if the site already has permission to use Gears.

Usage

From source file:de.lilawelt.zmachine.client.storage.GearsAdapterReal.java

License:Open Source License

public boolean Initialize() throws StorageException {
    if (initialized)
        return true;

    Factory f = Factory.getInstance();
    if (f == null)
        throw new StorageException("Gears could not be initialized");

    if ((!f.hasPermission()) && (!f.getPermission()))
        throw new StorageException("Sorry, this site may not access your gears installation");

    Log.debug("Trying gears init...");

    // Create the database if it doesn't exist.
    try {//from   w  ww. j  ava  2  s  .  c o m
        db = f.createDatabase();
        db.open("textadventure-saves");
        // The 'int' type will store up to 8 byte ints depending on the magnitude of the 
        // value added.
        db.execute(
                "create table if not exists saves (savename text, gameuid text, savedate date, savedata blob)");
    } catch (GearsException e) {
        throw new StorageException(
                "Sorry, an error was encountered while initializing gears: " + e.getMessage());
    }

    Log.debug("Dine with gears init");

    initialized = true;
    return true;
}

From source file:org.sigmah.client.offline.sigmah.OnlineMode.java

License:Open Source License

/**
 * Verify if the usage of Google Gears has been approved by the user.<br>
 * If the permission hasn't been granted yet, this method will ask for
 * permission if <code>askForPermission</code> is true.<br>
 * <br>/*from w w w.j av a  2  s .  co  m*/
 * Also, this method creates the database
 * @param askForPermission <code>true</code> to ask for permission to use
 * Google Gears (only if needed), <code>false</code> otherwise.
 */
private void checkPermission(boolean askForPermission) {
    final Factory factory = Factory.getInstance();

    if (factory != null && !databaseCheckIsDone) {

        if (!factory.hasPermission() && askForPermission)
            factory.getPermission("Sigmah", "desktopicons/48x48.png",
                    I18N.CONSTANTS.sigmahOfflineDescription());

        if (factory.hasPermission()) {
            localDatabase = factory.createDatabase();

            // Verifying the existence of the "status" table
            localDatabase.open(LOCAL_DATABASE_NAME);
            try {
                localDatabase.execute("SELECT online FROM status WHERE id = 1");

            } catch (DatabaseException ex) {
                // Most likely, the database doesn't exists.

                // Creating the database
                createStatusTable();

            } finally {
                try {
                    localDatabase.close();
                } catch (DatabaseException ex) {
                    Log.debug("Database closing error.", ex);
                }
            }

            databaseCheckIsDone = true;
        }
    }
}