[Protocol v7] Remote unpublish & expose permissions (#101)
* fix * impl * oldPermissions * mods
This commit is contained in:
@@ -12,6 +12,7 @@ import '../support/disposable.dart';
|
||||
import '../track/local/local.dart';
|
||||
import '../track/track.dart';
|
||||
import '../types/other.dart';
|
||||
import '../types/participant_permissions.dart';
|
||||
import 'local.dart';
|
||||
import 'remote.dart';
|
||||
|
||||
@@ -59,6 +60,9 @@ abstract class Participant<T extends TrackPublication>
|
||||
/// Connection quality between the [Participant] and the server.
|
||||
ConnectionQuality _connectionQuality = ConnectionQuality.unknown;
|
||||
|
||||
ParticipantPermissions _permissions = const ParticipantPermissions();
|
||||
ParticipantPermissions get permissions => _permissions;
|
||||
|
||||
/// when the participant joined the room
|
||||
DateTime get joinedAt {
|
||||
final pi = _participantInfo;
|
||||
@@ -161,6 +165,16 @@ abstract class Participant<T extends TrackPublication>
|
||||
_setMetadata(info.metadata);
|
||||
}
|
||||
_participantInfo = info;
|
||||
setPermissions(info.permission.toLKType());
|
||||
}
|
||||
|
||||
@internal
|
||||
// returns oldValue (if updated)
|
||||
ParticipantPermissions? setPermissions(ParticipantPermissions newValue) {
|
||||
if (_permissions == newValue) return null;
|
||||
final oldValue = _permissions;
|
||||
_permissions = newValue;
|
||||
return oldValue;
|
||||
}
|
||||
|
||||
/// for internal use
|
||||
|
||||
Reference in New Issue
Block a user