mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-11-23 09:59:19 +01:00
Implement ICommonStateGetter::GetDefaultDisplayResolutionChangeEvent
This commit is contained in:
parent
7e7c0252ca
commit
9813f9f8dc
@ -11,7 +11,10 @@ namespace skyline::service::am {
|
|||||||
messageEvent->Signal();
|
messageEvent->Signal();
|
||||||
}
|
}
|
||||||
|
|
||||||
ICommonStateGetter::ICommonStateGetter(const DeviceState &state, ServiceManager &manager) : messageEvent(std::make_shared<type::KEvent>(state, false)), BaseService(state, manager) {
|
ICommonStateGetter::ICommonStateGetter(const DeviceState &state, ServiceManager &manager)
|
||||||
|
: BaseService(state, manager),
|
||||||
|
messageEvent(std::make_shared<type::KEvent>(state, false)),
|
||||||
|
defaultDisplayResolutionChangeEvent(std::make_shared<type::KEvent>(state, false)) {
|
||||||
operationMode = static_cast<OperationMode>(state.settings->operationMode);
|
operationMode = static_cast<OperationMode>(state.settings->operationMode);
|
||||||
Logger::Info("Switch to mode: {}", static_cast<bool>(operationMode) ? "Docked" : "Handheld");
|
Logger::Info("Switch to mode: {}", static_cast<bool>(operationMode) ? "Docked" : "Handheld");
|
||||||
QueueMessage(Message::FocusStateChange);
|
QueueMessage(Message::FocusStateChange);
|
||||||
@ -72,6 +75,15 @@ namespace skyline::service::am {
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Result ICommonStateGetter::GetDefaultDisplayResolutionChangeEvent(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
||||||
|
// TODO: Implement properly when we support listeners for settings
|
||||||
|
auto handle{state.process->InsertItem(defaultDisplayResolutionChangeEvent)};
|
||||||
|
Logger::Debug("Default Display Resolution Change Event Handle: 0x{:X}", handle);
|
||||||
|
|
||||||
|
response.copyHandles.push_back(handle);
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
Result ICommonStateGetter::SetCpuBoostMode(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
Result ICommonStateGetter::SetCpuBoostMode(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
||||||
cpuBoostMode = request.Pop<CpuBoostMode>();
|
cpuBoostMode = request.Pop<CpuBoostMode>();
|
||||||
switch (cpuBoostMode) {
|
switch (cpuBoostMode) {
|
||||||
|
@ -59,6 +59,8 @@ namespace skyline::service::am {
|
|||||||
ENUM_CASE_PAIR(PowerSaving, "Power Saving");
|
ENUM_CASE_PAIR(PowerSaving, "Power Saving");
|
||||||
})
|
})
|
||||||
|
|
||||||
|
std::shared_ptr<type::KEvent> defaultDisplayResolutionChangeEvent; //!< Signalled when the default display resolution changes,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Queues a message for the application to read via ReceiveMessage
|
* @brief Queues a message for the application to read via ReceiveMessage
|
||||||
* @param message The message to queue
|
* @param message The message to queue
|
||||||
@ -110,6 +112,11 @@ namespace skyline::service::am {
|
|||||||
*/
|
*/
|
||||||
Result GetDefaultDisplayResolution(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response);
|
Result GetDefaultDisplayResolution(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @url https://switchbrew.org/wiki/Applet_Manager_services#GetDefaultDisplayResolutionChangeEvent
|
||||||
|
*/
|
||||||
|
Result GetDefaultDisplayResolutionChangeEvent(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Sets the CPU boost mode to the supplied value
|
* @brief Sets the CPU boost mode to the supplied value
|
||||||
* @url https://switchbrew.org/wiki/Applet_Manager_services#SetCpuBoostMode
|
* @url https://switchbrew.org/wiki/Applet_Manager_services#SetCpuBoostMode
|
||||||
@ -124,6 +131,7 @@ namespace skyline::service::am {
|
|||||||
SFUNC(0x9, ICommonStateGetter, GetCurrentFocusState),
|
SFUNC(0x9, ICommonStateGetter, GetCurrentFocusState),
|
||||||
SFUNC(0x32, ICommonStateGetter, IsVrModeEnabled),
|
SFUNC(0x32, ICommonStateGetter, IsVrModeEnabled),
|
||||||
SFUNC(0x3C, ICommonStateGetter, GetDefaultDisplayResolution),
|
SFUNC(0x3C, ICommonStateGetter, GetDefaultDisplayResolution),
|
||||||
|
SFUNC(0x3D, ICommonStateGetter, GetDefaultDisplayResolutionChangeEvent),
|
||||||
SFUNC(0x42, ICommonStateGetter, SetCpuBoostMode)
|
SFUNC(0x42, ICommonStateGetter, SetCpuBoostMode)
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user