Browse Source
acc, set, applet_oe: stub various functions, add set service (#105)
acc, set, applet_oe: stub various functions, add set service (#105)
* Stubs for various acc:u0 funcs needed * Stub for GetDesiredLanguage in IApplicationFunctions * Add set service + stubs needed for games * Fix formatting * Implement IProfile, IManagerForApplication, return bool in CheckAvailability, style fixes * Remove IProfile::Get(needs more research), fix IPC response sizesnce_cpp
committed by
bunnei
8 changed files with 161 additions and 0 deletions
-
2src/core/CMakeLists.txt
-
61src/core/hle/service/acc/acc_u0.cpp
-
15src/core/hle/service/acc/acc_u0.h
-
8src/core/hle/service/am/applet_oe.cpp
-
6src/core/hle/service/am/applet_oe.h
-
2src/core/hle/service/service.cpp
-
42src/core/hle/service/set/set.cpp
-
25src/core/hle/service/set/set.h
@ -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
|
||||
@ -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 |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue