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