@JS() library zoom_helper; import 'package:js/js.dart'; /// Initial Parameter Required For Zoom Web @JS() @anonymous /// needed along with factory constructor class InitParams { external factory InitParams( {leaveUrl, showMeetingHeader, disableInvite, disableCallOut, disableRecord, disableJoinAudio, audioPanelAlwaysOpen, isSupportAV, isSupportChat, isSupportQA, isSupportCC, isSupportPolling, isSupportBreakout, screenShare, rwcBackup, videoDrag, sharingMode, videoHeader, isLockBottom, isSupportNonverbal, isShowJoiningErrorDialog, disablePreview, disableCORP, inviteUrlFormat, disableVoIP, disableReport, meetingInfo, success, error}); external String get leaveUrl; } /// Join Meeting helper @JS() @anonymous /// needed along with factory constructor class JoinParams { external factory JoinParams( {meetingNumber, userName, signature, apiKey, passWord, success, error}); } /// Signature helper @JS() @anonymous /// needed along with factory constructor class SignatureParams { external factory SignatureParams({meetingNumber, apiKey, apiSecret, role}); } /// meeting status helper @JS() @anonymous class MeetingStatus { external factory MeetingStatus({int meetingStatus}); external int get meetingStatus; } /// Basic Zoom SDK Web Functions helper @JS() class ZoomMtg { external static void setZoomJSLib(String path, String dir); external static final i18n; external static void preLoadWasm(); external static void prepareWebSDK(); external static void prepareJssdk(); external static void init(InitParams initParams); external static void join(JoinParams joinParams); external static String generateSignature(SignatureParams signatureParams); external static dynamic checkSystemRequirements(); external static void inMeetingServiceListener( String event, Function(MeetingStatus) callback); }