| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | 
							- import { openDialog } from '../base/dialog';
 - 
 - import {
 -     RESET_DESKTOP_SOURCES,
 -     UPDATE_DESKTOP_SOURCES
 - } from './actionTypes';
 - import { DesktopPicker } from './components';
 - 
 - const logger = require('jitsi-meet-logger').getLogger(__filename);
 - 
 - /**
 -  * Begins a request to get available DesktopCapturerSources.
 -  *
 -  * @param {Array} types - An array with DesktopCapturerSource type strings.
 -  * @param {Object} options - Additional configuration for getting a list of
 -  * sources.
 -  * @param {Object} options.thumbnailSize - The desired height and width of the
 -  * return native image object used for the preview image of the source.
 -  * @returns {Function}
 -  */
 - export function obtainDesktopSources(types, options = {}) {
 -     const capturerOptions = {
 -         types
 -     };
 - 
 -     if (options.thumbnailSize) {
 -         capturerOptions.thumbnailSize = options.thumbnailSize;
 -     }
 - 
 -     return dispatch => {
 -         const { JitsiMeetElectron } = window;
 - 
 -         if (JitsiMeetElectron && JitsiMeetElectron.obtainDesktopStreams) {
 -             JitsiMeetElectron.obtainDesktopStreams(
 -                 sources => dispatch(updateDesktopSources(sources)),
 -                 error =>
 -                     logger.error(
 -                         `Error while obtaining desktop sources: ${error}`),
 -                 capturerOptions
 -             );
 -         } else {
 -             logger.error(
 -                 'Called JitsiMeetElectron.obtainDesktopStreams'
 -                     + ' but it is not defined');
 -         }
 -     };
 - }
 - 
 - /**
 -  * Signals to remove all stored DesktopCapturerSources.
 -  *
 -  * @returns {{
 -  *     type: RESET_DESKTOP_SOURCES
 -  * }}
 -  */
 - export function resetDesktopSources() {
 -     return {
 -         type: RESET_DESKTOP_SOURCES
 -     };
 - }
 - 
 - /**
 -  * Signals to open a dialog with the DesktopPicker component.
 -  *
 -  * @param {Function} onSourceChoose - The callback to invoke when
 -  * a DesktopCapturerSource has been chosen.
 -  * @returns {Object}
 -  */
 - export function showDesktopPicker(onSourceChoose) {
 -     return openDialog(DesktopPicker, {
 -         onSourceChoose
 -     });
 - }
 - 
 - /**
 -  * Signals new DesktopCapturerSources have been received.
 -  *
 -  * @param {Object} sources - Arrays with DesktopCapturerSources.
 -  * @returns {{
 -  *     type: UPDATE_DESKTOP_SOURCES,
 -  *     sources: Array
 -  * }}
 -  */
 - export function updateDesktopSources(sources) {
 -     return {
 -         type: UPDATE_DESKTOP_SOURCES,
 -         sources
 -     };
 - }
 
 
  |