// Path: src/com/akjava/gwt/html5/client/file/callback/FileEntryCallback.java
// public interface FileEntryCallback {
// public void fileEntryCallback(FileEntry file);
// }
// 
// Path: src/com/akjava/gwt/html5/client/file/callback/FileErrorCallback.java
// public interface FileErrorCallback{
// 	public void fileErrorCallback(FileError fileError);
// }
// 
// Path: src/com/akjava/gwt/html5/client/file/callback/VoidCallback.java
// public interface VoidCallback {
// public void callback();
// }


import com.akjava.gwt.html5.client.file.DirectoryReader;
import com.akjava.gwt.html5.client.file.callback.FileEntryCallback;
import com.akjava.gwt.html5.client.file.callback.FileErrorCallback;
import com.akjava.gwt.html5.client.file.callback.FileWriterCallback;
import com.akjava.gwt.html5.client.file.callback.VoidCallback;
import com.google.gwt.core.client.JavaScriptObject;

var callback=function(){
	simpleCallback.@com.akjava.gwt.html5.client.file.callback.VoidCallback::callback()();
}

 var error=function(fileerror){
	errorCallback.@com.akjava.gwt.html5.client.file.callback.FileErrorCallback::fileErrorCallback(Lcom/akjava/gwt/html5/client/file/FileError;)(fileerror);
}

this.removeRecursively(callback,error);
	}-*/;

//TODO implement  removeRecursively()
	
//TODO implement copyTo,moveTo;

	
	public final native void getFile(String name,boolean create,boolean exclusive,FileEntryCallback callback,FileErrorCallback errorCallback)/*-{
    
    var getfile=function(fileentry){
    	callback.@com.akjava.gwt.html5.client.file.callback.FileEntryCallback::fileEntryCallback(Lcom/akjava/gwt/html5/client/file/webkit/FileEntry;)(fileentry);
    
    }
    
    var error=function(fileerror){
    	errorCallback.@com.akjava.gwt.html5.client.file.callback.FileErrorCallback::fileErrorCallback(Lcom/akjava/gwt/html5/client/file/FileError;)(fileerror);
    }
    
    this.getFile(name,{create:create,exclusive:exclusive},getfile,error);
  	}-*/;
	

// Path: src/com/akjava/gwt/html5/client/file/callback/FileEntryCallback.java
// public interface FileEntryCallback {
// public void fileEntryCallback(FileEntry file);
// }
// 
// Path: src/com/akjava/gwt/html5/client/file/callback/FileErrorCallback.java
// public interface FileErrorCallback{
// 	public void fileErrorCallback(FileError fileError);
// }
// 
// Path: src/com/akjava/gwt/html5/client/file/callback/VoidCallback.java
// public interface VoidCallback {
// public void callback();
// }


// Path: src/com/akjava/gwt/html5/client/file/webkit/FileEntry.java
import com.akjava.gwt.html5.client.file.DirectoryReader;
import com.akjava.gwt.html5.client.file.callback.FileEntryCallback;
import com.akjava.gwt.html5.client.file.callback.FileErrorCallback;
import com.akjava.gwt.html5.client.file.callback.FileWriterCallback;
import com.akjava.gwt.html5.client.file.callback.VoidCallback;
import com.google.gwt.core.client.JavaScriptObject;

var callback=function(){
	simpleCallback.@com.akjava.gwt.html5.client.file.callback.VoidCallback::callback()();
}

 var error=function(fileerror){
	errorCallback.@com.akjava.gwt.html5.client.file.callback.FileErrorCallback::fileErrorCallback(Lcom/akjava/gwt/html5/client/file/FileError;)(fileerror);
}

this.removeRecursively(callback,error);
	}-*/;

//TODO implement  removeRecursively()
	
//TODO implement copyTo,moveTo;

	
	public final native void getFile(String name,boolean create,boolean exclusive,FileEntryCallback callback,FileErrorCallback errorCallback)/*-{
    
    var getfile=function(fileentry){
    	callback.@com.akjava.gwt.html5.client.file.callback.FileEntryCallback::fileEntryCallback(Lcom/akjava/gwt/html5/client/file/webkit/FileEntry;)(fileentry);
    
    }
    
    var error=function(fileerror){
    	errorCallback.@com.akjava.gwt.html5.client.file.callback.FileErrorCallback::fileErrorCallback(Lcom/akjava/gwt/html5/client/file/FileError;)(fileerror);
    }
    
    this.getFile(name,{create:create,exclusive:exclusive},getfile,error);
  	}-*/;
	

	public final native void getDirectory(String name,boolean create,boolean exclusive,FileEntryCallback callback,FileErrorCallback errorCallback)/*-{
