import 'package:webrtc_interface/webrtc_interface.dart'; import 'package:matrix/matrix.dart'; /// Delegate WebRTC basic functionality. abstract class WebRTCDelegate { MediaDevices get mediaDevices; Future createPeerConnection( Map configuration, [ Map constraints = const {}, ]); Future playRingtone(); Future stopRingtone(); Future registerListeners(CallSession session); Future handleNewCall(CallSession session); Future handleCallEnded(CallSession session); Future handleMissedCall(CallSession session); Future handleNewGroupCall(GroupCallSession groupCall); Future handleGroupCallEnded(GroupCallSession groupCall); bool get isWeb; /// This should be set to false if any calls in the client are in kConnected /// state. If another room tries to call you during a connected call this fires /// a handleMissedCall bool get canHandleNewCall; EncryptionKeyProvider? get keyProvider; }