summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/am/am.h
diff options
context:
space:
mode:
authormailwl <mailwl@gmail.com>2018-02-02 22:03:40 +0100
committerbunnei <bunneidev@gmail.com>2018-02-02 22:03:40 +0100
commit1a8f5bfb8e5caf5db56be40c25b33e5781e6f1cd (patch)
treee6d412d9d701125c4c76ab7f8e7d23b44ccf98b8 /src/core/hle/service/am/am.h
parentMerge pull request #154 from mailwl/vi_create_stray_array (diff)
downloadyuzu-1a8f5bfb8e5caf5db56be40c25b33e5781e6f1cd.tar
yuzu-1a8f5bfb8e5caf5db56be40c25b33e5781e6f1cd.tar.gz
yuzu-1a8f5bfb8e5caf5db56be40c25b33e5781e6f1cd.tar.bz2
yuzu-1a8f5bfb8e5caf5db56be40c25b33e5781e6f1cd.tar.lz
yuzu-1a8f5bfb8e5caf5db56be40c25b33e5781e6f1cd.tar.xz
yuzu-1a8f5bfb8e5caf5db56be40c25b33e5781e6f1cd.tar.zst
yuzu-1a8f5bfb8e5caf5db56be40c25b33e5781e6f1cd.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/am/am.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/src/core/hle/service/am/am.h b/src/core/hle/service/am/am.h
index 3b8a06c1d..b603c17dd 100644
--- a/src/core/hle/service/am/am.h
+++ b/src/core/hle/service/am/am.h
@@ -7,6 +7,10 @@
#include <memory>
#include "core/hle/service/service.h"
+namespace Kernel {
+class Event;
+}
+
namespace Service {
namespace NVFlinger {
class NVFlinger;
@@ -14,6 +18,95 @@ class NVFlinger;
namespace AM {
+// TODO: Add more languages
+enum SystemLanguage {
+ Japanese = 0,
+ English = 1,
+};
+
+class IWindowController final : public ServiceFramework<IWindowController> {
+public:
+ IWindowController();
+
+private:
+ void GetAppletResourceUserId(Kernel::HLERequestContext& ctx);
+ void AcquireForegroundRights(Kernel::HLERequestContext& ctx);
+};
+
+class IAudioController final : public ServiceFramework<IAudioController> {
+public:
+ IAudioController();
+};
+
+class IDisplayController final : public ServiceFramework<IDisplayController> {
+public:
+ IDisplayController();
+};
+
+class IDebugFunctions final : public ServiceFramework<IDebugFunctions> {
+public:
+ IDebugFunctions();
+};
+
+class ISelfController final : public ServiceFramework<ISelfController> {
+public:
+ ISelfController(std::shared_ptr<NVFlinger::NVFlinger> nvflinger);
+
+private:
+ void SetFocusHandlingMode(Kernel::HLERequestContext& ctx);
+ void SetRestartMessageEnabled(Kernel::HLERequestContext& ctx);
+ void SetPerformanceModeChangedNotification(Kernel::HLERequestContext& ctx);
+ void SetOperationModeChangedNotification(Kernel::HLERequestContext& ctx);
+ void SetOutOfFocusSuspendingEnabled(Kernel::HLERequestContext& ctx);
+ void LockExit(Kernel::HLERequestContext& ctx);
+ void UnlockExit(Kernel::HLERequestContext& ctx);
+ void CreateManagedDisplayLayer(Kernel::HLERequestContext& ctx);
+
+ std::shared_ptr<NVFlinger::NVFlinger> nvflinger;
+};
+
+class ICommonStateGetter final : public ServiceFramework<ICommonStateGetter> {
+public:
+ ICommonStateGetter();
+
+private:
+ enum class FocusState : u8 {
+ InFocus = 1,
+ NotInFocus = 2,
+ };
+
+ enum class OperationMode : u8 {
+ Handheld = 0,
+ Docked = 1,
+ };
+
+ void GetEventHandle(Kernel::HLERequestContext& ctx);
+ void ReceiveMessage(Kernel::HLERequestContext& ctx);
+ void GetCurrentFocusState(Kernel::HLERequestContext& ctx);
+ void GetOperationMode(Kernel::HLERequestContext& ctx);
+ void GetPerformanceMode(Kernel::HLERequestContext& ctx);
+
+ Kernel::SharedPtr<Kernel::Event> event;
+};
+
+class ILibraryAppletCreator final : public ServiceFramework<ILibraryAppletCreator> {
+public:
+ ILibraryAppletCreator();
+};
+
+class IApplicationFunctions final : public ServiceFramework<IApplicationFunctions> {
+public:
+ IApplicationFunctions();
+
+private:
+ void PopLaunchParameter(Kernel::HLERequestContext& ctx);
+ void SetTerminateResult(Kernel::HLERequestContext& ctx);
+ void GetDesiredLanguage(Kernel::HLERequestContext& ctx);
+ void InitializeGamePlayRecording(Kernel::HLERequestContext& ctx);
+ void SetGamePlayRecordingState(Kernel::HLERequestContext& ctx);
+ void NotifyRunning(Kernel::HLERequestContext& ctx);
+};
+
/// Registers all AM services with the specified service manager.
void InstallInterfaces(SM::ServiceManager& service_manager,
std::shared_ptr<NVFlinger::NVFlinger> nvflinger);