package com.vodafone360.people.engine;
import com.vodafone360.people.ApplicationCache;
import com.vodafone360.people.service.ServiceUiRequest;
import com.vodafone360.people.service.agent.UiAgent;
/**
* Interface which must be implemented by engine client. Provides the
* interface for engine to return the results of requests to their clients.
*/
public interface IEngineEventCallback {
/***
* Handle an incoming UI Event.
*
* @param event ServiceUiRequest - e.g. UI request complete.
* @param request ID of associated request.
* @param status status of request (success or error code).
* @param data object Data associated with completed request.
*/
void onUiEvent(ServiceUiRequest event, int request, int status, Object data);
/***
* Restarts the WorkerThread if it is in a sleeping or suspended state,
* ignored otherwise. This method is called by various events including:
* new UI or network events or a wake up alarm set by an engine
* requiring periodic activity.
*/
void kickWorkerThread();
/***
* Returns the UiAgent, for sending unsolicited messages to the UI.
*
* @return UiAgent object.
*/
public UiAgent getUiAgent();
/***
* Returns the ApplicationCache, for storing data.
*
* @return Application cache object.
*/
public ApplicationCache getApplicationCache();
}