Line data Source code
1 : /* 2 : * Famedly Matrix SDK 3 : * Copyright (C) 2020, 2021 Famedly GmbH 4 : * 5 : * This program is free software: you can redistribute it and/or modify 6 : * it under the terms of the GNU Affero General Public License as 7 : * published by the Free Software Foundation, either version 3 of the 8 : * License, or (at your option) any later version. 9 : * 10 : * This program is distributed in the hope that it will be useful, 11 : * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 : * GNU Affero General Public License for more details. 14 : * 15 : * You should have received a copy of the GNU Affero General Public License 16 : * along with this program. If not, see <https://www.gnu.org/licenses/>. 17 : */ 18 : 19 : import 'package:matrix/matrix.dart'; 20 : 21 : class ToDeviceEvent extends BasicEventWithSender { 22 : Map<String, dynamic>? encryptedContent; 23 : 24 48 : String get sender => senderId; 25 0 : set sender(String sender) => senderId = sender; 26 : 27 31 : ToDeviceEvent({ 28 : required String sender, 29 : required super.type, 30 : required Map<String, dynamic> super.content, 31 : this.encryptedContent, 32 31 : }) : super(senderId: sender); 33 : 34 31 : factory ToDeviceEvent.fromJson(Map<String, dynamic> json) { 35 31 : final event = BasicEventWithSender.fromJson(json); 36 31 : return ToDeviceEvent( 37 93 : sender: event.senderId, type: event.type, content: event.content); 38 : } 39 : } 40 : 41 : class ToDeviceEventDecryptionError extends ToDeviceEvent { 42 : Exception exception; 43 : StackTrace? stackTrace; 44 0 : ToDeviceEventDecryptionError({ 45 : required ToDeviceEvent toDeviceEvent, 46 : required this.exception, 47 : this.stackTrace, 48 0 : }) : super( 49 0 : sender: toDeviceEvent.senderId, 50 0 : content: toDeviceEvent.content, 51 0 : type: toDeviceEvent.type, 52 : ); 53 : }