private void StartInvokeThread(DeviceEventDelegate method, RAPI_DEVICEINFO devInfo) { if (invokeThread != null && invokeThread.IsAlive) { invokeThread.Abort(); } invokeThread = new Thread(new ParameterizedThreadStart(InvokeThreadMain)); invokeThread.Start(new ThreadInfo(method, devInfo)); }
internal static RAPI_DEVICEINFO GetDeviceInfo(IRAPIDevice iDevice) { RAPI_DEVICEINFO di = new RAPI_DEVICEINFO(); if (iDevice != null) { iDevice.GetDeviceInfo(ref di); } return(di); }
private void DeviceDisconnecting(ref RAPI_DEVICEINFO devInfo) { if (deviceInstances.TryGetValue(devInfo.DeviceId, out RemoteDevice rdev)) { rdev.Reconfigure(ref devInfo); } else { rdev = new RemoteDevice(ref devInfo); } OnDeviceDisconnected(rdev); }
private void DeviceConnecting(ref RAPI_DEVICEINFO devInfo) { // Get the matching device RemoteDevice rdev = Devices[devInfo.DeviceId]; if (rdev == null) { return; } OnDeviceConnected(rdev); }
public ThreadInfo(DeviceEventDelegate m, RAPI_DEVICEINFO d) { method = m; devInfo = d; }
internal void Reconfigure(ref RAPI_DEVICEINFO di) { IDevice = null; cache = di; }
internal RemoteDevice(ref RAPI_DEVICEINFO di) { cache = di; }