Exemplo n.º 1
0
        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());
            }
        }
Exemplo n.º 2
0
 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;
 }