summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/acc/acc_u0.cpp
diff options
context:
space:
mode:
authorgoaaats <16760685+goaaats@users.noreply.github.com>2018-01-19 21:44:58 +0100
committerbunnei <bunneidev@gmail.com>2018-01-19 21:44:58 +0100
commitc457f34eb22eb43aa2beca0414e59f2a284715dd (patch)
treee0f344e4ff1d48d01d3aa89f655b8d442b5cfd51 /src/core/hle/service/acc/acc_u0.cpp
parentMerge pull request #109 from bunnei/libnx-fixes (diff)
downloadyuzu-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/acc/acc_u0.cpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/core/hle/service/acc/acc_u0.cpp b/src/core/hle/service/acc/acc_u0.cpp
index 147f4e62e..7f0192fd3 100644
--- a/src/core/hle/service/acc/acc_u0.cpp
+++ b/src/core/hle/service/acc/acc_u0.cpp
@@ -9,15 +9,76 @@
namespace Service {
namespace Account {
+class IProfile final : public ServiceFramework<IProfile> {
+public:
+ IProfile() : ServiceFramework("IProfile") {
+ static const FunctionInfo functions[] = {
+ {1, &IProfile::GetBase, "GetBase"},
+ };
+ RegisterHandlers(functions);
+ }
+
+private:
+ void GetBase(Kernel::HLERequestContext& ctx) {
+ LOG_WARNING(Service, "(STUBBED) called");
+ ProfileBase profile_base{};
+ IPC::RequestBuilder rb{ctx, 16};
+ rb.Push(RESULT_SUCCESS);
+ rb.PushRaw(profile_base);
+ }
+};
+
+class IManagerForApplication final : public ServiceFramework<IManagerForApplication> {
+public:
+ IManagerForApplication() : ServiceFramework("IProfile") {
+ static const FunctionInfo functions[] = {
+ {0, &IManagerForApplication::CheckAvailability, "CheckAvailability"},
+ };
+ RegisterHandlers(functions);
+ }
+
+private:
+ void CheckAvailability(Kernel::HLERequestContext& ctx) {
+ LOG_WARNING(Service, "(STUBBED) called");
+ IPC::RequestBuilder rb{ctx, 3};
+ rb.Push(RESULT_SUCCESS);
+ rb.Push(true); // TODO: Check when this is supposed to return true and when not
+ }
+};
+
+void ACC_U0::GetUserExistence(Kernel::HLERequestContext& ctx) {
+ LOG_WARNING(Service, "(STUBBED) called");
+ IPC::RequestBuilder rb{ctx, 3};
+ rb.Push(RESULT_SUCCESS);
+ rb.Push(true); // TODO: Check when this is supposed to return true and when not
+}
+
+void ACC_U0::GetProfile(Kernel::HLERequestContext& ctx) {
+ IPC::RequestBuilder rb{ctx, 2, 0, 0, 1};
+ rb.Push(RESULT_SUCCESS);
+ rb.PushIpcInterface<IProfile>();
+ LOG_DEBUG(Service, "called");
+}
+
void ACC_U0::InitializeApplicationInfo(Kernel::HLERequestContext& ctx) {
LOG_WARNING(Service, "(STUBBED) called");
IPC::RequestBuilder rb{ctx, 2};
rb.Push(RESULT_SUCCESS);
}
+void ACC_U0::GetBaasAccountManagerForApplication(Kernel::HLERequestContext& ctx) {
+ IPC::RequestBuilder rb{ctx, 2, 0, 0, 1};
+ rb.Push(RESULT_SUCCESS);
+ rb.PushIpcInterface<IManagerForApplication>();
+ LOG_DEBUG(Service, "called");
+}
+
ACC_U0::ACC_U0() : ServiceFramework("acc:u0") {
static const FunctionInfo functions[] = {
+ {1, &ACC_U0::GetUserExistence, "GetUserExistence"},
+ {5, &ACC_U0::GetProfile, "GetProfile"},
{100, &ACC_U0::InitializeApplicationInfo, "InitializeApplicationInfo"},
+ {101, &ACC_U0::GetBaasAccountManagerForApplication, "GetBaasAccountManagerForApplication"},
};
RegisterHandlers(functions);
}