AppletManager.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using Ryujinx.Common.Logging;
  2. using Ryujinx.HLE.HOS.Applets.Browser;
  3. using Ryujinx.HLE.HOS.Applets.Cabinet;
  4. using Ryujinx.HLE.HOS.Applets.Dummy;
  5. using Ryujinx.HLE.HOS.Applets.Error;
  6. using Ryujinx.HLE.HOS.Services.Am.AppletAE;
  7. using System;
  8. using System.Collections.Generic;
  9. namespace Ryujinx.HLE.HOS.Applets
  10. {
  11. static class AppletManager
  12. {
  13. public static IApplet Create(AppletId applet, Horizon system)
  14. {
  15. switch (applet)
  16. {
  17. case AppletId.Controller:
  18. return new ControllerApplet(system);
  19. case AppletId.Error:
  20. return new ErrorApplet(system);
  21. case AppletId.PlayerSelect:
  22. return new PlayerSelectApplet(system);
  23. case AppletId.SoftwareKeyboard:
  24. return new SoftwareKeyboardApplet(system);
  25. case AppletId.LibAppletWeb:
  26. return new BrowserApplet(system);
  27. case AppletId.LibAppletShop:
  28. return new BrowserApplet(system);
  29. case AppletId.LibAppletOff:
  30. return new BrowserApplet(system);
  31. case AppletId.MiiEdit:
  32. Logger.Warning?.Print(LogClass.Application, $"Please use the MiiEdit inside File/Open Applet");
  33. return new DummyApplet(system);
  34. case AppletId.Cabinet:
  35. return new CabinetApplet(system);
  36. }
  37. Logger.Warning?.Print(LogClass.Application, $"Applet {applet} not implemented!");
  38. return new DummyApplet(system);
  39. }
  40. }
  41. }