diff options
author | goaaats <16760685+goaaats@users.noreply.github.com> | 2018-01-19 21:44:58 +0100 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-01-19 21:44:58 +0100 |
commit | c457f34eb22eb43aa2beca0414e59f2a284715dd (patch) | |
tree | e0f344e4ff1d48d01d3aa89f655b8d442b5cfd51 /src/core/hle/service/set | |
parent | Merge pull request #109 from bunnei/libnx-fixes (diff) | |
download | yuzu-c457f34eb22eb43aa2beca0414e59f2a284715dd.tar yuzu-c457f34eb22eb43aa2beca0414e59f2a284715dd.tar.gz yuzu-c457f34eb22eb43aa2beca0414e59f2a284715dd.tar.bz2 yuzu-c457f34eb22eb43aa2beca0414e59f2a284715dd.tar.lz yuzu-c457f34eb22eb43aa2beca0414e59f2a284715dd.tar.xz yuzu-c457f34eb22eb43aa2beca0414e59f2a284715dd.tar.zst yuzu-c457f34eb22eb43aa2beca0414e59f2a284715dd.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/service/set/set.cpp | 42 | ||||
-rw-r--r-- | src/core/hle/service/set/set.h | 25 |
2 files changed, 67 insertions, 0 deletions
diff --git a/src/core/hle/service/set/set.cpp b/src/core/hle/service/set/set.cpp new file mode 100644 index 000000000..3715acd74 --- /dev/null +++ b/src/core/hle/service/set/set.cpp @@ -0,0 +1,42 @@ +// Copyright 2018 yuzu emulator team +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include <chrono> +#include "common/logging/log.h" +#include "core/hle/ipc_helpers.h" +#include "core/hle/kernel/client_port.h" +#include "core/hle/kernel/client_session.h" +#include "core/hle/service/set/set.h" + +namespace Service { +namespace Set { + +void SET::GetAvailableLanguageCodes(Kernel::HLERequestContext& ctx) { + constexpr std::array<u8, 13> lang_codes{}; + + const auto& output_buffer = ctx.BufferDescriptorC()[0]; + + Memory::WriteBlock(output_buffer.Address(), lang_codes.data(), lang_codes.size()); + + IPC::RequestBuilder rb{ctx, 4}; + + rb.Push(RESULT_SUCCESS); + rb.Push(static_cast<u64>(lang_codes.size())); + + LOG_WARNING(Service, "(STUBBED) called"); +} + +SET::SET(const char* name) : ServiceFramework(name) { + static const FunctionInfo functions[] = { + {1, &SET::GetAvailableLanguageCodes, "GetAvailableLanguageCodes"}, + }; + RegisterHandlers(functions); +} + +void InstallInterfaces(SM::ServiceManager& service_manager) { + std::make_shared<SET>("set")->InstallAsService(service_manager); +} + +} // namespace Set +} // namespace Service diff --git a/src/core/hle/service/set/set.h b/src/core/hle/service/set/set.h new file mode 100644 index 000000000..61e957946 --- /dev/null +++ b/src/core/hle/service/set/set.h @@ -0,0 +1,25 @@ +// Copyright 2018 yuzu emulator team +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include "core/hle/service/service.h" + +namespace Service { +namespace Set { + +class SET final : public ServiceFramework<SET> { +public: + explicit SET(const char* name); + ~SET() = default; + +private: + void GetAvailableLanguageCodes(Kernel::HLERequestContext& ctx); +}; + +/// Registers all Set services with the specified service manager. +void InstallInterfaces(SM::ServiceManager& service_manager); + +} // namespace Set +} // namespace Service |