// manejo de GatewayState public void FireGatewayStateChanged(GatewayStates old_state) { if (GatewayStateChanged != null) { GatewayStateChanged(old_state); } }
public void LeaveOutOfService(GatewayStates gtw) { if (serviceState != States.OUTOFSERVICE) { return; } // esto es por que asi evito que el test de lifetime de siempre false.- serviceState = States.UNLOADED; if (!TestLifetime(LifeTime)) { // si al salir de stock serviceState = gtw == GatewayStates.CONNECTED ? States.OFFLINE : States.MAINT; } // verifico si el estado en verdad cambio. STrace.Debug(GetType().FullName, String.Format("DEVICE_STATE[{0}]: LEAVE OUTOFSERVICE TO {1}", Id, serviceState)); RequireCommit = true; }
public void SetAdminState(AdminStates adm, GatewayStates gtw) { var oldState = adminState; adminState = adm; if (oldState == adminState) { return; } if (adminState == AdminStates.INSERVICE) { LeaveOutOfService(gtw); return; } STrace.Debug(GetType().FullName, String.Format("DEVICE_STATE[{0}]: ENTER OUTOFSERVICE FROM {1}", Id, serviceState)); ServiceState = States.OUTOFSERVICE; RequireCommit = true; }
protected override void OnGatewayStateChanged(GatewayStates old_state) { client.FireGatewayStateChanged(old_state); }
protected abstract void OnGatewayStateChanged(GatewayStates old_state);
// manejo de GatewayState public void FireGatewayStateChanged(GatewayStates old_state) { OnGatewayStateChanged(old_state); }