private void DeviceStatusChanged(object sender, IHeadsetDevice.StatusEventArgs e)
{
IHeadsetDevice device = sender as IHeadsetDevice;
DeviceData data = (from d in devices where d.device == device select d).SingleOrDefault();
if (!data.active)
{
return;
}
if (!data.in_use && e.type != IHeadsetDevice.HEADSET_EVENT_TYPE.Talk)
{
return;
}
switch (e.type)
{
case IHeadsetDevice.HEADSET_EVENT_TYPE.Talk:
broker.TalkPressed();
break;
case IHeadsetDevice.HEADSET_EVENT_TYPE.ToggleTalk:
broker.TalkTogglePressed();
break;
case IHeadsetDevice.HEADSET_EVENT_TYPE.Hangup:
broker.HangupPressed();
break;
case IHeadsetDevice.HEADSET_EVENT_TYPE.Mute:
broker.Muted = true;
break;
case IHeadsetDevice.HEADSET_EVENT_TYPE.ToggleMute:
broker.Muted = !broker.Muted;
break;
case IHeadsetDevice.HEADSET_EVENT_TYPE.UnMute:
broker.Muted = false;
break;
case IHeadsetDevice.HEADSET_EVENT_TYPE.Redial:
//broker.RedialPressed();
break;
case IHeadsetDevice.HEADSET_EVENT_TYPE.Flash:
//broker.FlashPressed();
break;
}
}