Merge pull request #1081 from lioncash/convert

kernel/server_session: Add IsSession() member function
This commit is contained in:
bunnei 2018-08-15 13:02:25 -04:00 committed by GitHub
commit f96de510ee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 3 deletions

View file

@ -152,7 +152,7 @@ ResultCode ServerSession::HandleSyncRequest(SharedPtr<Thread> thread) {
// Handle scenario when ConvertToDomain command was issued, as we must do the conversion at the // Handle scenario when ConvertToDomain command was issued, as we must do the conversion at the
// end of the command such that only commands following this one are handled as domains // end of the command such that only commands following this one are handled as domains
if (convert_to_domain) { if (convert_to_domain) {
ASSERT_MSG(domain_request_handlers.empty(), "already a domain"); ASSERT_MSG(IsSession(), "ServerSession is already a domain instance.");
domain_request_handlers = {hle_handler}; domain_request_handlers = {hle_handler};
convert_to_domain = false; convert_to_domain = false;
} }

View file

@ -97,7 +97,12 @@ public:
/// Returns true if the session has been converted to a domain, otherwise False /// Returns true if the session has been converted to a domain, otherwise False
bool IsDomain() const { bool IsDomain() const {
return !domain_request_handlers.empty(); return !IsSession();
}
/// Returns true if this session has not been converted to a domain, otherwise false.
bool IsSession() const {
return domain_request_handlers.empty();
} }
/// Converts the session to a domain at the end of the current command /// Converts the session to a domain at the end of the current command

View file

@ -10,7 +10,7 @@
namespace Service::SM { namespace Service::SM {
void Controller::ConvertSessionToDomain(Kernel::HLERequestContext& ctx) { void Controller::ConvertSessionToDomain(Kernel::HLERequestContext& ctx) {
ASSERT_MSG(!ctx.Session()->IsDomain(), "session is alread a domain"); ASSERT_MSG(ctx.Session()->IsSession(), "Session is already a domain");
ctx.Session()->ConvertToDomain(); ctx.Session()->ConvertToDomain();
IPC::ResponseBuilder rb{ctx, 3}; IPC::ResponseBuilder rb{ctx, 3};