private void BootstrapResponse(object Sender, CoapResponseEventArgs e) { object[] P = (object[])e.State; CoapResponseEventHandler Callback = (CoapResponseEventHandler)P[0]; object State = P[1]; if (Callback != null) { try { Callback.Invoke(this, e); } catch (Exception ex) { Log.Critical(ex); } } }
private void DeregisterResponse(object Sender, CoapResponseEventArgs e) { Lwm2mServerReference Server = (Lwm2mServerReference)e.State; Server.Registered = false; try { if (e.Ok) { this.OnDeregistrationSuccessful?.Invoke(this, new Lwm2mServerReferenceEventArgs(Server)); } else { this.OnDeregistrationFailed?.Invoke(this, new Lwm2mServerReferenceEventArgs(Server)); } } catch (Exception ex) { Log.Critical(ex); } }
private void RegisterResponse(object Sender, CoapResponseEventArgs e) { object[] P = (object[])e.State; Lwm2mServerReference Server = (Lwm2mServerReference)P[0]; bool Update = (bool)P[1]; Server.Registered = e.Ok; this.coapEndpoint.ScheduleEvent(this.RegisterTimeout, DateTime.Now.AddSeconds(this.lifetimeSeconds * 0.5), new object[] { Server, e.Ok, this.registrationEpoch }); try { if (e.Ok && this.state == Lwm2mState.Registration) { this.State = Lwm2mState.Operation; } if (e.Ok) { if (!Update) { Server.LocationPath = e.Message.LocationPath; } this.OnRegistrationSuccessful?.Invoke(this, new Lwm2mServerReferenceEventArgs(Server)); } else { this.OnRegistrationFailed?.Invoke(this, new Lwm2mServerReferenceEventArgs(Server)); } } catch (Exception ex) { Log.Critical(ex); } }