Example #1
0
        private void OnButtonEvent(JA.IDevice device, JA.ButtonEvent button, bool value)
        {
            try {
                switch (button) {
                    case JA.ButtonEvent.HookSwitch:
                        if (value) {
                            if (!hook_enabled)
                                StatusChanged(this, new StatusEventArgs(HEADSET_EVENT_TYPE.Talk));
                            hook_enabled = true;
                        }
                        else {
                            if (hook_enabled) {
                                StatusChanged(this, new StatusEventArgs(HEADSET_EVENT_TYPE.Hangup));
                                device.SetHookState(false);
                            }
                            hook_enabled = false;
                        }
                        break;
                    case JA.ButtonEvent.MicMute:
                        if (!ignore_next_mute)
                            StatusChanged(this, new StatusEventArgs(HEADSET_EVENT_TYPE.ToggleMute));
                        ignore_next_mute = false;
                        break;
                    case JA.ButtonEvent.Flash:
                        StatusChanged(this, new StatusEventArgs(HEADSET_EVENT_TYPE.Flash));
                        break;
                    case JA.ButtonEvent.RejectCall:
                        StatusChanged(this, new StatusEventArgs(HEADSET_EVENT_TYPE.Hangup));
                        break;
                    case JA.ButtonEvent.FireAlarm:
                        throw new Exception("WTF");
                    case JA.ButtonEvent.Redial:
                        StatusChanged(this, new StatusEventArgs(HEADSET_EVENT_TYPE.Redial));
                        break;

                }
            }
            catch (Exception){}
        }