From a5452cf21c7f38be7dab9389d4f7509bcb0bde71 Mon Sep 17 00:00:00 2001
From: Amna <amna.snene@savoirfairelinux.com>
Date: Mon, 22 Jan 2024 16:07:24 -0500
Subject: [PATCH] tools: add iceFactory

Each tool must create its own iceFactory.

Change-Id: I9a6ba240a06dd1c344097a99ebebc6464cafd018
---
 tools/dnc/dnc.cpp   | 4 ++--
 tools/dsh/dsh.cpp   | 7 ++++---
 tools/dsh/dsh.h     | 2 +-
 tools/dvpn/dvpn.cpp | 3 ++-
 4 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/tools/dnc/dnc.cpp b/tools/dnc/dnc.cpp
index 7f17464..37c8b22 100644
--- a/tools/dnc/dnc.cpp
+++ b/tools/dnc/dnc.cpp
@@ -61,8 +61,8 @@ Dnc::Dnc(const std::filesystem::path& path,
          const std::string& turn_pass,
          const std::string& turn_realm)
     : logger(dht::log::getStdLogger())
-    // , certStore(std::shared_ptr<tls::CertificateStore>(path / "certstore", logger))
-    , ioContext(std::make_shared<asio::io_context>())
+    , ioContext(std::make_shared<asio::io_context>()),
+    iceFactory(std::make_shared<IceTransportFactory>(logger))
 {
     auto certStore = std::make_shared<tls::CertificateStore>(path / "certstore", logger);
     ioContextRunner = std::thread([context = ioContext, logger = logger] {
diff --git a/tools/dsh/dsh.cpp b/tools/dsh/dsh.cpp
index 92f30b1..ca4e99d 100644
--- a/tools/dsh/dsh.cpp
+++ b/tools/dsh/dsh.cpp
@@ -92,8 +92,9 @@ dhtnet::Dsh::Dsh(const std::filesystem::path& path,
                  const std::string& turn_user,
                  const std::string& turn_pass,
                  const std::string& turn_realm)
-    : logger(dht::log::getStdLogger())
-    // , std::shared_ptr<tls::CertificateStore>(path / "certstore", logger)
+    :logger(dht::log::getStdLogger())
+    , ioContext(std::make_shared<asio::io_context>()),
+    iceFactory(std::make_shared<IceTransportFactory>(logger))
 {
     auto certStore = std::make_shared<tls::CertificateStore>(path / "certstore", logger);
 
@@ -114,7 +115,7 @@ dhtnet::Dsh::Dsh(const std::filesystem::path& path,
                                           logger,
                                           certStore,
                                           ioContext,
-                                          factory);
+                                          iceFactory);
     // create a connection manager
     connectionManager = std::make_unique<ConnectionManager>(std::move(config));
 
diff --git a/tools/dsh/dsh.h b/tools/dsh/dsh.h
index c349619..3bdc934 100644
--- a/tools/dsh/dsh.h
+++ b/tools/dsh/dsh.h
@@ -51,7 +51,7 @@ private:
     std::unique_ptr<ConnectionManager> connectionManager;
     std::shared_ptr<Logger> logger;
     std::shared_ptr<tls::CertificateStore> certStore {nullptr};
-    std::shared_ptr<dhtnet::IceTransportFactory> factory {nullptr};
+    std::shared_ptr<dhtnet::IceTransportFactory> iceFactory {nullptr};
     std::shared_ptr<asio::io_context> ioContext;
     std::thread ioContextRunner;
 };
diff --git a/tools/dvpn/dvpn.cpp b/tools/dvpn/dvpn.cpp
index 212b340..f0fc820 100644
--- a/tools/dvpn/dvpn.cpp
+++ b/tools/dvpn/dvpn.cpp
@@ -165,7 +165,8 @@ dhtnet::Dvpn::Dvpn(const std::filesystem::path& path,
                    const std::string& turn_realm,
                    const std::string& configuration_file)
     : logger(dht::log::getStdLogger())
-    , ioContext(std::make_shared<asio::io_context>())
+    , ioContext(std::make_shared<asio::io_context>()),
+    iceFactory(std::make_shared<IceTransportFactory>(logger))
 {
     auto certStore = std::make_shared<tls::CertificateStore>(path / "certstore", logger);
     ioContextRunner = std::thread([context = ioContext, logger = logger] {
-- 
GitLab