private void BtnAction_Click(object sender, EventArgs e) { try { GenericEnums.SignalType signalType = GenericEnums.SignalType.Undefined; // do specific action , check what button was clicked by looking at the sender if (sender == btnAudio || sender == btnVideo || sender == btnRemote) { if (((Button)sender).Text.ToLower().Equals(GenericEnums.SignalType.Start.ToString().ToLower())) { signalType = GenericEnums.SignalType.Start; } else { signalType = GenericEnums.SignalType.Stop; } } else { if (((Button)sender).Text.ToLower().Equals(GenericEnums.SignalType.Pause.ToString().ToLower())) { signalType = GenericEnums.SignalType.Pause; } else { signalType = GenericEnums.SignalType.Resume; } } GenericEnums.RoomType actionType = GenericEnums.RoomType.Undefined; if (sender == btnAudio || sender == btnMuteAudio) { actionType = GenericEnums.RoomType.Audio; } else { if (sender == btnVideo || sender == btnPauseVideo) { actionType = GenericEnums.RoomType.Video; } else { actionType = GenericEnums.RoomType.Remoting; } } // finally, update the button text ToggleStatusUpdate(signalType, (Button)sender); // trigger the event so that the Controller does specific action // provide the action type as event arg RoomActionEventArgs args = new RoomActionEventArgs() { RoomType = actionType, SignalType = signalType }; _roomActionTriggered.BeginInvoke(this, args, null, null); } catch (Exception ex) { Tools.Instance.Logger.LogError(ex.ToString()); } }
public bool ConferencePermission(string senderIdentity, GenericEnums.RoomType roomType) { bool canStart = false; try { RoomActionEventArgs args = new RoomActionEventArgs() { Identity = senderIdentity, RoomType = roomType }; // request permission from the user _controllerHandlers.ConferencePermissionObserver.Invoke(this, args); canStart = args.HasPermission; } catch (Exception ex) { Tools.Instance.Logger.LogError(ex.ToString()); } return canStart; }