void CEPongAppUi::HandleWsEventL(const TWsEvent &aEvent, CCoeControl *aDestination) { if (aEvent.Type() == EEventUser) { TApaSystemEvent* eventData = reinterpret_cast<TApaSystemEvent*> (aEvent.EventData()); if ((*eventData) == EApaSystemEventShutdown) { eventData++; if ((*eventData) == KGoomMemoryLowEvent) { return; // skip default handling } } } if (aEvent.Type() == EEventFocusGained) { if (iAppView) iAppView->startEngine(); } else if (aEvent.Type() == EEventFocusLost) { if (iAppView) iAppView->stopEngine(ETrue); } CAknAppUi::HandleWsEventL(aEvent, aDestination); }
/** * Handles system events * @param aEvent - event that has to be handled by the function * */ void CTApp1Ui::HandleSystemEventL(const TWsEvent& aEvent) { switch (*(TApaSystemEvent*)(aEvent.EventData())) { case EApaSystemEventBroughtToForeground: RProcess::Rendezvous(KErrNone); break; default: User::Leave(KErrAbort); break; } }
/** Fetches a message */ TInt COomMessageFetch::Fail() { TWsEvent event; TPtr8 ptr(NULL,0); TUid uid; event.SetType(EEventMessageReady); event.SetHandle(CLIENT_HANDLE); event.SetTimeNow(); SEventMessageReady& eventMessageReady=*(SEventMessageReady*)event.EventData(); eventMessageReady.iWindowGroupIdentifier=iWinGroup2.Identifier(); eventMessageReady.iMessageUid=TUid::Uid(UID_VALUE); eventMessageReady.iMessageParametersSize=MESSAGE_LEN; TInt ret=TheClient->iWs.FetchMessage(uid,ptr,event); if (ret==KErrNone) User::Free((TAny *)ptr.Ptr()); return(ret); }
void SendWindowEvent(TInt aEvent, const char* data) { // Create a window server event RWsSession wsSession; TWsEvent event; if ( wsSession.Connect() == KErrNone ) { // Set event data. eventType.data = KData; event.SetType(EEventUser + aEvent); // set event type event.SetTimeNow(); // set the event time event.SetHandle(wsSession.WsHandle()); // set window server handle if ( data ) ((char**)event.EventData())[0] = strdup(data); // Send the created event wsSession.SendEventToAllWindowGroups(event); } }
TInt CSdlAppServ::ObserverEvent(TInt aEvent, TInt aParam) { if(iObserver != NULL) { if(RThread().Id() == iMainId) { return iObserver->SdlEvent(aEvent, aParam); } else if(RThread().Id() == gEpocEnv->iId && EnvUtils::IsOwnThreaded()) { return iObserver->SdlThreadEvent(aEvent, aParam); } else { TWsEvent event; event.SetType(ESDLWsEvent); TInt load[] = {aEvent, aParam}; Mem::Copy(event.EventData(), load, sizeof(TInt) * 2); event.SetTimeNow(); EpocSdlEnv::EventQueue().Append(event); } } return 0; }
LOCAL_C TInt InternalEvent(const TWsEvent& aWsEvent) { const TInt* load = reinterpret_cast<const TInt*>(aWsEvent.EventData()); EpocSdlEnv::ObserverEvent(load[0], load[1]); return 0; }