X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/c930e9176a5a85509c5b0230e2bff5c22a591432..3789b528d8dd8aad4558e38e22d775bcab1cbd36:/src/direct/Provider.js diff --git a/src/direct/Provider.js b/src/direct/Provider.js index 342e9932..8affe35e 100644 --- a/src/direct/Provider.js +++ b/src/direct/Provider.js @@ -1,110 +1,97 @@ -/*! - * Ext JS Library 3.0.0 - * Copyright(c) 2006-2009 Ext JS, LLC - * licensing@extjs.com - * http://www.extjs.com/license +/** + * @class Ext.direct.Provider + *
Ext.direct.Provider is an abstract class meant to be extended.
+ * + *For example ExtJs implements the following subclasses:
+ *
+Provider
+|
++---{@link Ext.direct.JsonProvider JsonProvider}
+ |
+ +---{@link Ext.direct.PollingProvider PollingProvider}
+ |
+ +---{@link Ext.direct.RemotingProvider RemotingProvider}
+ *
+ * @abstract
*/
-/**
- * @class Ext.direct.Provider
- * @extends Ext.util.Observable
- * Ext.direct.Provider is an abstract class meant to be extended.
- * - *For example ExtJs implements the following subclasses:
- *
-Provider
-|
-+---{@link Ext.direct.JsonProvider JsonProvider}
- |
- +---{@link Ext.direct.PollingProvider PollingProvider}
- |
- +---{@link Ext.direct.RemotingProvider RemotingProvider}
- *
- * @abstract
- */
-Ext.direct.Provider = Ext.extend(Ext.util.Observable, {
- /**
- * @cfg {String} id
- * The unique id of the provider (defaults to an {@link Ext#id auto-assigned id}).
- * You should assign an id if you need to be able to access the provider later and you do
- * not have an object reference available, for example:
- *
-Ext.Direct.addProvider(
- {
- type: 'polling',
- url: 'php/poll.php',
- id: 'poll-provider'
- }
-);
-
-var p = {@link Ext.Direct Ext.Direct}.{@link Ext.Direct#getProvider getProvider}('poll-provider');
-p.disconnect();
- *
- */
-
- /**
- * @cfg {Number} priority
- * Priority of the request. Lower is higher priority, 0 means "duplex" (always on).
- * All Providers default to 1 except for PollingProvider which defaults to 3.
- */
- priority: 1,
-
- /**
- * @cfg {String} type
- * Required, undefined by default. The type of provider specified
- * to {@link Ext.Direct Ext.Direct}.{@link Ext.Direct#addProvider addProvider} to create a
- * new Provider. Acceptable values by default are:
+Ext.direct.Manager.addProvider({
+ type: 'polling',
+ url: 'php/poll.php',
+ id: 'poll-provider'
+});
+var p = {@link Ext.direct.Manager}.{@link Ext.direct.Manager#getProvider getProvider}('poll-provider');
+p.disconnect();
+ *
+ */
+
+ constructor : function(config){
+ var me = this;
+
+ Ext.apply(me, config);
+ me.addEvents(
+ /**
+ * @event connect
+ * Fires when the Provider connects to the server-side
+ * @param {Ext.direct.Provider} provider The {@link Ext.direct.Provider Provider}.
+ */
+ 'connect',
+ /**
+ * @event disconnect
+ * Fires when the Provider disconnects from the server-side
+ * @param {Ext.direct.Provider} provider The {@link Ext.direct.Provider Provider}.
+ */
+ 'disconnect',
+ /**
+ * @event data
+ * Fires when the Provider receives data from the server-side
+ * @param {Ext.direct.Provider} provider The {@link Ext.direct.Provider Provider}.
+ * @param {event} e The Ext.Direct.Event type that occurred.
+ */
+ 'data',
+ /**
+ * @event exception
+ * Fires when the Provider receives an exception from the server-side
+ */
+ 'exception'
+ );
+ me.mixins.observable.constructor.call(me, config);
+ },
+
+ /**
+ * Returns whether or not the server-side is currently connected.
+ * Abstract method for subclasses to implement.
+ */
+ isConnected: function(){
+ return false;
+ },
+
+ /**
+ * Abstract methods for subclasses to implement.
+ * @method
+ */
+ connect: Ext.emptyFn,
+
+ /**
+ * Abstract methods for subclasses to implement.
+ * @method
+ */
+ disconnect: Ext.emptyFn
+});