Просмотр исходного кода

common: Move error handling to error.cpp/h

This allows us to avoid implicitly including <string> every time common_funcs.h is included.
Morph 4 лет назад
Родитель
Сommit
290afc00d3
6 измененных файлов с 34 добавлено и 18 удалено
  1. 2 1
      src/common/CMakeLists.txt
  2. 0 11
      src/common/common_funcs.h
  3. 5 1
      src/common/error.cpp
  4. 21 0
      src/common/error.h
  5. 3 3
      src/common/thread.cpp
  6. 3 2
      src/core/network/network.cpp

+ 2 - 1
src/common/CMakeLists.txt

@@ -53,6 +53,8 @@ add_library(common STATIC
     div_ceil.h
     div_ceil.h
     dynamic_library.cpp
     dynamic_library.cpp
     dynamic_library.h
     dynamic_library.h
+    error.cpp
+    error.h
     fiber.cpp
     fiber.cpp
     fiber.h
     fiber.h
     fs/file.cpp
     fs/file.cpp
@@ -88,7 +90,6 @@ add_library(common STATIC
     microprofile.cpp
     microprofile.cpp
     microprofile.h
     microprofile.h
     microprofileui.h
     microprofileui.h
-    misc.cpp
     nvidia_flags.cpp
     nvidia_flags.cpp
     nvidia_flags.h
     nvidia_flags.h
     page_table.cpp
     page_table.cpp

+ 0 - 11
src/common/common_funcs.h

@@ -6,7 +6,6 @@
 
 
 #include <algorithm>
 #include <algorithm>
 #include <array>
 #include <array>
-#include <string>
 
 
 #if !defined(ARCHITECTURE_x86_64)
 #if !defined(ARCHITECTURE_x86_64)
 #include <cstdlib> // for exit
 #include <cstdlib> // for exit
@@ -49,16 +48,6 @@ __declspec(dllimport) void __stdcall DebugBreak(void);
 
 
 #endif // _MSC_VER ndef
 #endif // _MSC_VER ndef
 
 
-// Generic function to get last error message.
-// Call directly after the command or use the error num.
-// This function might change the error code.
-// Defined in misc.cpp.
-[[nodiscard]] std::string GetLastErrorMsg();
-
-// Like GetLastErrorMsg(), but passing an explicit error code.
-// Defined in misc.cpp.
-[[nodiscard]] std::string NativeErrorToString(int e);
-
 #define DECLARE_ENUM_FLAG_OPERATORS(type)                                                          \
 #define DECLARE_ENUM_FLAG_OPERATORS(type)                                                          \
     [[nodiscard]] constexpr type operator|(type a, type b) noexcept {                              \
     [[nodiscard]] constexpr type operator|(type a, type b) noexcept {                              \
         using T = std::underlying_type_t<type>;                                                    \
         using T = std::underlying_type_t<type>;                                                    \

+ 5 - 1
src/common/misc.cpp → src/common/error.cpp

@@ -10,7 +10,9 @@
 #include <cstring>
 #include <cstring>
 #endif
 #endif
 
 
-#include "common/common_funcs.h"
+#include "common/error.h"
+
+namespace Common {
 
 
 std::string NativeErrorToString(int e) {
 std::string NativeErrorToString(int e) {
 #ifdef _WIN32
 #ifdef _WIN32
@@ -50,3 +52,5 @@ std::string GetLastErrorMsg() {
     return NativeErrorToString(errno);
     return NativeErrorToString(errno);
 #endif
 #endif
 }
 }
+
+} // namespace Common

+ 21 - 0
src/common/error.h

@@ -0,0 +1,21 @@
+// Copyright 2013 Dolphin Emulator Project / 2014 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include <string>
+
+namespace Common {
+
+// Generic function to get last error message.
+// Call directly after the command or use the error num.
+// This function might change the error code.
+// Defined in error.cpp.
+[[nodiscard]] std::string GetLastErrorMsg();
+
+// Like GetLastErrorMsg(), but passing an explicit error code.
+// Defined in error.cpp.
+[[nodiscard]] std::string NativeErrorToString(int e);
+
+} // namespace Common

+ 3 - 3
src/common/thread.cpp

@@ -2,7 +2,9 @@
 // Licensed under GPLv2 or any later version
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 // Refer to the license.txt file included.
 
 
-#include "common/common_funcs.h"
+#include <string>
+
+#include "common/error.h"
 #include "common/logging/log.h"
 #include "common/logging/log.h"
 #include "common/thread.h"
 #include "common/thread.h"
 #ifdef __APPLE__
 #ifdef __APPLE__
@@ -21,8 +23,6 @@
 #include <unistd.h>
 #include <unistd.h>
 #endif
 #endif
 
 
-#include <string>
-
 #ifdef __FreeBSD__
 #ifdef __FreeBSD__
 #define cpu_set_t cpuset_t
 #define cpu_set_t cpuset_t
 #endif
 #endif

+ 3 - 2
src/core/network/network.cpp

@@ -7,7 +7,8 @@
 #include <limits>
 #include <limits>
 #include <utility>
 #include <utility>
 #include <vector>
 #include <vector>
-#include "common/common_funcs.h"
+
+#include "common/error.h"
 
 
 #ifdef _WIN32
 #ifdef _WIN32
 #include <winsock2.h>
 #include <winsock2.h>
@@ -223,7 +224,7 @@ Errno GetAndLogLastError() {
     if (err == Errno::AGAIN) {
     if (err == Errno::AGAIN) {
         return err;
         return err;
     }
     }
-    LOG_ERROR(Network, "Socket operation error: {}", NativeErrorToString(e));
+    LOG_ERROR(Network, "Socket operation error: {}", Common::NativeErrorToString(e));
     return err;
     return err;
 }
 }