123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /* global config, getRoomName, getConfigParamsFromUrl */
- /* global createConnectionExternally */
- /**
- * Implements extrnal connect using createConnectionExtenally function defined
- * in external_connect.js for Jitsi Meet. Parses the room name and token from
- * the url and executes createConnectionExtenally.
- *
- * NOTE: If you are using lib-jitsi-meet without Jitsi Meet you should use this
- * file as reference only because the implementation is Jitsi Meet specific.
- *
- * NOTE: For optimal results this file should be included right after
- * exrnal_connect.js.
- */
-
- /**
- * Executes createConnectionExternally function.
- */
- (function () {
- var hashParams = getConfigParamsFromUrl("hash", true);
- var searchParams = getConfigParamsFromUrl("search", true);
-
- //Url params have higher proirity than config params
- var url = config.externalConnectUrl;
- if(hashParams.hasOwnProperty('config.externalConnectUrl'))
- url = hashParams["config.externalConnectUrl"];
-
- /**
- * Check if connect from connection.js was executed and executes the handler
- * that is going to finish the connect work.
- */
- function checkForConnectHandlerAndConnect() {
-
- if(window.APP && window.APP.connect.status === "ready") {
- window.APP.connect.handler();
- }
- }
-
- function error_callback(error){
- if(error) //error=undefined if external connect is disabled.
- console.warn(error);
- // Sets that global variable to be used later by connect method in
- // connection.js
- window.XMPPAttachInfo = {
- status: "error"
- };
- checkForConnectHandlerAndConnect();
- }
-
- if(!url || !window.createConnectionExternally) {
- error_callback();
- return;
- }
- var room_name = getRoomName();
- if(!room_name) {
- error_callback();
- return;
- }
-
- url += "?room=" + room_name;
-
- var token = hashParams["config.token"] || config.token ||
- searchParams.jwt;
- if(token)
- url += "&token=" + token;
-
- createConnectionExternally(url, function(connectionInfo) {
- // Sets that global variable to be used later by connect method in
- // connection.js
- window.XMPPAttachInfo = {
- status: "success",
- data: connectionInfo
- };
- checkForConnectHandlerAndConnect();
- }, error_callback);
- })();
|