private void RegisterConnectionStatusChangedEvent() { _connectionChangedCallback = (int result, WiFiDirectConnectionState stateInfo, string address, IntPtr userData) => { if (_connectionStatusChanged != null) { WiFiDirectError error = (WiFiDirectError)result; WiFiDirectConnectionState state = stateInfo; _connectionStatusChanged(null, new ConnectionStatusChangedEventArgs(error, state)); } }; int ret = Interop.WiFiDirect.SetConnectionChangedCallback(_connectionChangedCallback, IntPtr.Zero); if (ret != (int)WiFiDirectError.None) { Log.Error(Globals.LogTag, "Failed to set connection status changed callback, Error - " + (WiFiDirectError)ret); } }
internal ConnectionStatusChangedEventArgs(WiFiDirectError error, WiFiDirectConnectionState state) { _error = error; _state = state; }
internal ConnectionStateChangedEventArgs(WiFiDirectError error, WiFiDirectConnectionState state, string macAddress) { _error = error; _state = state; _macAddress = macAddress; }