hle_ipc: Add member function for querying the existence of a domain header

Gets rid of the need to call the getter and then check for null.
This commit is contained in:
Lioncash 2018-10-29 23:20:17 -04:00
parent 0cc347462d
commit 6383653a8d
3 changed files with 6 additions and 3 deletions

View file

@ -117,8 +117,7 @@ public:
AlignWithPadding(); AlignWithPadding();
const bool request_has_domain_header{context.GetDomainMessageHeader() != nullptr}; if (context.Session()->IsDomain() && context.HasDomainMessageHeader()) {
if (context.Session()->IsDomain() && request_has_domain_header) {
IPC::DomainMessageHeader domain_header{}; IPC::DomainMessageHeader domain_header{};
domain_header.num_objects = num_domain_objects; domain_header.num_objects = num_domain_objects;
PushRaw(domain_header); PushRaw(domain_header);

View file

@ -165,6 +165,10 @@ public:
return domain_message_header.get(); return domain_message_header.get();
} }
bool HasDomainMessageHeader() const {
return domain_message_header != nullptr;
}
/// Helper function to read a buffer using the appropriate buffer descriptor /// Helper function to read a buffer using the appropriate buffer descriptor
std::vector<u8> ReadBuffer(int buffer_index = 0) const; std::vector<u8> ReadBuffer(int buffer_index = 0) const;

View file

@ -111,7 +111,7 @@ ResultCode ServerSession::HandleSyncRequest(SharedPtr<Thread> thread) {
ResultCode result = RESULT_SUCCESS; ResultCode result = RESULT_SUCCESS;
// If the session has been converted to a domain, handle the domain request // If the session has been converted to a domain, handle the domain request
if (IsDomain() && context.GetDomainMessageHeader()) { if (IsDomain() && context.HasDomainMessageHeader()) {
result = HandleDomainSyncRequest(context); result = HandleDomainSyncRequest(context);
// If there is no domain header, the regular session handler is used // If there is no domain header, the regular session handler is used
} else if (hle_handler != nullptr) { } else if (hle_handler != nullptr) {