package chrome; import js.html.ArrayBuffer; import chrome.Events; @:enum abstract ProviderError(String) from String to String { var OK = "OK"; var FAILED = "FAILED"; var IN_USE = "IN_USE"; var EXISTS = "EXISTS"; var NOT_FOUND = "NOT_FOUND"; var ACCESS_DENIED = "ACCESS_DENIED"; var TOO_MANY_OPENED = "TOO_MANY_OPENED"; var NO_MEMORY = "NO_MEMORY"; var NO_SPACE = "NO_SPACE"; var NOT_A_DIRECTORY = "NOT_A_DIRECTORY"; var INVALID_OPERATION = "INVALID_OPERATION"; var SECURITY = "SECURITY"; var ABORT = "ABORT"; var NOT_A_FILE = "NOT_A_FILE"; var NOT_EMPTY = "NOT_EMPTY"; var INVALID_URL = "INVALID_URL"; var IO = "IO"; } @:enum abstract OpenFileMode(String) from String to String { var READ = "READ"; var WRITE = "WRITE"; } @:enum abstract ChangeType(String) from String to String { var CHANGED = "CHANGED"; var DELETED = "DELETED"; } @:enum abstract CommonActionId(String) from String to String { var SAVE_FOR_OFFLINE = "SAVE_FOR_OFFLINE"; var OFFLINE_NOT_NECESSARY = "OFFLINE_NOT_NECESSARY"; var SHARE = "SHARE"; } typedef EntryMetadata = { var isDirectory : Bool; var name : String; var size : Float; var modificationTime : Date; @:optional var mimeType : String; @:optional var thumbnail : String; } typedef FileSystemInfo = { var fileSystemId : String; var displayName : String; var writable : Bool; var openedFilesLimit : Int; var openedFiles : Array<{openRequestId:Int,filePath:String,mode:OpenFileMode}>; @:optional var supportsNotifyTag : Bool; var watchers : Array<{entryPath:String,recursive:Bool,?lastTag:String}>; } typedef GetActionsRequestedOptions = { var fileSystemId : String; var requestId : Int; var entryPath : String; } typedef Action = { var id : String; @:optional var title : String; } typedef ExecuteActionRequestedOptions = { var fileSystemId : String; var requestId : Int; var entryPath : String; var actionId : String; } @:require(chrome_ext) @:native("chrome.fileSystemProvider") extern class FileSystemProvider { static function mount( options : { fileSystemId : String, displayName : String, ?writable : Bool, ?openedFilesLimit : Int, ?supportsNotifyTag : Bool }, ?callback : Void->Void) : Void; static function unmount( options : {fileSystemId:String}, ?callback : Void->Void ) : Void; static function getAll( options : {fileSystemId:String}, ?callback : Void->Void ) : Void; static function get( fileSystemId : String, callback : FileSystemInfo->Void ) : Void; static function notify( options : { fileSystemId : String, observedPath : String, recursive : Bool, changeType : ChangeType, changes : Array<{entryPath:String,changeType:ChangeType,?tag:String}> }, ?callback : Void->Void ) : Void; static var onUnmountRequested(default,never) : Event<{fileSystemId:String,requestId:Int}->(Void->Void)->(ProviderError->Void)->Void>; static var onGetMetadataRequested(default,never) : Event<{fileSystemId:String,requestId:Int,entryPath:String,thumbnail:Bool}->(Void->Void)->(ProviderError->Void)->Void>; static var onReadDirectoryRequested(default,never) : Event<{fileSystemId:String,requestId:Int,directoryPath:String}->(Array->Bool->Void)->(ProviderError->Void)->Void>; static var onOpenFileRequested(default,never) : Event<{fileSystemId:String,requestId:Int,filePath:String,mode:OpenFileMode}->(Void->Void)->(ProviderError->Void)->Void>; static var onCloseFileRequested(default,never) : Event<{fileSystemId:String,requestId:Int,openRequestId:Int}->(Void->Void)->(ProviderError->Void)->Void>; static var onReadFileRequested(default,never) : Event<{fileSystemId:String,requestId:Int,openRequestId:Int,offset:Float,length:Float}->(ArrayBuffer->Bool->Void)->(ProviderError->Void)->Void>; static var onCreateDirectoryRequested(default,never) : Event<{fileSystemId:String,requestId:Int,directoryPath:String,recursive:Bool}->(Void->Void)->(ProviderError->Void)->Void>; static var onDeleteEntryRequested(default,never) : Event<{fileSystemId:String,requestId:Int,entryPath:String,recursive:Bool}->(Void->Void)->(ProviderError->Void)->Void>; static var onCreateFileRequested(default,never) : Event<{fileSystemId:String,requestId:Int,filePath:String}->(Void->Void)->(ProviderError->Void)->Void>; static var onCopyEntryRequested(default,never) : Event<{fileSystemId:String,sourcePath:String,targetPath:String}->(Void->Void)->(ProviderError->Void)->Void>; static var onMoveEntryRequested(default,never) : Event<{fileSystemId:String,requestId:Int,sourcePath:String,targetPath:String}->(Void->Void)->(ProviderError->Void)->Void>; static var onTruncateRequested(default,never) : Event<{fileSystemId:String,requestId:Int,filePath:String,length:Float}->(Void->Void)->(ProviderError->Void)->Void>; static var onWriteFileRequested(default,never) : Event<{fileSystemId:String,requestId:Int,openRequestId:Int,offset:Int,data:ArrayBuffer}->(Void->Void)->(ProviderError->Void)->Void>; static var onAbortRequested(default,never) : Event<{fileSystemId:String,requestId:Int,operationRequestId:Int}->(Void->Void)->(ProviderError->Void)->Void>; static var onConfigureRequested(default,never) : Event<{fileSystemId:String,requestId:Int}->(Void->Void)->(ProviderError->Void)->Void>; static var onMountRequested(default,never) : Event<(Void->Void)->(ProviderError->Void)->Void>; static var onAddWatcherRequested(default,never) : Event<{fileSystemId:String,requestId:Int,entryPath:String,recursive:Bool}->(Void->Void)->(ProviderError->Void)->Void>; static var onRemoveWatcherRequested(default,never) : Event<{fileSystemId:String,requestId:Int,entryPath:String,recursive:Bool}->(Void->Void)->(ProviderError->Void)->Void>; }