/**
 * @private
 */
Ext.define('Ext.device.compass.Abstract', {
    config: {
        /**
         * @cfg {Number} frequency The default frequency to get the current heading when using {@link Ext.device.Compass#watchHeading}.
         */
        frequency: 100
    },
 
    getHeadingAvailable: function(config) {
        //<debug>
        if (!config.callback) {
            Ext.Logger.warn('You need to specify a `callback` function for #getHeadingAvailable');
        }
        //</debug>
 
        return config;
    },
 
    getCurrentHeading: function(config) {
        //<debug>
        if (!config.success) {
            Ext.Logger.warn('You need to specify a `success` function for #getCurrentHeading');
        }
        //</debug>
 
        return config;
    },
 
    watchHeading: function(config) {
        var defaultConfig = Ext.device.compass.Abstract.prototype.config;
 
        config = Ext.applyIf(config, {
            frequency: defaultConfig.frequency
        });
 
        //<debug>
        if (!config.callback) {
            Ext.Logger.warn('You need to specify a `callback` function for #watchHeading');
        }
        //</debug>
 
        return config;
    },
 
    clearWatch: Ext.emptyFn
});