IPC: Make DuplicateSession return the Domain instead of the Session if the request was made on a Domain interface.
This commit is contained in:
parent
e3b4c8e043
commit
c12c756539
|
@ -11,8 +11,9 @@ namespace PCTL {
|
||||||
|
|
||||||
void PCTL_A::GetService(Kernel::HLERequestContext& ctx) {
|
void PCTL_A::GetService(Kernel::HLERequestContext& ctx) {
|
||||||
LOG_WARNING(Service, "(STUBBED) called");
|
LOG_WARNING(Service, "(STUBBED) called");
|
||||||
IPC::RequestBuilder rb{ctx, 1};
|
IPC::RequestBuilder rb{ctx, 2};
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
// TODO(Subv): This should return an IParentalControlService interface.
|
||||||
}
|
}
|
||||||
|
|
||||||
PCTL_A::PCTL_A() : ServiceFramework("pctl:a") {
|
PCTL_A::PCTL_A() : ServiceFramework("pctl:a") {
|
||||||
|
|
|
@ -23,7 +23,11 @@ void Controller::ConvertSessionToDomain(Kernel::HLERequestContext& ctx) {
|
||||||
void Controller::DuplicateSession(Kernel::HLERequestContext& ctx) {
|
void Controller::DuplicateSession(Kernel::HLERequestContext& ctx) {
|
||||||
IPC::RequestBuilder rb{ctx, 2, 0, 1};
|
IPC::RequestBuilder rb{ctx, 2, 0, 1};
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
rb.PushMoveObjects(ctx.ServerSession());
|
// TODO(Subv): Check if this is correct
|
||||||
|
if (ctx.IsDomain())
|
||||||
|
rb.PushMoveObjects(ctx.Domain());
|
||||||
|
else
|
||||||
|
rb.PushMoveObjects(ctx.ServerSession());
|
||||||
|
|
||||||
LOG_DEBUG(Service, "called");
|
LOG_DEBUG(Service, "called");
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue