From aae8ef1d914dd0102a7d13cb7654249a630ef052 Mon Sep 17 00:00:00 2001
From: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
Date: Tue, 21 Feb 2017 13:15:58 -0500
Subject: [PATCH] manager: remove over-inclusion in header file

Decrease the manager.h file dependency map by removing
uneeded inclusion and small code refactoring to nicely decoupling
classes.

Change-Id: Ibde69e0a088e7e2fbd842e39301db5b3a4bc8c28
Reviewed-by: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
---
 src/manager.cpp                              | 1 +
 src/manager.h                                | 6 ++----
 src/media/audio/alsa/alsalayer.cpp           | 1 +
 src/media/audio/audiolayer.cpp               | 1 +
 src/media/audio/portaudio/portaudiolayer.cpp | 1 +
 src/media/video/video_rtp_session.cpp        | 1 +
 6 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/manager.cpp b/src/manager.cpp
index 010c9ccd3e..c5462e6946 100644
--- a/src/manager.cpp
+++ b/src/manager.cpp
@@ -77,6 +77,7 @@ using random_device = dht::crypto::random_device;
 
 #include "libav_utils.h"
 #include "video/sinkclient.h"
+#include "audio/tonecontrol.h"
 
 #include <cerrno>
 #include <ctime>
diff --git a/src/manager.h b/src/manager.h
index 66b818de4b..79326fa2fe 100644
--- a/src/manager.h
+++ b/src/manager.h
@@ -42,10 +42,6 @@
 #include <atomic>
 #include <functional>
 
-#include "conference.h"
-
-#include "audio/audiolayer.h"
-#include "audio/tonecontrol.h"
 namespace ring {
 
 namespace video {
@@ -53,6 +49,8 @@ class SinkClient;
 }
 class RingBufferPool;
 class VideoManager;
+class Conference;
+class AudioLoop;
 
 /** Manager (controller) of Ring daemon */
 class Manager {
diff --git a/src/media/audio/alsa/alsalayer.cpp b/src/media/audio/alsa/alsalayer.cpp
index 584a05b922..76f9171c4a 100644
--- a/src/media/audio/alsa/alsalayer.cpp
+++ b/src/media/audio/alsa/alsalayer.cpp
@@ -28,6 +28,7 @@
 #include "audio/ringbufferpool.h"
 #include "audio/ringbuffer.h"
 #include "audio/resampler.h"
+#include "audio/audioloop.h"
 
 #include <thread>
 #include <atomic>
diff --git a/src/media/audio/audiolayer.cpp b/src/media/audio/audiolayer.cpp
index 683d7ce918..862c074a04 100644
--- a/src/media/audio/audiolayer.cpp
+++ b/src/media/audio/audiolayer.cpp
@@ -25,6 +25,7 @@
 #include "manager.h"
 #include "audio/ringbufferpool.h"
 #include "audio/resampler.h"
+#include "tonecontrol.h"
 #include "client/ring_signal.h"
 
 #include <ctime>
diff --git a/src/media/audio/portaudio/portaudiolayer.cpp b/src/media/audio/portaudio/portaudiolayer.cpp
index 72541e308f..ef1151ee59 100644
--- a/src/media/audio/portaudio/portaudiolayer.cpp
+++ b/src/media/audio/portaudio/portaudiolayer.cpp
@@ -25,6 +25,7 @@
 #include "audio/resampler.h"
 #include "audio/ringbufferpool.h"
 #include "audio/ringbuffer.h"
+#include "audio/audioloop.h"
 
 #include <portaudio.h>
 #include <algorithm>
diff --git a/src/media/video/video_rtp_session.cpp b/src/media/video/video_rtp_session.cpp
index c031540a8f..f37ef9e335 100644
--- a/src/media/video/video_rtp_session.cpp
+++ b/src/media/video/video_rtp_session.cpp
@@ -31,6 +31,7 @@
 #include "logger.h"
 #include "string_utils.h"
 #include "call.h"
+#include "conference.h"
 
 #include "account_const.h"
 
-- 
GitLab