Meeting constructor

Meeting(
  1. BuildContext context
)

Implementation

Meeting(this.context) {
  this.localParticipant = new Participant(
    context,
    context.read<MeBloc>().state.id,
    context.read<MeBloc>().state.displayName,
    true,
  );

  this._eventEmitter = context.read<RoomClientRepository>().eventEmitter;
  _topicEventEmitter = EventEmitter();

  this.participants = new Map();

  context.read<RoomClientRepository>().onMeetingJoined =
      (roomClientRepository) {
    // on meeting joined
  };

  _eventEmitter.on("peers-bloc-participant-joined", (Peer newPeer) {
    final newParticipant = new Participant(
      context,
      newPeer.id,
      newPeer.displayName,
      false,
    );
    participants[newPeer.id] = newParticipant;
    _eventEmitter.emit('participant-joined', newParticipant);
  });

  _eventEmitter.on("peers-bloc-participant-left", (peerId) {
    participants.remove(peerId);
    _eventEmitter.emit('participant-left', peerId);
  });

  _eventEmitter.on("pubsub-message", this.handlePubSubMessage);

  _eventEmitter.on("peers-bloc-presenter-changed", (peerId) {
    context
        .read<RoomBloc>()
        .add(RoomSetActivePresenterId(presenterId: peerId));
  });

  pubSub = PubSub(
      roomClient: context.read<RoomClientRepository>(),
      topicEventEmitter: _topicEventEmitter);
}