/// <summary> /// Listen for detachment request by nurse. /// </summary> private void ListenForDetachmentRequest() { // Listen for proper disconnection while (!ListenForDetachmentRepeat()) { } BabyMonitors.Clear(); DetachmentRequest(); }
/// <summary> /// Broadcast the caretaker for all nurse's to see and listen for a baby monitor to attach. /// </summary> public string Broadcast() { if (!HasBabyMonitor()) { // Start broadcast _firstBroadcast = false; _isBroadcasting = true; _ = Task.Run(() => _communicator.BroadcastSelf()); // Get baby monitor string babyId = _communicator.GetBabyMonitor(); BabyMonitors.Add(new Baby(babyId, _communicator)); _isBroadcasting = false; _ = Task.Run(() => ListenForDetachmentRequest()); return(babyId); } return(string.Empty); }