Mercurial > pub > ImplabJs
comparison src/implab/messaging/Destination.js @ 34:27e8e9e38e07 default tip
Слияние
| author | nickolay |
|---|---|
| date | Wed, 05 Jun 2019 20:44:15 +0300 |
| parents | 8af8e840dd49 1dc2fd263b90 |
| children |
comparison
equal
deleted
inserted
replaced
| 33:8af8e840dd49 | 34:27e8e9e38e07 |
|---|---|
| 1 define([ "dojo/_base/declare", "./Listener" ], | |
| 2 | |
| 3 function(declare, Listener) { | |
| 4 return declare(null, { | |
| 5 _session : null, | |
| 6 _destination : null, | |
| 7 _listenerClass : null, | |
| 8 | |
| 9 constructor : function(session, destination, options) { | |
| 10 if (!session) | |
| 11 throw new Error("A session is required"); | |
| 12 if (!destination) | |
| 13 throw new Error("A destination is required"); | |
| 14 | |
| 15 this._session = session; | |
| 16 this._destination = destination; | |
| 17 if (options) { | |
| 18 if (options.listenerClass) | |
| 19 this._listenerClass = options.listenerClass; | |
| 20 } | |
| 21 }, | |
| 22 | |
| 23 listen : function(callback) { | |
| 24 var factory = this._listenerClass || Listener; | |
| 25 var listener = new factory(this._session, this._destination, { | |
| 26 listener : callback | |
| 27 }); | |
| 28 listener.start(); | |
| 29 | |
| 30 return listener; | |
| 31 } | |
| 32 | |
| 33 }); | |
| 34 }); |
