Line data Source code
1 : /*
2 : * Famedly Matrix SDK
3 : * Copyright (C) 2019, 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_api_lite.dart';
20 :
21 : class SpaceChild {
22 : final String? roomId;
23 : final List<String> via;
24 : final String order;
25 : final bool? suggested;
26 :
27 2 : SpaceChild.fromState(StrippedStateEvent state)
28 6 : : assert(state.type == EventTypes.SpaceChild),
29 2 : roomId = state.stateKey,
30 4 : via = state.content.tryGetList<String>('via') ?? [],
31 4 : order = state.content.tryGet<String>('order') ?? '',
32 4 : suggested = state.content.tryGet<bool>('suggested');
33 : }
34 :
35 : class SpaceParent {
36 : final String? roomId;
37 : final List<String> via;
38 : final bool? canonical;
39 :
40 2 : SpaceParent.fromState(StrippedStateEvent state)
41 6 : : assert(state.type == EventTypes.SpaceParent),
42 2 : roomId = state.stateKey,
43 4 : via = state.content.tryGetList<String>('via') ?? [],
44 4 : canonical = state.content.tryGet<bool>('canonical');
45 : }
|