Files
bigbluebutton-tablet-sdk/src/methods/createScreenShareOffer.tsx
2022-03-18 16:39:14 -03:00

33 lines
965 B
TypeScript

import { createScreenShareOffer as nativeCreateScreenShareOffer } from '../native-components/BBBN_ScreenShareService';
import nativeEmitter from '../native-messaging/emitter';
// Reference to the resolver of last call
let resolve = (a: String) => {
console.log(
`default resolve function called, this should never happen: ${a}`
);
};
// Resolve promise when SDP offer is available
nativeEmitter.addListener('onScreenShareOfferCreated', (sdp) => {
resolve(sdp);
});
// Entry point of this method
function createScreenShareOffer() {
return new Promise((res, rej) => {
// store the resolver for later call (when event is received)
resolve = res;
try {
console.log(`>nativeCreateScreenShareOffer`);
// call native swift method that triggers the broadcast popup
nativeCreateScreenShareOffer();
} catch (e) {
rej(`Call to nativeCreateScreenShareOffer failed`);
}
});
}
export default createScreenShareOffer;