| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
- // SPDX-License-Identifier: GPL-2.0-or-later
- #pragma once
- #include "common/common_funcs.h"
- #include "common/common_types.h"
- namespace Kernel {
- class KProcess;
- }
- namespace Core {
- class System;
- }
- namespace Service::AM {
- class Process {
- public:
- explicit Process(Core::System& system);
- ~Process();
- bool Initialize(u64 program_id);
- void Finalize();
- bool Run();
- void Terminate();
- bool IsInitialized() const {
- return m_process != nullptr;
- }
- u64 GetProcessId() const;
- u64 GetProgramId() const {
- return m_program_id;
- }
- Kernel::KProcess* GetProcess() const {
- return m_process;
- }
- private:
- Core::System& m_system;
- Kernel::KProcess* m_process{};
- s32 m_main_thread_priority{};
- u64 m_main_thread_stack_size{};
- u64 m_program_id{};
- bool m_process_started{};
- };
- } // namespace Service::AM
|