3 * Copyright(c) 2006-2010 Sencha Inc.
5 * http://www.sencha.com/license
8 * @class Ext.direct.Provider
9 * @extends Ext.util.Observable
10 * <p>Ext.direct.Provider is an abstract class meant to be extended.</p>
12 * <p>For example ExtJs implements the following subclasses:</p>
16 +---{@link Ext.direct.JsonProvider JsonProvider}
18 +---{@link Ext.direct.PollingProvider PollingProvider}
20 +---{@link Ext.direct.RemotingProvider RemotingProvider}
24 Ext.direct.Provider = Ext.extend(Ext.util.Observable, {
27 * The unique id of the provider (defaults to an {@link Ext#id auto-assigned id}).
28 * You should assign an id if you need to be able to access the provider later and you do
29 * not have an object reference available, for example:
31 Ext.Direct.addProvider(
39 var p = {@link Ext.Direct Ext.Direct}.{@link Ext.Direct#getProvider getProvider}('poll-provider');
45 * @cfg {Number} priority
46 * Priority of the request. Lower is higher priority, <tt>0</tt> means "duplex" (always on).
47 * All Providers default to <tt>1</tt> except for PollingProvider which defaults to <tt>3</tt>.
53 * <b>Required</b>, <tt>undefined</tt> by default. The <tt>type</tt> of provider specified
54 * to {@link Ext.Direct Ext.Direct}.{@link Ext.Direct#addProvider addProvider} to create a
55 * new Provider. Acceptable values by default are:<div class="mdetail-params"><ul>
56 * <li><b><tt>polling</tt></b> : {@link Ext.direct.PollingProvider PollingProvider}</li>
57 * <li><b><tt>remoting</tt></b> : {@link Ext.direct.RemotingProvider RemotingProvider}</li>
62 constructor : function(config){
63 Ext.apply(this, config);
67 * Fires when the Provider connects to the server-side
68 * @param {Ext.direct.Provider} provider The {@link Ext.direct.Provider Provider}.
73 * Fires when the Provider disconnects from the server-side
74 * @param {Ext.direct.Provider} provider The {@link Ext.direct.Provider Provider}.
79 * Fires when the Provider receives data from the server-side
80 * @param {Ext.direct.Provider} provider The {@link Ext.direct.Provider Provider}.
81 * @param {event} e The {@link Ext.Direct#eventTypes Ext.Direct.Event type} that occurred.
86 * Fires when the Provider receives an exception from the server-side
90 Ext.direct.Provider.superclass.constructor.call(this, config);
94 * Returns whether or not the server-side is currently connected.
95 * Abstract method for subclasses to implement.
97 isConnected: function(){
102 * Abstract methods for subclasses to implement.
104 connect: Ext.emptyFn,
107 * Abstract methods for subclasses to implement.
109 disconnect: Ext.emptyFn