void EventProcessor::OnPressed() {
    Programme newState;
    if (timeService.IsNight()) {
      newState = Lights_Night;
    } else if (timeService.IsMorning()) {
      newState = Lights_Morning;
    } else {
      newState = masterSwitchOnTransitions[currentState];
    }

    TransitionTo(newState);
  }
void SupplicantStateTracker::TransitionOnSupplicantStateChange(
    /* [in] */ CStateChangeResult* stateChangeResult)
{
    SupplicantState supState;
    stateChangeResult->GetSupplicantState(&supState);

    if (DBG) Logger::D(TAG, "Supplicant state: %d\n", supState);

    switch (supState) {
        case Elastos::Droid::Wifi::SupplicantState_DISCONNECTED:
            TransitionTo(mDisconnectState);
            break;
        case Elastos::Droid::Wifi::SupplicantState_INTERFACE_DISABLED:
            //we should have received a disconnection already, do nothing
            break;
        case Elastos::Droid::Wifi::SupplicantState_SCANNING:
            TransitionTo(mScanState);
            break;
        case Elastos::Droid::Wifi::SupplicantState_AUTHENTICATING:
        case Elastos::Droid::Wifi::SupplicantState_ASSOCIATING:
        case Elastos::Droid::Wifi::SupplicantState_ASSOCIATED:
        case Elastos::Droid::Wifi::SupplicantState_FOUR_WAY_HANDSHAKE:
        case Elastos::Droid::Wifi::SupplicantState_GROUP_HANDSHAKE:
            TransitionTo(mHandshakeState);
            break;
        case Elastos::Droid::Wifi::SupplicantState_COMPLETED:
            TransitionTo(mCompletedState);
            break;
        case Elastos::Droid::Wifi::SupplicantState_DORMANT:
            TransitionTo(mDormantState);
            break;
        case Elastos::Droid::Wifi::SupplicantState_INACTIVE:
            TransitionTo(mInactiveState);
            break;
        case Elastos::Droid::Wifi::SupplicantState_UNINITIALIZED:
        case Elastos::Droid::Wifi::SupplicantState_INVALID:
            TransitionTo(mUninitializedState);
            break;
        default:
            Logger::E(TAG, "Unknown supplicant state %d", supState);
            break;
    }
}
 void EventProcessor::OffPressed() {
   TransitionTo(Lights_Off);
 }