1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2024-10-22 22:43:22 +00:00
comunicmobile/lib/lists/call_members_list.dart

22 lines
728 B
Dart

import 'package:comunic/lists/abstract_list.dart';
import 'package:comunic/models/call_member.dart';
/// Call members list
///
/// @author Pierre Hubert
class CallMembersList extends AbstractList<CallMember> {
/// Get the IDs of the users in this list
Set<int> get usersID => this.map((f) => f.userID).toSet();
/// Remove a specific member from this list
void removeUser(int? userID) => this.removeWhere((f) => f.userID == userID);
/// Get the connection of a specific user
CallMember getUser(int? userID) => this.firstWhere((f) => f.userID == userID);
/// Extract ready peers from this list
CallMembersList get readyPeers =>
CallMembersList()..addAll(where((f) => f.status == MemberStatus.READY));
}