org.universAAL.middleware.ui
Interface IDialogManager

Package class diagram package IDialogManager
All Known Implementing Classes:
DialogManagerImpl, UserDialogManager

public interface IDialogManager

IDialogManager is the main (application-independent) component for handling system dialogs. It (1) represents the whole system by providing system menus (a unified view of all services available), possibilities to search for specific services, and by handling context-free user input (user input that cannot be assigned to any running dialog), and (2) assists the UI bus by (2.1) acting as a representative for the whole framework supporting context-awareness & personalization, and by (2.2) providing user-specific management of dialogs initiated by different applications to protect the user against a mess of parallel dialogs (decides whether some dialog needs to wait for another dialog to finish). This interface is supposed to be implemented by exactly one component. The first component that registers as a UICaller to the UI bus (and implements this interface) blocks the registration of any further implementation of this interface.

Author:
mtazari, eandgrg

Method Summary
 boolean checkNewDialog(UIRequest request)
          Check new dialog.
 void dialogFinished(String dialogID)
          Informs the IDialogManager that a running dialog has finished according to the information received from an UIHandler.
 UIRequest getSuspendedDialog(String dialogID)
          When the application has informed the bus that a suspended parent dialog is now ready to be resumed, then the bus uses this method in order to fetch the suspended parent dialog.
 void suspendDialog(String dialogID)
          The bus must use this method in order to inform the IDialogManager that a dialog has to be suspended.
 void userLogIn(Resource user, AbsLocation loginLocation)
          A User has logged in at a location resend the appropriate dialog.
 

Method Detail

checkNewDialog

boolean checkNewDialog(UIRequest request)
Check new dialog.

Parameters:
request - UIRequest to IUIBus
Returns:
the decision if the new UIRequest to IUIBus can be immediately forwarded to an UIHandler (returns true) or must wait for a higher priority dialog to finish (return false). In case of returning true, the IDialogManager must also add the current adaptation parameters to UIRequest so that the matchmaking on the IUIBus results in adaptive selection of UI channel. In case of returning false, the IUIBus ignores the UIRequest because it trusts that the IDialogManager will keep the UIRequest in a queue of suspended dialogs and will re-activate it whenever appropriate.

dialogFinished

void dialogFinished(String dialogID)
Informs the IDialogManager that a running dialog has finished according to the information received from an UIHandler. As a result this may result in re-activation of previously suspended dialog (by the IDialogManager).

Parameters:
dialogID - ID of the dialog

userLogIn

void userLogIn(Resource user,
               AbsLocation loginLocation)
A User has logged in at a location resend the appropriate dialog.

Parameters:
user - User of a system. It is declared as Resource because the type User is defined in the Profiling Ontology. The type is not needed for for matchmaking Either.
loginLocation - Location from which User has logged in to the system

getSuspendedDialog

UIRequest getSuspendedDialog(String dialogID)
When the application has informed the bus that a suspended parent dialog is now ready to be resumed, then the bus uses this method in order to fetch the suspended parent dialog.

Parameters:
dialogID - ID of the dialog
Returns:
the suspended parent dialog

suspendDialog

void suspendDialog(String dialogID)
The bus must use this method in order to inform the IDialogManager that a dialog has to be suspended. This is the case when during a dialog is running the user steps into a subdialog so the parent dialog must be suspended until the application receives the user input from the subdialog.

Parameters:
dialogID - ID of the dialog


Copyright © 2014 universAAL Consortium. All Rights Reserved.