using Ryujinx.HLE.HOS.Applets;
using Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.ApplicationProxy.Types;
namespace Ryujinx.HLE
{
public interface IHostUiHandler
{
///
/// Displays an Input Dialog box to the user and blocks until text is entered.
///
/// Text that the user entered. Set to `null` on internal errors
/// True when OK is pressed, False otherwise. Also returns True on internal errors
bool DisplayInputDialog(SoftwareKeyboardUiArgs args, out string userText);
///
/// Displays a Message Dialog box to the user and blocks until it is closed.
///
/// True when OK is pressed, False otherwise.
bool DisplayMessageDialog(string title, string message);
///
/// Displays a Message Dialog box specific to Controller Applet and blocks until it is closed.
///
/// True when OK is pressed, False otherwise.
bool DisplayMessageDialog(ControllerAppletUiArgs args);
///
/// Tell the UI that we need to transisition to another program.
///
/// The device instance.
/// The program kind.
/// The value associated to the .
void ExecuteProgram(Switch device, ProgramSpecifyKind kind, ulong value);
}
}