/**
 * @private
 */
Ext.define('Ext.device.camera.Abstract', {
 
    source: {
        library: 0,
        camera: 1,
        album: 2
    },
 
    destination: {
        data: 0, // Returns base64-encoded string
        file: 1,  // Returns file's URI
        'native': 2
    },
 
    encoding: {
        jpeg: 0,
        jpg: 0,
        png: 1
    },
 
    media: {
        picture: 0,
        video: 1,
        all: 2
    },
 
    direction: {
        back: 0,
        front: 1
    },
 
    /**
     * Allows you to capture a photo.
     *
     * @param {Object} options 
     * The options to use when taking a photo.
     *
     * @param {Function} options.success 
     * The success callback which is called when the photo has been taken.
     *
     * @param {String} options.success.image 
     * The image which was just taken, either a base64 encoded string or a URI depending on which
     * option you chose (destination).
     *
     * @param {Function} options.failure 
     * The function which is called when something goes wrong.
     *
     * @param {Object} scope 
     * The scope in which to call the `success` and `failure` functions, if specified.
     *
     * @param {Number} options.quality 
     * The quality of the image which is returned in the callback. This should be a percentage.
     *
     * @param {String} options.source 
     * The source of where the image should be taken. Available options are:
     *
     * - **album** - prompts the user to choose an image from an album
     * - **camera** - prompts the user to take a new photo
     * - **library** - prompts the user to choose an image from the library
     *
     * @param {String} destination 
     * The destination of the image which is returned. Available options are:
     *
     * - **data** - returns a base64 encoded string
     * - **file** - returns the file's URI
     *
     * @param {String} encoding 
     * The encoding of the returned image. Available options are:
     *
     * - **jpg**
     * - **png**
     *
     * @param {Number} width 
     * The width of the image to return
     *
     * @param {Number} height 
     * The height of the image to return
     */
    capture: Ext.emptyFn,
    getPicture: Ext.emptyFn,
    cleanup: Ext.emptyFn
});