mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-10-02 21:01:58 +00:00
@@ -14,16 +14,16 @@
|
||||
|
||||
namespace Service::HID {
|
||||
|
||||
ServiceFrameworkBase::FunctionInfoBase const* IActiveVibrationDeviceList::FindRequest(u32 key) {
|
||||
static constexpr auto functions = CreateStaticMap(
|
||||
FunctionInfo{0, C<&IActiveVibrationDeviceList::ActivateVibrationDevice>, "ActivateVibrationDevice"}
|
||||
);
|
||||
return HandlerTableGenerateWithFind(key, functions);
|
||||
}
|
||||
|
||||
IActiveVibrationDeviceList::IActiveVibrationDeviceList(Core::System& system_,
|
||||
std::shared_ptr<ResourceManager> resource)
|
||||
: ServiceFramework{system_, "IActiveVibrationDeviceList"}, resource_manager(resource) {
|
||||
// clang-format off
|
||||
FunctionInfoBase const* FindRequest(u32 key) override {
|
||||
return HandlerTableGenerateWithFind(key, functions);
|
||||
}
|
||||
static constexpr auto functions = CreateStaticMap(
|
||||
FunctionInfo{0, C<&IActiveVibrationDeviceList::ActivateVibrationDevice>, "ActivateVibrationDevice"}
|
||||
);
|
||||
}
|
||||
|
||||
IActiveVibrationDeviceList::~IActiveVibrationDeviceList() = default;
|
||||
|
||||
@@ -26,8 +26,8 @@ public:
|
||||
|
||||
private:
|
||||
static constexpr std::size_t MaxVibrationDevicesHandles{0x100};
|
||||
|
||||
Result ActivateVibrationDevice(Core::HID::VibrationDeviceHandle vibration_device_handle);
|
||||
FunctionInfoBase const* FindRequest(u32 key) override;
|
||||
|
||||
mutable std::mutex mutex;
|
||||
std::size_t list_size{};
|
||||
|
||||
@@ -12,6 +12,13 @@
|
||||
|
||||
namespace Service::HID {
|
||||
|
||||
ServiceFrameworkBase::FunctionInfoBase const* IAppletResource::FindRequest(u32 key) {
|
||||
static constexpr auto functions = CreateStaticMap(
|
||||
FunctionInfo{0, C<&IAppletResource::GetSharedMemoryHandle>, "GetSharedMemoryHandle"}
|
||||
);
|
||||
return HandlerTableGenerateWithFind(key, functions);
|
||||
}
|
||||
|
||||
IAppletResource::IAppletResource(Core::System& system_, std::shared_ptr<ResourceManager> resource,
|
||||
u64 applet_resource_user_id)
|
||||
: ServiceFramework{system_, "IAppletResource"}, aruid{applet_resource_user_id},
|
||||
|
||||
@@ -29,12 +29,7 @@ public:
|
||||
private:
|
||||
Result GetSharedMemoryHandle(OutCopyHandle<Kernel::KSharedMemory> out_shared_memory_handle);
|
||||
|
||||
FunctionInfoBase const* FindRequest(u32 key) override {
|
||||
return HandlerTableGenerateWithFind(key, functions);
|
||||
}
|
||||
static constexpr auto functions = CreateStaticMap(
|
||||
FunctionInfo{0, C<&IAppletResource::GetSharedMemoryHandle>, "GetSharedMemoryHandle"}
|
||||
);
|
||||
FunctionInfoBase const* FindRequest(u32 key) override;
|
||||
u64 aruid{};
|
||||
std::shared_ptr<ResourceManager> resource_manager;
|
||||
};
|
||||
|
||||
@@ -26,30 +26,28 @@ namespace Service::HID {
|
||||
// (15ms, 66Hz)
|
||||
constexpr auto hidbus_update_ns = std::chrono::nanoseconds{15 * 1000 * 1000};
|
||||
|
||||
ServiceFrameworkBase::FunctionInfoBase const* Hidbus::FindRequest(u32 key) {
|
||||
static constexpr auto functions = CreateStaticMap(
|
||||
FunctionInfo{1, C<&Hidbus::GetBusHandle>, "GetBusHandle"},
|
||||
FunctionInfo{2, C<&Hidbus::IsExternalDeviceConnected>, "IsExternalDeviceConnected"},
|
||||
FunctionInfo{3, C<&Hidbus::Initialize>, "Initialize"},
|
||||
FunctionInfo{4, C<&Hidbus::Finalize>, "Finalize"},
|
||||
FunctionInfo{5, C<&Hidbus::EnableExternalDevice>, "EnableExternalDevice"},
|
||||
FunctionInfo{6, C<&Hidbus::GetExternalDeviceId>, "GetExternalDeviceId"},
|
||||
FunctionInfo{7, C<&Hidbus::SendCommandAsync>, "SendCommandAsync"},
|
||||
FunctionInfo{8, C<&Hidbus::GetSendCommandAsynceResult>, "GetSendCommandAsynceResult"},
|
||||
FunctionInfo{9, C<&Hidbus::SetEventForSendCommandAsycResult>, "SetEventForSendCommandAsycResult"},
|
||||
FunctionInfo{10, C<&Hidbus::GetSharedMemoryHandle>, "GetSharedMemoryHandle"},
|
||||
FunctionInfo{11, C<&Hidbus::EnableJoyPollingReceiveMode>, "EnableJoyPollingReceiveMode"},
|
||||
FunctionInfo{12, C<&Hidbus::DisableJoyPollingReceiveMode>, "DisableJoyPollingReceiveMode"},
|
||||
FunctionInfo{13, nullptr, "GetPollingData"},
|
||||
FunctionInfo{14, C<&Hidbus::SetStatusManagerType>, "SetStatusManagerType"}
|
||||
);
|
||||
return HandlerTableGenerateWithFind(key, functions);
|
||||
}
|
||||
|
||||
Hidbus::Hidbus(Core::System& system_)
|
||||
: ServiceFramework{system_, "hidbus"}, service_context{system_, service_name} {
|
||||
|
||||
// clang-format off
|
||||
FunctionInfoBase const* FindRequest(u32 key) override {
|
||||
return HandlerTableGenerateWithFind(key, functions);
|
||||
}
|
||||
static constexpr auto functions = CreateStaticMap(
|
||||
FunctionInfo{1, C<&Hidbus::GetBusHandle>, "GetBusHandle"},
|
||||
FunctionInfo{2, C<&Hidbus::IsExternalDeviceConnected>, "IsExternalDeviceConnected"},
|
||||
FunctionInfo{3, C<&Hidbus::Initialize>, "Initialize"},
|
||||
FunctionInfo{4, C<&Hidbus::Finalize>, "Finalize"},
|
||||
FunctionInfo{5, C<&Hidbus::EnableExternalDevice>, "EnableExternalDevice"},
|
||||
FunctionInfo{6, C<&Hidbus::GetExternalDeviceId>, "GetExternalDeviceId"},
|
||||
FunctionInfo{7, C<&Hidbus::SendCommandAsync>, "SendCommandAsync"},
|
||||
FunctionInfo{8, C<&Hidbus::GetSendCommandAsynceResult>, "GetSendCommandAsynceResult"},
|
||||
FunctionInfo{9, C<&Hidbus::SetEventForSendCommandAsycResult>, "SetEventForSendCommandAsycResult"},
|
||||
FunctionInfo{10, C<&Hidbus::GetSharedMemoryHandle>, "GetSharedMemoryHandle"},
|
||||
FunctionInfo{11, C<&Hidbus::EnableJoyPollingReceiveMode>, "EnableJoyPollingReceiveMode"},
|
||||
FunctionInfo{12, C<&Hidbus::DisableJoyPollingReceiveMode>, "DisableJoyPollingReceiveMode"},
|
||||
FunctionInfo{13, nullptr, "GetPollingData"},
|
||||
FunctionInfo{14, C<&Hidbus::SetStatusManagerType>, "SetStatusManagerType"}
|
||||
);
|
||||
|
||||
// Register update callbacks
|
||||
hidbus_update_event = Core::Timing::CreateEvent(
|
||||
"Hidbus::UpdateCallback",
|
||||
|
||||
@@ -144,6 +144,8 @@ private:
|
||||
}
|
||||
}
|
||||
|
||||
FunctionInfoBase const* FindRequest(u32 key) override;
|
||||
|
||||
bool is_hidbus_enabled{false};
|
||||
HidbusStatusManager hidbus_status{};
|
||||
std::array<HidbusDevice, max_number_of_handles> devices{};
|
||||
|
||||
Reference in New Issue
Block a user