From e17c0019c5cf9faaa8f23e3904342c8c4faf0980 Mon Sep 17 00:00:00 2001 From: bunnei Date: Thu, 28 Dec 2017 23:30:21 -0500 Subject: kernel: Add basic support for Domain object. --- src/core/hle/kernel/domain.h | 45 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/core/hle/kernel/domain.h (limited to 'src/core/hle/kernel/domain.h') diff --git a/src/core/hle/kernel/domain.h b/src/core/hle/kernel/domain.h new file mode 100644 index 000000000..74f7ad0dd --- /dev/null +++ b/src/core/hle/kernel/domain.h @@ -0,0 +1,45 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include +#include +#include +#include "core/hle/kernel/sync_object.h" +#include "core/hle/result.h" + +namespace Kernel { + +class Session; +class SessionRequestHandler; + +class Domain final : public SyncObject { +public: + std::string GetTypeName() const override { + return "Domain"; + } + + static const HandleType HANDLE_TYPE = HandleType::Domain; + HandleType GetHandleType() const override { + return HANDLE_TYPE; + } + + static ResultVal> CreateFromSession(const Session& server); + + ResultCode SendSyncRequest(SharedPtr thread) override; + + /// The name of this domain (optional) + std::string name; + + std::vector> request_handlers; + +private: + Domain() = default; + ~Domain() override = default; + + static ResultVal> Create(std::string name = "Unknown"); +}; + +} // namespace Kernel -- cgit v1.2.3