LCOV - code coverage report
Current view: top level - lib/src/voip/models - key_provider.dart (source / functions) Hit Total Coverage
Test: merged.info Lines: 0 19 0.0 %
Date: 2024-11-12 07:37:08 Functions: 0 0 -

          Line data    Source code
       1             : import 'dart:typed_data';
       2             : 
       3             : import 'package:matrix/matrix.dart';
       4             : 
       5             : enum E2EEKeyMode {
       6             :   kNone,
       7             :   kSharedKey,
       8             :   kPerParticipant,
       9             : }
      10             : 
      11             : abstract class EncryptionKeyProvider {
      12             :   Future<void> onSetEncryptionKey(
      13             :     CallParticipant participant,
      14             :     Uint8List key,
      15             :     int index,
      16             :   );
      17             : 
      18             :   Future<Uint8List> onRatchetKey(CallParticipant participant, int index);
      19             : 
      20             :   Future<Uint8List> onExportKey(CallParticipant participant, int index);
      21             : }
      22             : 
      23             : class EncryptionKeyEntry {
      24             :   final int index;
      25             :   final String key;
      26           0 :   EncryptionKeyEntry(this.index, this.key);
      27             : 
      28           0 :   factory EncryptionKeyEntry.fromJson(Map<String, dynamic> json) =>
      29           0 :       EncryptionKeyEntry(
      30           0 :         json['index'] as int,
      31           0 :         json['key'] as String,
      32             :       );
      33             : 
      34           0 :   Map<String, dynamic> toJson() => {
      35           0 :         'index': index,
      36           0 :         'key': key,
      37             :       };
      38             : }
      39             : 
      40             : class EncryptionKeysEventContent {
      41             :   // Get the participant info from todevice message params
      42             :   final List<EncryptionKeyEntry> keys;
      43             :   final String callId;
      44           0 :   EncryptionKeysEventContent(this.keys, this.callId);
      45             : 
      46           0 :   factory EncryptionKeysEventContent.fromJson(Map<String, dynamic> json) =>
      47           0 :       EncryptionKeysEventContent(
      48           0 :         (json['keys'] as List<dynamic>)
      49           0 :             .map(
      50           0 :               (e) => EncryptionKeyEntry.fromJson(e as Map<String, dynamic>),
      51             :             )
      52           0 :             .toList(),
      53           0 :         json['call_id'] as String,
      54             :       );
      55             : 
      56           0 :   Map<String, dynamic> toJson() => {
      57           0 :         'keys': keys.map((e) => e.toJson()).toList(),
      58           0 :         'call_id': callId,
      59             :       };
      60             : }

Generated by: LCOV version 1.14