| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | // FIXME: change to '../API' when we update to webpack2. If we do this now all
// files from API modules will be included in external_api.js.
import { API_ID } from '../API/constants';
import { getJitsiMeetGlobalNS } from '../../react/features/base/util';
import { PostMessageTransportBackend, Transport } from 'js-utils/transport';
export {
    PostMessageTransportBackend,
    Transport
};
/**
 * Option for the default low level transport.
 *
 * @type {Object}
 */
const postisOptions = {};
if (typeof API_ID === 'number') {
    postisOptions.scope = `jitsi_meet_external_api_${API_ID}`;
}
/**
 * The instance of Transport class that will be used by Jitsi Meet.
 *
 * @type {Transport}
 */
let transport;
/**
 * Returns the instance of Transport class that will be used by Jitsi Meet.
 *
 * @returns {Transport}
 */
export function getJitsiMeetTransport() {
    if (!transport) {
        transport = new Transport({ backend: new PostMessageTransportBackend({ postisOptions }) });
    }
    return transport;
}
/**
 * Sets the transport to passed transport.
 *
 * @param {Object} externalTransportBackend - The new transport.
 * @returns {void}
 */
getJitsiMeetGlobalNS().setExternalTransportBackend = externalTransportBackend =>
    transport.setBackend(externalTransportBackend);
 |