mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-08 23:25:40 +12:00
Add AM::RegisterDisconnectEvent
This commit is contained in:
parent
977cb0403c
commit
415a5bb8de
2 changed files with 14 additions and 0 deletions
|
@ -15,6 +15,7 @@ class ACService {
|
||||||
void closeAsync(u32 messagePointer);
|
void closeAsync(u32 messagePointer);
|
||||||
void createDefaultConfig(u32 messagePointer);
|
void createDefaultConfig(u32 messagePointer);
|
||||||
void getLastErrorCode(u32 messagePointer);
|
void getLastErrorCode(u32 messagePointer);
|
||||||
|
void registerDisconnectEvent(u32 messagePointer);
|
||||||
void setClientVersion(u32 messagePointer);
|
void setClientVersion(u32 messagePointer);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -7,6 +7,7 @@ namespace ACCommands {
|
||||||
CancelConnectAsync = 0x00070002,
|
CancelConnectAsync = 0x00070002,
|
||||||
CloseAsync = 0x00080004,
|
CloseAsync = 0x00080004,
|
||||||
GetLastErrorCode = 0x000A0000,
|
GetLastErrorCode = 0x000A0000,
|
||||||
|
RegisterDisconnectEvent = 0x00300004,
|
||||||
SetClientVersion = 0x00400042,
|
SetClientVersion = 0x00400042,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -20,6 +21,7 @@ void ACService::handleSyncRequest(u32 messagePointer) {
|
||||||
case ACCommands::CloseAsync: closeAsync(messagePointer); break;
|
case ACCommands::CloseAsync: closeAsync(messagePointer); break;
|
||||||
case ACCommands::CreateDefaultConfig: createDefaultConfig(messagePointer); break;
|
case ACCommands::CreateDefaultConfig: createDefaultConfig(messagePointer); break;
|
||||||
case ACCommands::GetLastErrorCode: getLastErrorCode(messagePointer); break;
|
case ACCommands::GetLastErrorCode: getLastErrorCode(messagePointer); break;
|
||||||
|
case ACCommands::RegisterDisconnectEvent: registerDisconnectEvent(messagePointer); break;
|
||||||
case ACCommands::SetClientVersion: setClientVersion(messagePointer); break;
|
case ACCommands::SetClientVersion: setClientVersion(messagePointer); break;
|
||||||
default: Helpers::panic("AC service requested. Command: %08X\n", command);
|
default: Helpers::panic("AC service requested. Command: %08X\n", command);
|
||||||
}
|
}
|
||||||
|
@ -63,4 +65,15 @@ void ACService::setClientVersion(u32 messagePointer) {
|
||||||
|
|
||||||
mem.write32(messagePointer, IPC::responseHeader(0x40, 1, 0));
|
mem.write32(messagePointer, IPC::responseHeader(0x40, 1, 0));
|
||||||
mem.write32(messagePointer + 4, Result::Success);
|
mem.write32(messagePointer + 4, Result::Success);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ACService::registerDisconnectEvent(u32 messagePointer) {
|
||||||
|
log("AC::RegisterDisconnectEvent (stubbed)\n");
|
||||||
|
const u32 pidHeader = mem.read32(messagePointer + 4);
|
||||||
|
const u32 copyHandleHeader = mem.read32(messagePointer + 12);
|
||||||
|
// Event signaled when disconnecting from AC
|
||||||
|
const Handle eventHandle = mem.read32(messagePointer + 16);
|
||||||
|
|
||||||
|
mem.write32(messagePointer, IPC::responseHeader(0x30, 1, 0));
|
||||||
|
mem.write32(messagePointer + 4, Result::Success);
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue