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

Merge pull request #11109 from Morph1984/net

network: Fix compilation with ENABLE_WEB_SERVICE=OFF
Morph 3 лет назад
Родитель
Сommit
3fded314f2

+ 3 - 2
src/common/socket_types.h

@@ -3,9 +3,10 @@
 
 #pragma once
 
-#include "common/common_types.h"
-
 #include <optional>
+#include <string>
+
+#include "common/common_types.h"
 
 namespace Network {
 

+ 1 - 1
src/core/CMakeLists.txt

@@ -876,7 +876,7 @@ elseif (APPLE)
 elseif (WIN32)
     target_sources(core PRIVATE
         hle/service/ssl/ssl_backend_schannel.cpp)
-    target_link_libraries(core PRIVATE secur32)
+    target_link_libraries(core PRIVATE crypt32 secur32)
 else()
     target_sources(core PRIVATE
         hle/service/ssl/ssl_backend_none.cpp)

+ 1 - 0
src/core/hle/service/nifm/nifm.cpp

@@ -7,6 +7,7 @@
 #include "core/hle/service/kernel_helpers.h"
 #include "core/hle/service/nifm/nifm.h"
 #include "core/hle/service/server_manager.h"
+#include "network/network.h"
 
 namespace {
 

+ 4 - 3
src/core/hle/service/nifm/nifm.h

@@ -4,14 +4,15 @@
 #pragma once
 
 #include "core/hle/service/service.h"
-#include "network/network.h"
-#include "network/room.h"
-#include "network/room_member.h"
 
 namespace Core {
 class System;
 }
 
+namespace Network {
+class RoomNetwork;
+}
+
 namespace Service::NIFM {
 
 void LoopProcess(Core::System& system);

+ 4 - 4
src/core/hle/service/ssl/ssl_backend.h

@@ -3,15 +3,15 @@
 
 #pragma once
 
-#include "core/hle/result.h"
-
-#include "common/common_types.h"
-
 #include <memory>
 #include <span>
 #include <string>
 #include <vector>
 
+#include "common/common_types.h"
+
+#include "core/hle/result.h"
+
 namespace Network {
 class SocketBase;
 }

+ 2 - 2
src/core/hle/service/ssl/ssl_backend_none.cpp

@@ -1,10 +1,10 @@
 // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
 // SPDX-License-Identifier: GPL-2.0-or-later
 
-#include "core/hle/service/ssl/ssl_backend.h"
-
 #include "common/logging/log.h"
 
+#include "core/hle/service/ssl/ssl_backend.h"
+
 namespace Service::SSL {
 
 ResultVal<std::unique_ptr<SSLConnectionBackend>> CreateSSLConnectionBackend() {

+ 8 - 8
src/core/hle/service/ssl/ssl_backend_openssl.cpp

@@ -1,14 +1,6 @@
 // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
 // SPDX-License-Identifier: GPL-2.0-or-later
 
-#include "core/hle/service/ssl/ssl_backend.h"
-#include "core/internal_network/network.h"
-#include "core/internal_network/sockets.h"
-
-#include "common/fs/file.h"
-#include "common/hex_util.h"
-#include "common/string_util.h"
-
 #include <mutex>
 
 #include <openssl/bio.h>
@@ -16,6 +8,14 @@
 #include <openssl/ssl.h>
 #include <openssl/x509.h>
 
+#include "common/fs/file.h"
+#include "common/hex_util.h"
+#include "common/string_util.h"
+
+#include "core/hle/service/ssl/ssl_backend.h"
+#include "core/internal_network/network.h"
+#include "core/internal_network/sockets.h"
+
 using namespace Common::FS;
 
 namespace Service::SSL {

+ 5 - 4
src/core/hle/service/ssl/ssl_backend_schannel.cpp

@@ -1,16 +1,16 @@
 // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
 // SPDX-License-Identifier: GPL-2.0-or-later
 
-#include "core/hle/service/ssl/ssl_backend.h"
-#include "core/internal_network/network.h"
-#include "core/internal_network/sockets.h"
+#include <mutex>
 
 #include "common/error.h"
 #include "common/fs/file.h"
 #include "common/hex_util.h"
 #include "common/string_util.h"
 
-#include <mutex>
+#include "core/hle/service/ssl/ssl_backend.h"
+#include "core/internal_network/network.h"
+#include "core/internal_network/sockets.h"
 
 namespace {
 
@@ -20,6 +20,7 @@ namespace {
 #define SECURITY_WIN32
 #include <schnlsp.h>
 #include <security.h>
+#include <wincrypt.h>
 
 std::once_flag one_time_init_flag;
 bool one_time_init_success = false;

+ 9 - 6
src/core/hle/service/ssl/ssl_backend_securetransport.cpp

@@ -1,18 +1,21 @@
 // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
 // SPDX-License-Identifier: GPL-2.0-or-later
 
-#include "core/hle/service/ssl/ssl_backend.h"
-#include "core/internal_network/network.h"
-#include "core/internal_network/sockets.h"
-
 #include <mutex>
 
-#include <Security/SecureTransport.h>
-
 // SecureTransport has been deprecated in its entirety in favor of
 // Network.framework, but that does not allow layering TLS on top of an
 // arbitrary socket.
+#if defined(__GNUC__) || defined(__clang__)
+#pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#include <Security/SecureTransport.h>
+#pragma GCC diagnostic pop
+#endif
+
+#include "core/hle/service/ssl/ssl_backend.h"
+#include "core/internal_network/network.h"
+#include "core/internal_network/sockets.h"
 
 namespace {
 

+ 1 - 0
src/core/internal_network/socket_proxy.cpp

@@ -10,6 +10,7 @@
 #include "core/internal_network/network.h"
 #include "core/internal_network/network_interface.h"
 #include "core/internal_network/socket_proxy.h"
+#include "network/network.h"
 
 #if YUZU_UNIX
 #include <sys/socket.h>

+ 3 - 1
src/core/internal_network/socket_proxy.h

@@ -10,10 +10,12 @@
 
 #include "common/common_funcs.h"
 #include "core/internal_network/sockets.h"
-#include "network/network.h"
+#include "network/room_member.h"
 
 namespace Network {
 
+class RoomNetwork;
+
 class ProxySocket : public SocketBase {
 public:
     explicit ProxySocket(RoomNetwork& room_network_) noexcept;

+ 2 - 1
src/core/internal_network/sockets.h

@@ -15,12 +15,13 @@
 
 #include "common/common_types.h"
 #include "core/internal_network/network.h"
-#include "network/network.h"
 
 // TODO: C++20 Replace std::vector usages with std::span
 
 namespace Network {
 
+struct ProxyPacket;
+
 class SocketBase {
 public:
 #ifdef YUZU_UNIX