diff options
| author | PliablePixels <pliablepixels@gmail.com> | 2015-06-24 18:47:42 -0400 |
|---|---|---|
| committer | PliablePixels <pliablepixels@gmail.com> | 2015-06-24 18:47:42 -0400 |
| commit | 855a0e8ddc273b58066530a1b55a946021dfc56e (patch) | |
| tree | 26550033e855a31a265fc2da4da3df0cc2733dc1 /plugins/org.apache.cordova.file/www/blackberry10/FileReader.js | |
| parent | d442629aa825aab6bc55ab6be19e3aba060867fe (diff) | |
Cleaned up code, commented, preparing for HTTPS via CordovaHTTP
Diffstat (limited to 'plugins/org.apache.cordova.file/www/blackberry10/FileReader.js')
| -rw-r--r-- | plugins/org.apache.cordova.file/www/blackberry10/FileReader.js | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/plugins/org.apache.cordova.file/www/blackberry10/FileReader.js b/plugins/org.apache.cordova.file/www/blackberry10/FileReader.js new file mode 100644 index 00000000..6e3a10c6 --- /dev/null +++ b/plugins/org.apache.cordova.file/www/blackberry10/FileReader.js @@ -0,0 +1,90 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var origFileReader = window.FileReader, + fileUtils = require('./BB10Utils'), + utils = require('cordova/utils'); + +var FileReader = function() { + this.nativeReader = new origFileReader(); +}; + +utils.defineGetter(FileReader.prototype, 'readyState', function() { + return this.nativeReader.readyState; +}); + +utils.defineGetter(FileReader.prototype, 'error', function() { + return this.nativeReader.error; +}); + +utils.defineGetter(FileReader.prototype, 'result', function() { + return this.nativeReader.result; +}); + +function defineEvent(eventName) { + utils.defineGetterSetter(FileReader.prototype, eventName, function() { + return this.nativeReader[eventName] || null; + }, function(value) { + this.nativeReader[eventName] = value; + }); +} + +defineEvent('onabort'); +defineEvent('onerror'); +defineEvent('onload'); +defineEvent('onloadend'); +defineEvent('onloadstart'); +defineEvent('onprogress'); + +FileReader.prototype.abort = function() { + return this.nativeReader.abort(); +}; + +function read(method, context, file, encoding) { + if (file.fullPath) { + resolveLocalFileSystemURI("filesystem:local:///persistent/" + file.fullPath, function (entry) { + entry.nativeEntry.file(function (nativeFile) { + context.nativeReader[method].call(context.nativeReader, nativeFile, encoding); + }, context.onerror); + }, context.onerror); + } else { + context.nativeReader[method](file, encoding); + } +} + +FileReader.prototype.readAsText = function(file, encoding) { + read("readAsText", this, file, encoding); +}; + +FileReader.prototype.readAsDataURL = function(file) { + read("readAsDataURL", this, file); +}; + +FileReader.prototype.readAsBinaryString = function(file) { + read("readAsBinaryString", this, file); +}; + +FileReader.prototype.readAsArrayBuffer = function(file) { + read("readAsArrayBuffer", this, file); +}; + +window.FileReader = FileReader; +module.exports = FileReader; |
