/*
 * MapObject - The JavaScript Mapping Library.
 * http://MapObject.net
 * 
 * Copyright (c) 2006-2007, Mashup Technologies, LLC
 * All rights reserved.
 * http://www.MashupTechnologies.com
 * 
 * The JavaScript code distributed with Google Maps Samples (the "Software") is licensed under the
 * Lesser GNU (LGPL) open source license version 3.
 * 
 * http://www.gnu.org/licenses/lgpl.html
 * 
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 * 
 */

Ext.namespace('MapObject.proxy');
/**
* @class MapObject.proxy.Abstract
* This class is an abstract base class for map API wrapper classes.
*/
MapObject.proxy.Abstract = function(){
	this.addEvents({
		/**
		* @event beforeload
		* Fires before a map object is instantiated.
		* @param {Object} This DataProxy object.
		* @param {Object} params The params parameter to the load function.
		*/
		beforeload : true,
       
		/**
		* @event load
		* Fires before the load method's callback is called.
		* @param {Object} This DataProxy object.
		* @param {Object} o The data object.
		* @param {Object} arg The callback argument object passed to the load function.
		*/
		load : true,
        
		/**
		* @event loadexception
		* Fires if an Exception occurs during data retrieval.
		* @param {Object} This DataProxy object.
		* @param {Object} o The data object.
		* @param {Object} arg The callback argument object passed to the load function.
		* @param {Object} e The Exception.
		*/
		loadexception : true,

		aftergeocoding: true

	});
	MapObject.proxy.Abstract.superclass.constructor.call(this);
}

Ext.extend(MapObject.proxy.Abstract, Ext.util.Observable);