From 73c20f633b29f8a059eb2586c8af37b07e66a3fa Mon Sep 17 00:00:00 2001 From: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com> Date: Mon, 17 Jul 2017 11:36:40 -0400 Subject: [PATCH] header dependency cleanup Remove high dependencies on OpenDHT includes inside Ring internal header files. This reduces compile time by not recompiling the whole project for any changes into opendht. Change-Id: Iba852e0b889e67ee12b3a9747e6d04de23572c2e Reviewed-by: Olivier Soldano <olivier.soldano@savoirfairelinux.com> --- src/ringdht/ringaccount.h | 1 + src/security/certstore.h | 4 ++-- src/security/tls_session.cpp | 3 +-- src/security/tlsvalidator.h | 9 ++++++--- src/sip/pres_sub_client.cpp | 1 + src/sip/sipaccount.cpp | 2 ++ src/sip/sipaccountbase.h | 8 ++++++-- src/sip/sipcall.cpp | 2 ++ src/sip/sippresence.cpp | 2 ++ src/sip/siptransport.cpp | 2 ++ src/sip/siptransport.h | 7 +++++-- 11 files changed, 30 insertions(+), 11 deletions(-) diff --git a/src/ringdht/ringaccount.h b/src/ringdht/ringaccount.h index 27b65e1679..7782ef9b2c 100644 --- a/src/ringdht/ringaccount.h +++ b/src/ringdht/ringaccount.h @@ -32,6 +32,7 @@ #include "noncopyable.h" #include "ip_utils.h" #include "ring_types.h" // enable_if_base_of +#include "security/certstore.h" #include <opendht/dhtrunner.h> #include <opendht/default_types.h> diff --git a/src/security/certstore.h b/src/security/certstore.h index b3aa775711..f49c664ceb 100644 --- a/src/security/certstore.h +++ b/src/security/certstore.h @@ -32,9 +32,9 @@ #include <future> #include <mutex> -namespace ring { namespace tls { +namespace crypto = ::dht::crypto; -namespace crypto = dht::crypto; +namespace ring { namespace tls { enum class TrustStatus { UNTRUSTED = 0, diff --git a/src/security/tls_session.cpp b/src/security/tls_session.cpp index d822237dd2..0ab03f56e4 100644 --- a/src/security/tls_session.cpp +++ b/src/security/tls_session.cpp @@ -19,8 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include <ip_utils.h> // DO NOT CHANGE ORDER OF THIS INCLUDE -#include <opendht/crypto.h> // OR MINGWIN FAILS TO BUILD +#include <ip_utils.h> // DO NOT CHANGE ORDER OF THIS INCLUDE OR MINGWIN FAILS TO BUILD #include "tls_session.h" diff --git a/src/security/tlsvalidator.h b/src/security/tlsvalidator.h index b84f593bc6..5643531b06 100644 --- a/src/security/tlsvalidator.h +++ b/src/security/tlsvalidator.h @@ -26,13 +26,16 @@ #include "enumclass_utils.h" -#include <opendht/crypto.h> - #include <string> #include <vector> #include <memory> -namespace ring {namespace tls { +// OpenDHT +namespace dht { namespace crypto { +struct Certificate; +}} // namespace dht::crypto + +namespace ring { namespace tls { #if !defined (S_IRWXG) #define S_IRWXG 00070 diff --git a/src/sip/pres_sub_client.cpp b/src/sip/pres_sub_client.cpp index 8c65b2e5fe..682f93b0db 100644 --- a/src/sip/pres_sub_client.cpp +++ b/src/sip/pres_sub_client.cpp @@ -28,6 +28,7 @@ #include <pjsip/sip_endpoint.h> #include <string> #include <sstream> +#include <thread> #include <pj/pool.h> #include <pjsip/sip_ua_layer.h> #include <pjsip-simple/evsub.h> diff --git a/src/sip/sipaccount.cpp b/src/sip/sipaccount.cpp index ff20e246cc..1e8aafec24 100644 --- a/src/sip/sipaccount.cpp +++ b/src/sip/sipaccount.cpp @@ -62,6 +62,8 @@ #include "im/instant_messaging.h" +#include <opendht/crypto.h> + #include <unistd.h> #include <algorithm> diff --git a/src/sip/sipaccountbase.h b/src/sip/sipaccountbase.h index 01e538b863..67d5c4daf2 100644 --- a/src/sip/sipaccountbase.h +++ b/src/sip/sipaccountbase.h @@ -30,17 +30,21 @@ #include "sip_utils.h" #include "ip_utils.h" #include "noncopyable.h" -#include "security/certstore.h" #include "im/message_engine.h" #include <pjsip/sip_types.h> -#include <opendht/value.h> #include <array> #include <vector> #include <map> #include <memory> +#ifdef _WIN32 +typedef uint16_t in_port_t; +#else +#include <netinet/in.h> // For in_port_t support +#endif + struct pjsip_dialog; struct pjsip_inv_session; struct pjmedia_sdp_session; diff --git a/src/sip/sipcall.cpp b/src/sip/sipcall.cpp index 62dcad06cc..d1a2e2eb17 100644 --- a/src/sip/sipcall.cpp +++ b/src/sip/sipcall.cpp @@ -51,6 +51,8 @@ #include "errno.h" +#include <opendht/crypto.h> + namespace ring { using sip_utils::CONST_PJ_STR; diff --git a/src/sip/sippresence.cpp b/src/sip/sippresence.cpp index f1a5b63442..2fca3206ac 100644 --- a/src/sip/sippresence.cpp +++ b/src/sip/sippresence.cpp @@ -30,6 +30,8 @@ #include "client/ring_signal.h" #include "sip_utils.h" +#include <opendht/crypto.h> + #include <thread> #include <sstream> diff --git a/src/sip/siptransport.cpp b/src/sip/siptransport.cpp index dfd98291be..b7d8089e71 100644 --- a/src/sip/siptransport.cpp +++ b/src/sip/siptransport.cpp @@ -40,6 +40,8 @@ #include <pjlib.h> #include <pjlib-util.h> +#include <opendht/crypto.h> + #include <stdexcept> #include <sstream> #include <algorithm> diff --git a/src/sip/siptransport.h b/src/sip/siptransport.h index 5c24bcd308..4bece74f0c 100644 --- a/src/sip/siptransport.h +++ b/src/sip/siptransport.h @@ -31,8 +31,6 @@ #include "noncopyable.h" #include "logger.h" -#include <opendht/crypto.h> - #include <pjsip.h> #include <pjnath/stun_config.h> @@ -45,6 +43,11 @@ #include <list> #include <memory> +// OpenDHT +namespace dht { namespace crypto { +struct Certificate; +}} // namespace dht::crypto + namespace ring { struct SipTransportDescr -- GitLab