private void RegisterDeviceStateChangedEvent() { _deviceStateChangedCallback = (int result, WiFiDirectDeviceState stateInfo, IntPtr userData) => { if (_deviceStateChanged != null) { WiFiDirectError error = (WiFiDirectError)result; WiFiDirectDeviceState state = stateInfo; _deviceStateChanged(null, new DeviceStateChangedEventArgs(error, state)); } }; int ret = Interop.WiFiDirect.SetDeviceStateChangedCallback(_deviceStateChangedCallback, IntPtr.Zero); if (ret != (int)WiFiDirectError.None) { Log.Error(Globals.LogTag, "Failed to set device state changed callback, Error - " + (WiFiDirectError)ret); } }
internal DeviceStateChangedEventArgs(WiFiDirectError error, WiFiDirectDeviceState state) { _error = error; _state = state; }