pineapple-src/src/core/hle/service/hid/hid_system_server.h

77 lines
3.3 KiB
C
Raw Normal View History

2023-11-16 16:41:07 +00:00
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#include "core/hle/service/kernel_helpers.h"
#include "core/hle/service/service.h"
namespace Core {
class System;
}
namespace Kernel {
class KEvent;
}
namespace Service::HID {
class ResourceManager;
class IHidSystemServer final : public ServiceFramework<IHidSystemServer> {
public:
explicit IHidSystemServer(Core::System& system_, std::shared_ptr<ResourceManager> resource);
~IHidSystemServer() override;
private:
void ApplyNpadSystemCommonPolicy(HLERequestContext& ctx);
2023-11-21 16:41:58 +00:00
void EnableAssigningSingleOnSlSrPress(HLERequestContext& ctx);
void DisableAssigningSingleOnSlSrPress(HLERequestContext& ctx);
2023-11-16 16:41:07 +00:00
void GetLastActiveNpad(HLERequestContext& ctx);
2023-11-21 16:41:58 +00:00
void ApplyNpadSystemCommonPolicyFull(HLERequestContext& ctx);
void GetNpadFullKeyGripColor(HLERequestContext& ctx);
void GetMaskedSupportedNpadStyleSet(HLERequestContext& ctx);
void SetSupportedNpadStyleSetAll(HLERequestContext& ctx);
2024-01-08 21:24:26 +00:00
void GetNpadCaptureButtonAssignment(HLERequestContext& ctx);
2023-11-21 16:41:58 +00:00
void GetAppletDetailedUiType(HLERequestContext& ctx);
void GetNpadInterfaceType(HLERequestContext& ctx);
void GetNpadLeftRightInterfaceType(HLERequestContext& ctx);
void HasBattery(HLERequestContext& ctx);
void HasLeftRightBattery(HLERequestContext& ctx);
2023-11-16 16:41:07 +00:00
void GetUniquePadsFromNpad(HLERequestContext& ctx);
2024-01-08 21:24:26 +00:00
void SetNpadSystemExtStateEnabled(HLERequestContext& ctx);
2023-12-08 06:20:22 +00:00
void RegisterAppletResourceUserId(HLERequestContext& ctx);
void UnregisterAppletResourceUserId(HLERequestContext& ctx);
void EnableAppletToGetInput(HLERequestContext& ctx);
void EnableAppletToGetSixAxisSensor(HLERequestContext& ctx);
void EnableAppletToGetPadInput(HLERequestContext& ctx);
void EnableAppletToGetTouchScreen(HLERequestContext& ctx);
2024-01-07 05:02:55 +00:00
void IsJoyConAttachedOnAllRail(HLERequestContext& ctx);
2023-11-21 16:41:58 +00:00
void AcquireConnectionTriggerTimeoutEvent(HLERequestContext& ctx);
void AcquireDeviceRegisteredEventForControllerSupport(HLERequestContext& ctx);
void GetRegisteredDevices(HLERequestContext& ctx);
void AcquireUniquePadConnectionEventHandle(HLERequestContext& ctx);
void GetUniquePadIds(HLERequestContext& ctx);
2023-11-16 16:41:07 +00:00
void AcquireJoyDetachOnBluetoothOffEventHandle(HLERequestContext& ctx);
void IsUsbFullKeyControllerEnabled(HLERequestContext& ctx);
2023-11-21 16:41:58 +00:00
void IsHandheldButtonPressedOnConsoleMode(HLERequestContext& ctx);
void InitializeFirmwareUpdate(HLERequestContext& ctx);
2024-01-07 05:02:55 +00:00
void CheckFirmwareUpdateRequired(HLERequestContext& ctx);
void SetFirmwareHotfixUpdateSkipEnabled(HLERequestContext& ctx);
void InitializeUsbFirmwareUpdate(HLERequestContext& ctx);
void FinalizeUsbFirmwareUpdate(HLERequestContext& ctx);
2023-11-21 16:41:58 +00:00
void InitializeUsbFirmwareUpdateWithoutMemory(HLERequestContext& ctx);
2023-11-16 16:41:07 +00:00
void GetTouchScreenDefaultConfiguration(HLERequestContext& ctx);
2024-01-07 05:02:55 +00:00
void IsUsingCustomButtonConfig(HLERequestContext& ctx);
2023-11-16 16:41:07 +00:00
std::shared_ptr<ResourceManager> GetResourceManager();
2023-11-21 16:41:58 +00:00
Kernel::KEvent* acquire_connection_trigger_timeout_event;
Kernel::KEvent* acquire_device_registered_event;
2023-11-16 16:41:07 +00:00
Kernel::KEvent* joy_detach_event;
2023-11-21 16:41:58 +00:00
Kernel::KEvent* unique_pad_connection_event;
2023-11-16 16:41:07 +00:00
KernelHelpers::ServiceContext service_context;
std::shared_ptr<ResourceManager> resource_manager;
};
} // namespace Service::HID