package com.rudolfheszele.smsselector.controller;
/**
* This interface is for Controllers who want to read the messages
* @author erudhes
* @version 0.2
*/
public interface SmsReaderController extends Controller
{
/**
* These are the possible states of the message reading. The reader controller
* will be informed about the state of the reading by this enumeration
* @author erudhes
*/
public enum ProgressState
{
READING_STARTED_STATE,
NEW_PROGRESS_STATE,
DIRECTORY_CHANGED_STATE,
READING_FINISHED_STATE
}
/**
* This method is invoked when the service starts to read the messages
* @param smsReaderService The service, controlling the reading
*/
void smsReadingStarted(SmsSelectorSmsReaderService smsReaderService);
/**
* This method is called, when the service finishes reading the messages
*/
void smsReadingFinished();
/**
* This method is used to report progress to the reader controller
* @param progressState Represents the state of the reading
* @param additionalInfo In DIRECTORY_CHANGED_STATE stores the directory name as a String
* In NEW_PROGRESS_STATE stores the percent as an Integer
*/
void reportProgress(ProgressState progressState, Object additionalInfo);
}
|