From b6719094e69bba468ecbc275fd892c4d412b92a3 Mon Sep 17 00:00:00 2001 From: Morph <39850852+Morph1984@users.noreply.github.com> Date: Thu, 14 Oct 2021 14:21:15 -0400 Subject: core: Remove static system instance --- src/core/core.h | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) (limited to 'src/core/core.h') diff --git a/src/core/core.h b/src/core/core.h index a796472b2..cae578c69 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -108,22 +108,16 @@ class System { public: using CurrentBuildProcessID = std::array; + explicit System(); + + ~System(); + System(const System&) = delete; System& operator=(const System&) = delete; System(System&&) = delete; System& operator=(System&&) = delete; - ~System(); - - /** - * Gets the instance of the System singleton class. - * @returns Reference to the instance of the System singleton class. - */ - [[deprecated("Use of the global system instance is deprecated")]] static System& GetInstance(); - - static void InitializeGlobalInstance(); - /// Enumeration representing the return values of the System Initialize and Load process. enum class ResultStatus : u32 { Success, ///< Succeeded @@ -403,12 +397,8 @@ public: void ApplySettings(); private: - System(); - struct Impl; std::unique_ptr impl; - - inline static std::unique_ptr s_instance{}; }; } // namespace Core -- cgit v1.2.3 From 17763a44d5426f7a3e52d6d4aebc26afb1d0ce65 Mon Sep 17 00:00:00 2001 From: Morph <39850852+Morph1984@users.noreply.github.com> Date: Thu, 14 Oct 2021 18:14:40 -0400 Subject: core: Move ResultStatus outside of System Allows it to be a forward declaration in other header files. --- src/core/core.h | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) (limited to 'src/core/core.h') diff --git a/src/core/core.h b/src/core/core.h index cae578c69..c1234ef77 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -104,6 +104,18 @@ struct PerfStatsResults; FileSys::VirtualFile GetGameFileFromPath(const FileSys::VirtualFilesystem& vfs, const std::string& path); +/// Enumeration representing the return values of the System Initialize and Load process. +enum class SystemResultStatus : u32 { + Success, ///< Succeeded + ErrorNotInitialized, ///< Error trying to use core prior to initialization + ErrorGetLoader, ///< Error finding the correct application loader + ErrorSystemFiles, ///< Error in finding system files + ErrorSharedFont, ///< Error in finding shared font + ErrorVideoCore, ///< Error in the video core + ErrorUnknown, ///< Any other error + ErrorLoader, ///< The base for loader errors (too many to repeat) +}; + class System { public: using CurrentBuildProcessID = std::array; @@ -118,35 +130,23 @@ public: System(System&&) = delete; System& operator=(System&&) = delete; - /// Enumeration representing the return values of the System Initialize and Load process. - enum class ResultStatus : u32 { - Success, ///< Succeeded - ErrorNotInitialized, ///< Error trying to use core prior to initialization - ErrorGetLoader, ///< Error finding the correct application loader - ErrorSystemFiles, ///< Error in finding system files - ErrorSharedFont, ///< Error in finding shared font - ErrorVideoCore, ///< Error in the video core - ErrorUnknown, ///< Any other error - ErrorLoader, ///< The base for loader errors (too many to repeat) - }; - /** * Run the OS and Application * This function will start emulation and run the relevant devices */ - [[nodiscard]] ResultStatus Run(); + [[nodiscard]] SystemResultStatus Run(); /** * Pause the OS and Application * This function will pause emulation and stop the relevant devices */ - [[nodiscard]] ResultStatus Pause(); + [[nodiscard]] SystemResultStatus Pause(); /** * Step the CPU one instruction * @return Result status, indicating whether or not the operation succeeded. */ - [[nodiscard]] ResultStatus SingleStep(); + [[nodiscard]] SystemResultStatus SingleStep(); /** * Invalidate the CPU instruction caches @@ -166,10 +166,11 @@ public: * input. * @param filepath String path to the executable application to load on the host file system. * @param program_index Specifies the index within the container of the program to launch. - * @returns ResultStatus code, indicating if the operation succeeded. + * @returns SystemResultStatus code, indicating if the operation succeeded. */ - [[nodiscard]] ResultStatus Load(Frontend::EmuWindow& emu_window, const std::string& filepath, - u64 program_id = 0, std::size_t program_index = 0); + [[nodiscard]] SystemResultStatus Load(Frontend::EmuWindow& emu_window, + const std::string& filepath, u64 program_id = 0, + std::size_t program_index = 0); /** * Indicates if the emulated system is powered on (all subsystems initialized and able to run an @@ -295,7 +296,7 @@ public: /// Gets the name of the current game [[nodiscard]] Loader::ResultStatus GetGameName(std::string& out) const; - void SetStatus(ResultStatus new_status, const char* details); + void SetStatus(SystemResultStatus new_status, const char* details); [[nodiscard]] const std::string& GetStatusDetails() const; -- cgit v1.2.3