function(config) {
                var me = this;
                var callback = config.success;

                if ((config.options && config.options.create) && this.path) {
                    var folders = this.path.split("/");
                    if (folders[0] == '.' || folders[0] == '') {
                        folders = folders.slice(1);
                    }

                    var recursiveCreation = function(dirEntry) {
                        if (folders.length) {
                            dirEntry.getDirectory(folders.shift(), config.options, recursiveCreation, config.failure);
                        } else {
                            callback(dirEntry);
                        }
                    };

                    recursiveCreation(this.fileSystem.fs.root);
                } else {
                    this.fileSystem.fs.root.getDirectory(this.path, config.options,
                        function(directory) {
                            config.success.call(config.scope || me, directory);
                        },
                        config.failure
                    );
                }
            }
function(config) {
                var me = this;
                var callback = config.success;

                if ((config.options && config.options.create) && this.path) {
                    var folders = this.path.split("/");
                    if (folders[0] == '.' || folders[0] == '') {
                        folders = folders.slice(1);
                    }

                    var recursiveCreation = function(dirEntry) {
                        if (folders.length) {
                            dirEntry.getDirectory(folders.shift(), config.options, recursiveCreation, config.failure);
                        } else {
                            callback(dirEntry);
                        }
                    };

                    recursiveCreation(this.fileSystem.fs.root);
                } else {
                    this.fileSystem.fs.root.getDirectory(this.path, config.options,
                        function(directory) {
                            config.success.call(config.scope || me, directory);
                        },
                        config.failure
                    );
                }
            }
function ( config ) { var me = this ; var callback = config . success ; if ( ( config . options && config . options . create ) && this . path ) { var folders = this . path . split ( "/" ) ; if ( folders [ 0 ] == '.' || folders [ 0 ] == '' ) { folders = folders . slice ( 1 ) ; } var recursiveCreation = function ( dirEntry ) { if ( folders . length ) { dirEntry . getDirectory ( folders . shift ( ) , config . options , recursiveCreation , config . failure ) ; } else { callback ( dirEntry ) ; } } ; recursiveCreation ( this . fileSystem . fs . root ) ; } else { this . fileSystem . fs . root . getDirectory ( this . path , config . options , function ( directory ) { config . success . call ( config . scope || me , directory ) ; } , config . failure ) ; } }
Requests a Directory from the Local File System

@param {Object} config

@param {Object} config.options
File creation options {create:true, exclusive:false}

@param {Boolean} config.options.create
Indicates if the directory should be created if it doesn't exist

@param {Boolean} config.options.exclusive
Used with the create option only indicates whether a creation causes an error if the directory already exists

@param {Function} config.success
The function called when the Directory is returned successfully

@param {Ext.device.filesystem.DirectoryEntry} config.success.directory
DirectoryEntry Object

@param {Function} config.failure
The function called when the Directory request causes an error

@param {FileError} config.failure.error
Requests a Directory from the Local File System