2022-04-23 04:59:50 -04:00
|
|
|
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2021-06-28 17:41:24 -04:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
namespace Core {
|
|
|
|
class System;
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace Kernel {
|
|
|
|
class KernelCore;
|
|
|
|
class KEvent;
|
|
|
|
class KProcess;
|
|
|
|
} // namespace Kernel
|
|
|
|
|
|
|
|
namespace Service::KernelHelpers {
|
|
|
|
|
|
|
|
class ServiceContext {
|
|
|
|
public:
|
|
|
|
ServiceContext(Core::System& system_, std::string name_);
|
|
|
|
~ServiceContext();
|
|
|
|
|
|
|
|
Kernel::KEvent* CreateEvent(std::string&& name);
|
|
|
|
|
|
|
|
void CloseEvent(Kernel::KEvent* event);
|
|
|
|
|
|
|
|
private:
|
|
|
|
Kernel::KernelCore& kernel;
|
|
|
|
Kernel::KProcess* process{};
|
2023-02-18 16:26:48 -05:00
|
|
|
bool process_created{false};
|
2021-06-28 17:41:24 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace Service::KernelHelpers
|