summaryrefslogtreecommitdiffstats
path: root/ingen
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2019-03-08 10:53:07 +0100
committerDavid Robillard <d@drobilla.net>2019-03-09 00:43:43 +0100
commit20af728fdf07478b5a146370b59f902a70b85a68 (patch)
tree1763151b88d201c9d56984480cd42b4c3b2068a7 /ingen
parent11fe15cd9187c393cbb7df9f04ba96abc3fbcc9a (diff)
downloadingen-20af728fdf07478b5a146370b59f902a70b85a68.tar.gz
ingen-20af728fdf07478b5a146370b59f902a70b85a68.tar.bz2
ingen-20af728fdf07478b5a146370b59f902a70b85a68.zip
Clean up includes and forward declarations
Diffstat (limited to 'ingen')
-rw-r--r--ingen/Atom.hpp8
-rw-r--r--ingen/AtomForgeSink.hpp8
-rw-r--r--ingen/AtomReader.hpp8
-rw-r--r--ingen/AtomSink.hpp4
-rw-r--r--ingen/AtomWriter.hpp4
-rw-r--r--ingen/ClashAvoider.hpp5
-rw-r--r--ingen/Clock.hpp4
-rw-r--r--ingen/Configuration.hpp14
-rw-r--r--ingen/DataAccess.hpp7
-rw-r--r--ingen/EngineBase.hpp6
-rw-r--r--ingen/FilePath.hpp8
-rw-r--r--ingen/Forge.hpp8
-rw-r--r--ingen/InstanceAccess.hpp5
-rw-r--r--ingen/Interface.hpp6
-rw-r--r--ingen/LV2Features.hpp7
-rw-r--r--ingen/Log.hpp11
-rw-r--r--ingen/Message.hpp10
-rw-r--r--ingen/Module.hpp4
-rw-r--r--ingen/Node.hpp10
-rw-r--r--ingen/Parser.hpp14
-rw-r--r--ingen/Properties.hpp6
-rw-r--r--ingen/QueuedInterface.hpp6
-rw-r--r--ingen/Resource.hpp5
-rw-r--r--ingen/Serialiser.hpp5
-rw-r--r--ingen/SocketReader.hpp4
-rw-r--r--ingen/SocketWriter.hpp7
-rw-r--r--ingen/Store.hpp9
-rw-r--r--ingen/StreamWriter.hpp4
-rw-r--r--ingen/Tee.hpp8
-rw-r--r--ingen/TurtleWriter.hpp7
-rw-r--r--ingen/URI.hpp12
-rw-r--r--ingen/URIMap.hpp13
-rw-r--r--ingen/World.hpp6
-rw-r--r--ingen/client/ArcModel.hpp9
-rw-r--r--ingen/client/BlockModel.hpp13
-rw-r--r--ingen/client/ClientStore.hpp15
-rw-r--r--ingen/client/GraphModel.hpp5
-rw-r--r--ingen/client/ObjectModel.hpp17
-rw-r--r--ingen/client/PluginModel.hpp9
-rw-r--r--ingen/client/PluginUI.hpp9
-rw-r--r--ingen/client/PortModel.hpp6
-rw-r--r--ingen/client/SigClientInterface.hpp9
-rw-r--r--ingen/filesystem.hpp17
-rw-r--r--ingen/paths.hpp6
-rw-r--r--ingen/runtime_paths.hpp6
-rw-r--r--ingen/types.hpp4
46 files changed, 184 insertions, 184 deletions
diff --git a/ingen/Atom.hpp b/ingen/Atom.hpp
index 86528ea1..f028088d 100644
--- a/ingen/Atom.hpp
+++ b/ingen/Atom.hpp
@@ -17,16 +17,16 @@
#ifndef INGEN_ATOM_HPP
#define INGEN_ATOM_HPP
+#include "ingen/ingen.h"
+#include "lv2/atom/atom.h"
+#include "lv2/urid/urid.h"
+
#include <algorithm>
#include <cassert>
#include <cstdint>
#include <cstdlib>
#include <cstring>
-#include "ingen/ingen.h"
-#include "lv2/atom/atom.h"
-#include "lv2/urid/urid.h"
-
namespace ingen {
/**
diff --git a/ingen/AtomForgeSink.hpp b/ingen/AtomForgeSink.hpp
index ed8b0b8b..04799986 100644
--- a/ingen/AtomForgeSink.hpp
+++ b/ingen/AtomForgeSink.hpp
@@ -17,15 +17,15 @@
#ifndef INGEN_ATOMFORGESINK_HPP
#define INGEN_ATOMFORGESINK_HPP
+#include "lv2/atom/atom.h"
+#include "lv2/atom/forge.h"
+#include "lv2/atom/util.h"
+
#include <cassert>
#include <cstdint>
#include <cstdlib>
#include <cstring>
-#include "lv2/atom/atom.h"
-#include "lv2/atom/forge.h"
-#include "lv2/atom/util.h"
-
namespace ingen {
/** A resizing sink for LV2_Atom_Forge. */
diff --git a/ingen/AtomReader.hpp b/ingen/AtomReader.hpp
index 79a08288..44f7d31f 100644
--- a/ingen/AtomReader.hpp
+++ b/ingen/AtomReader.hpp
@@ -17,15 +17,15 @@
#ifndef INGEN_ATOMREADER_HPP
#define INGEN_ATOMREADER_HPP
-#include <cstdint>
-
-#include <boost/optional/optional.hpp>
-
#include "ingen/AtomSink.hpp"
#include "ingen/Resource.hpp"
#include "ingen/ingen.h"
#include "lv2/atom/atom.h"
+#include <boost/optional/optional.hpp>
+
+#include <cstdint>
+
namespace Raul {
class Path;
}
diff --git a/ingen/AtomSink.hpp b/ingen/AtomSink.hpp
index 70c7f730..395eba54 100644
--- a/ingen/AtomSink.hpp
+++ b/ingen/AtomSink.hpp
@@ -17,11 +17,11 @@
#ifndef INGEN_ATOMSINK_HPP
#define INGEN_ATOMSINK_HPP
-#include <cstdint>
-
#include "ingen/ingen.h"
#include "lv2/atom/atom.h"
+#include <cstdint>
+
namespace ingen {
/** A sink for LV2 Atoms.
diff --git a/ingen/AtomWriter.hpp b/ingen/AtomWriter.hpp
index bb6ab921..ee27436d 100644
--- a/ingen/AtomWriter.hpp
+++ b/ingen/AtomWriter.hpp
@@ -17,8 +17,6 @@
#ifndef INGEN_ATOMWRITER_HPP
#define INGEN_ATOMWRITER_HPP
-#include <cstdint>
-
#include "ingen/AtomForgeSink.hpp"
#include "ingen/Interface.hpp"
#include "ingen/Message.hpp"
@@ -28,6 +26,8 @@
#include "lv2/atom/forge.h"
#include "lv2/urid/urid.h"
+#include <cstdint>
+
namespace Raul { class Path; }
namespace ingen {
diff --git a/ingen/ClashAvoider.hpp b/ingen/ClashAvoider.hpp
index 6032351a..d8fce196 100644
--- a/ingen/ClashAvoider.hpp
+++ b/ingen/ClashAvoider.hpp
@@ -17,11 +17,12 @@
#ifndef INGEN_CLASHAVOIDER_HPP
#define INGEN_CLASHAVOIDER_HPP
-#include <map>
-
#include "ingen/ingen.h"
#include "raul/Path.hpp"
+#include <map>
+#include <string>
+
namespace ingen {
class Store;
diff --git a/ingen/Clock.hpp b/ingen/Clock.hpp
index e746bde5..ac940fab 100644
--- a/ingen/Clock.hpp
+++ b/ingen/Clock.hpp
@@ -17,8 +17,6 @@
#ifndef INGEN_ENGINE_CLOCK_HPP
#define INGEN_ENGINE_CLOCK_HPP
-#include <cstdint>
-
#ifdef __MACH__
# include <mach/mach.h>
# include <mach/mach_time.h>
@@ -27,6 +25,8 @@
# include <sys/time.h>
#endif
+#include <cstdint>
+
namespace ingen {
class Clock {
diff --git a/ingen/Configuration.hpp b/ingen/Configuration.hpp
index 65b08529..5a1085fe 100644
--- a/ingen/Configuration.hpp
+++ b/ingen/Configuration.hpp
@@ -17,20 +17,20 @@
#ifndef INGEN_CONFIGURATION_HPP
#define INGEN_CONFIGURATION_HPP
-#include <cstdlib>
-#include <list>
-#include <map>
-#include <ostream>
-#include <string>
-
#include "ingen/Atom.hpp"
+#include "ingen/FilePath.hpp"
#include "ingen/ingen.h"
#include "lv2/urid/urid.h"
#include "raul/Exception.hpp"
+#include <cstdio>
+#include <list>
+#include <map>
+#include <ostream>
+#include <string>
+
namespace ingen {
-class FilePath;
class Forge;
class URIMap;
diff --git a/ingen/DataAccess.hpp b/ingen/DataAccess.hpp
index 662b04e9..a0c9fdf7 100644
--- a/ingen/DataAccess.hpp
+++ b/ingen/DataAccess.hpp
@@ -17,19 +17,18 @@
#ifndef INGEN_ENGINE_DATAACCESS_HPP
#define INGEN_ENGINE_DATAACCESS_HPP
-#include <cstdlib>
-#include <utility>
-
#include "ingen/LV2Features.hpp"
#include "ingen/Node.hpp"
#include "ingen/Store.hpp"
#include "ingen/World.hpp"
#include "ingen/types.hpp"
#include "lilv/lilv.h"
-
#include "lv2/core/lv2.h"
#include "lv2/data-access/data-access.h"
+#include <cstdlib>
+#include <utility>
+
namespace ingen {
struct DataAccess : public ingen::LV2Features::Feature
diff --git a/ingen/EngineBase.hpp b/ingen/EngineBase.hpp
index aa3d5573..7b3239f1 100644
--- a/ingen/EngineBase.hpp
+++ b/ingen/EngineBase.hpp
@@ -17,13 +17,13 @@
#ifndef INGEN_ENGINEBASE_HPP
#define INGEN_ENGINEBASE_HPP
+#include "ingen/ingen.h"
+#include "ingen/types.hpp"
+
#include <chrono>
#include <cstddef>
#include <cstdint>
-#include "ingen/ingen.h"
-#include "ingen/types.hpp"
-
namespace ingen {
class Interface;
diff --git a/ingen/FilePath.hpp b/ingen/FilePath.hpp
index c174f15b..57cd47be 100644
--- a/ingen/FilePath.hpp
+++ b/ingen/FilePath.hpp
@@ -17,12 +17,12 @@
#ifndef INGEN_FILE_PATH_HPP
#define INGEN_FILE_PATH_HPP
-#include <iosfwd>
-#include <type_traits>
-#include <utility>
-
#include <boost/utility/string_view.hpp>
+#include <ostream>
+#include <string>
+#include <utility>
+
#if defined(_WIN32) && !defined(__CYGWIN__)
#define USE_WINDOWS_FILE_PATHS 1
#endif
diff --git a/ingen/Forge.hpp b/ingen/Forge.hpp
index 139211e4..b414a6ab 100644
--- a/ingen/Forge.hpp
+++ b/ingen/Forge.hpp
@@ -17,14 +17,14 @@
#ifndef INGEN_FORGE_HPP
#define INGEN_FORGE_HPP
-#include <cstdint>
-#include <cstring>
-#include <string>
-
#include "ingen/Atom.hpp"
#include "ingen/ingen.h"
#include "lv2/atom/forge.h"
+#include <cstdint>
+#include <cstring>
+#include <string>
+
namespace ingen {
class URIMap;
diff --git a/ingen/InstanceAccess.hpp b/ingen/InstanceAccess.hpp
index 27ae0d4e..52b48b3f 100644
--- a/ingen/InstanceAccess.hpp
+++ b/ingen/InstanceAccess.hpp
@@ -17,17 +17,16 @@
#ifndef INGEN_ENGINE_INSTANCEACCESS_HPP
#define INGEN_ENGINE_INSTANCEACCESS_HPP
-#include <utility>
-
#include "ingen/LV2Features.hpp"
#include "ingen/Node.hpp"
#include "ingen/Store.hpp"
#include "ingen/World.hpp"
#include "ingen/types.hpp"
#include "lilv/lilv.h"
-
#include "lv2/core/lv2.h"
+#include <utility>
+
namespace ingen {
struct InstanceAccess : public ingen::LV2Features::Feature
diff --git a/ingen/Interface.hpp b/ingen/Interface.hpp
index 2af4eb76..981b7dd5 100644
--- a/ingen/Interface.hpp
+++ b/ingen/Interface.hpp
@@ -21,9 +21,6 @@
#ifndef INGEN_INTERFACE_HPP
#define INGEN_INTERFACE_HPP
-#include <cstdint>
-#include <string>
-
#include "ingen/Message.hpp"
#include "ingen/Properties.hpp"
#include "ingen/Resource.hpp"
@@ -31,6 +28,9 @@
#include "ingen/ingen.h"
#include "ingen/types.hpp"
+#include <cstdint>
+#include <string>
+
namespace Raul {
class Path;
}
diff --git a/ingen/LV2Features.hpp b/ingen/LV2Features.hpp
index db5d530f..9508bd82 100644
--- a/ingen/LV2Features.hpp
+++ b/ingen/LV2Features.hpp
@@ -17,15 +17,14 @@
#ifndef INGEN_LV2FEATURES_HPP
#define INGEN_LV2FEATURES_HPP
-#include <string>
-#include <utility>
-#include <vector>
-
#include "ingen/ingen.h"
#include "ingen/types.hpp"
#include "lv2/core/lv2.h"
#include "raul/Noncopyable.hpp"
+#include <string>
+#include <vector>
+
namespace ingen {
class Node;
diff --git a/ingen/Log.hpp b/ingen/Log.hpp
index 000afcbe..3cc7de20 100644
--- a/ingen/Log.hpp
+++ b/ingen/Log.hpp
@@ -17,16 +17,10 @@
#ifndef INGEN_LOG_HPP
#define INGEN_LOG_HPP
-#include <cstdarg>
-#include <cstdio>
-#include <functional>
-#include <string>
-
-#include <boost/format.hpp>
-
#include "ingen/LV2Features.hpp"
#include "ingen/fmt.hpp"
#include "ingen/ingen.h"
+#include "ingen/types.hpp"
#include "lv2/core/lv2.h"
#include "lv2/log/log.h"
#include "lv2/urid/urid.h"
@@ -35,6 +29,7 @@
#include <cstdio>
#include <functional>
#include <string>
+#include <utility>
namespace ingen {
@@ -107,6 +102,6 @@ private:
bool _trace;
};
-} // namespace ingen
+} // namespace ingen
#endif // INGEN_LOG_HPP
diff --git a/ingen/Message.hpp b/ingen/Message.hpp
index d4423a2e..09444d4a 100644
--- a/ingen/Message.hpp
+++ b/ingen/Message.hpp
@@ -17,17 +17,17 @@
#ifndef INGEN_MESSAGE_HPP
#define INGEN_MESSAGE_HPP
-#include <cstdint>
-#include <string>
-
-#include <boost/variant/variant.hpp>
-
#include "ingen/Atom.hpp"
#include "ingen/Properties.hpp"
#include "ingen/Resource.hpp"
#include "ingen/Status.hpp"
#include "raul/Path.hpp"
+#include <boost/variant/variant.hpp>
+
+#include <cstdint>
+#include <string>
+
namespace ingen {
struct BundleBegin
diff --git a/ingen/Module.hpp b/ingen/Module.hpp
index 17f7b10b..88f4afcd 100644
--- a/ingen/Module.hpp
+++ b/ingen/Module.hpp
@@ -17,12 +17,12 @@
#ifndef INGEN_MODULE_HPP
#define INGEN_MODULE_HPP
-#include <memory>
-
#include "ingen/FilePath.hpp"
#include "ingen/Library.hpp"
#include "ingen/ingen.h"
+#include <memory>
+
namespace ingen {
class World;
diff --git a/ingen/Node.hpp b/ingen/Node.hpp
index 90a6e53f..038627b0 100644
--- a/ingen/Node.hpp
+++ b/ingen/Node.hpp
@@ -17,17 +17,17 @@
#ifndef INGEN_NODE_HPP
#define INGEN_NODE_HPP
-#include <cstdint>
-#include <map>
-#include <string>
-#include <utility>
-
#include "ingen/Resource.hpp"
#include "ingen/ingen.h"
#include "ingen/paths.hpp"
#include "ingen/types.hpp"
#include "lilv/lilv.h"
+#include <cstdint>
+#include <map>
+#include <string>
+#include <utility>
+
namespace Raul {
class Path;
class Symbol;
diff --git a/ingen/Parser.hpp b/ingen/Parser.hpp
index 574305df..acaf3b90 100644
--- a/ingen/Parser.hpp
+++ b/ingen/Parser.hpp
@@ -17,12 +17,6 @@
#ifndef INGEN_PARSER_HPP
#define INGEN_PARSER_HPP
-#include <set>
-#include <string>
-#include <utility>
-
-#include <boost/optional/optional.hpp>
-
#include "ingen/FilePath.hpp"
#include "ingen/Properties.hpp"
#include "ingen/URI.hpp"
@@ -30,6 +24,14 @@
#include "raul/Path.hpp"
#include "raul/Symbol.hpp"
+#include <boost/optional/optional.hpp>
+
+#include <set>
+#include <string>
+#include <utility>
+
+namespace Raul { class Path; }
+namespace Raul { class Symbol; }
namespace Sord { class World; }
namespace ingen {
diff --git a/ingen/Properties.hpp b/ingen/Properties.hpp
index d3237cd2..6f1a8494 100644
--- a/ingen/Properties.hpp
+++ b/ingen/Properties.hpp
@@ -17,13 +17,13 @@
#ifndef INGEN_PROPERTIES_HPP
#define INGEN_PROPERTIES_HPP
+#include "ingen/Atom.hpp"
+#include "ingen/URIs.hpp"
+
#include <initializer_list>
#include <map>
#include <utility>
-#include "ingen/Atom.hpp"
-#include "ingen/URIs.hpp"
-
namespace ingen {
/** A property value (an Atom with a context). */
diff --git a/ingen/QueuedInterface.hpp b/ingen/QueuedInterface.hpp
index 5c413a42..f45dd3da 100644
--- a/ingen/QueuedInterface.hpp
+++ b/ingen/QueuedInterface.hpp
@@ -17,12 +17,12 @@
#ifndef INGEN_ENGINE_QUEUEDINTERFACE_HPP
#define INGEN_ENGINE_QUEUEDINTERFACE_HPP
-#include <mutex>
-#include <vector>
-
#include "ingen/Interface.hpp"
#include "ingen/Message.hpp"
+#include <mutex>
+#include <vector>
+
namespace ingen {
/** Stores all messages and emits them to a sink on demand.
diff --git a/ingen/Resource.hpp b/ingen/Resource.hpp
index 94d92e12..eb624e07 100644
--- a/ingen/Resource.hpp
+++ b/ingen/Resource.hpp
@@ -17,15 +17,14 @@
#ifndef INGEN_RESOURCE_HPP
#define INGEN_RESOURCE_HPP
-#include <cassert>
-#include <string>
-
#include "ingen/Properties.hpp"
#include "ingen/URI.hpp"
#include "ingen/URIs.hpp"
#include "ingen/ingen.h"
#include "raul/Deletable.hpp"
+#include <cassert>
+
namespace ingen {
class Atom;
diff --git a/ingen/Serialiser.hpp b/ingen/Serialiser.hpp
index c4598f12..11297ff9 100644
--- a/ingen/Serialiser.hpp
+++ b/ingen/Serialiser.hpp
@@ -17,14 +17,13 @@
#ifndef INGEN_SERIALISER_HPP
#define INGEN_SERIALISER_HPP
-#include <stdexcept>
-#include <string>
-
#include "ingen/Properties.hpp"
#include "ingen/ingen.h"
#include "ingen/types.hpp"
#include "sord/sordmm.hpp"
+#include <string>
+
namespace Raul { class Path; }
namespace ingen {
diff --git a/ingen/SocketReader.hpp b/ingen/SocketReader.hpp
index f55f5676..3c3c5f3c 100644
--- a/ingen/SocketReader.hpp
+++ b/ingen/SocketReader.hpp
@@ -17,13 +17,13 @@
#ifndef INGEN_SOCKET_READER_HPP
#define INGEN_SOCKET_READER_HPP
-#include <thread>
-
#include "ingen/ingen.h"
#include "ingen/types.hpp"
#include "serd/serd.h"
#include "sord/sord.h"
+#include <thread>
+
namespace Raul { class Socket; }
namespace ingen {
diff --git a/ingen/SocketWriter.hpp b/ingen/SocketWriter.hpp
index c4ed7b51..2424fe24 100644
--- a/ingen/SocketWriter.hpp
+++ b/ingen/SocketWriter.hpp
@@ -17,11 +17,12 @@
#ifndef INGEN_SOCKET_WRITER_HPP
#define INGEN_SOCKET_WRITER_HPP
-#include <cstddef>
-#include <cstdint>
-
+#include "ingen/Message.hpp"
#include "ingen/TurtleWriter.hpp"
#include "ingen/ingen.h"
+#include "ingen/types.hpp"
+
+#include <cstddef>
namespace Raul {
class Socket;
diff --git a/ingen/Store.hpp b/ingen/Store.hpp
index 0607eefa..cf412ce6 100644
--- a/ingen/Store.hpp
+++ b/ingen/Store.hpp
@@ -17,17 +17,16 @@
#ifndef INGEN_STORE_HPP
#define INGEN_STORE_HPP
-#include <cstddef>
-#include <map>
-#include <mutex>
-#include <utility>
-
#include "ingen/ingen.h"
#include "ingen/types.hpp"
#include "raul/Deletable.hpp"
#include "raul/Noncopyable.hpp"
#include "raul/Path.hpp"
+#include <map>
+#include <mutex>
+#include <utility>
+
namespace Raul { class Symbol; }
namespace ingen {
diff --git a/ingen/StreamWriter.hpp b/ingen/StreamWriter.hpp
index 9059ccdc..56603b92 100644
--- a/ingen/StreamWriter.hpp
+++ b/ingen/StreamWriter.hpp
@@ -17,12 +17,12 @@
#ifndef INGEN_STREAMWRITER_HPP
#define INGEN_STREAMWRITER_HPP
-#include <cstdio>
-
#include "ingen/ingen.h"
#include "ingen/ColorContext.hpp"
#include "ingen/TurtleWriter.hpp"
+#include <cstdio>
+
namespace ingen {
class URI;
diff --git a/ingen/Tee.hpp b/ingen/Tee.hpp
index 37c0870c..cee8c59e 100644
--- a/ingen/Tee.hpp
+++ b/ingen/Tee.hpp
@@ -17,15 +17,15 @@
#ifndef INGEN_ENGINE_TEE_HPP
#define INGEN_ENGINE_TEE_HPP
+#include "ingen/Interface.hpp"
+#include "ingen/Message.hpp"
+#include "ingen/types.hpp"
+
#include <cstddef>
#include <mutex>
#include <set>
#include <utility>
-#include "ingen/Interface.hpp"
-#include "ingen/Message.hpp"
-#include "ingen/types.hpp"
-
namespace ingen {
/** Interface that forwards all calls to several sinks. */
diff --git a/ingen/TurtleWriter.hpp b/ingen/TurtleWriter.hpp
index 6e21072f..2ee027ae 100644
--- a/ingen/TurtleWriter.hpp
+++ b/ingen/TurtleWriter.hpp
@@ -17,16 +17,17 @@
#ifndef INGEN_TURTLE_WRITER_HPP
#define INGEN_TURTLE_WRITER_HPP
-#include <cstddef>
-#include <cstdint>
-
#include "ingen/AtomSink.hpp"
#include "ingen/AtomWriter.hpp"
+#include "ingen/URI.hpp"
#include "ingen/ingen.h"
#include "lv2/atom/atom.h"
#include "serd/serd.h"
#include "sratom/sratom.h"
+#include <cstddef>
+#include <cstdint>
+
namespace ingen {
class URIMap;
diff --git a/ingen/URI.hpp b/ingen/URI.hpp
index 128155e7..91096ba0 100644
--- a/ingen/URI.hpp
+++ b/ingen/URI.hpp
@@ -17,16 +17,18 @@
#ifndef INGEN_URI_HPP
#define INGEN_URI_HPP
-#include <iosfwd>
-#include <string>
-
-#include <boost/utility/string_view.hpp>
-
#include "ingen/FilePath.hpp"
#include "ingen/ingen.h"
#include "serd/serd.h"
#include "sord/sordmm.hpp"
+#include <boost/utility/string_view.hpp>
+
+#include <cstddef>
+#include <cstdint>
+#include <ostream>
+#include <string>
+
namespace ingen {
class INGEN_API URI
diff --git a/ingen/URIMap.hpp b/ingen/URIMap.hpp
index f1825439..a3b9f219 100644
--- a/ingen/URIMap.hpp
+++ b/ingen/URIMap.hpp
@@ -17,13 +17,6 @@
#ifndef INGEN_URIMAP_HPP
#define INGEN_URIMAP_HPP
-#include <cstdint>
-#include <mutex>
-#include <string>
-#include <unordered_map>
-#include <utility>
-#include <vector>
-
#include "ingen/LV2Features.hpp"
#include "ingen/ingen.h"
#include "ingen/types.hpp"
@@ -31,6 +24,12 @@
#include "lv2/urid/urid.h"
#include "raul/Noncopyable.hpp"
+#include <cstdint>
+#include <mutex>
+#include <string>
+#include <unordered_map>
+#include <vector>
+
namespace ingen {
class Log;
diff --git a/ingen/World.hpp b/ingen/World.hpp
index d895b742..c8d69c5b 100644
--- a/ingen/World.hpp
+++ b/ingen/World.hpp
@@ -17,15 +17,15 @@
#ifndef INGEN_WORLD_HPP
#define INGEN_WORLD_HPP
-#include <mutex>
-#include <string>
-
#include "ingen/ingen.h"
#include "ingen/types.hpp"
#include "lv2/log/log.h"
#include "lv2/urid/urid.h"
#include "raul/Noncopyable.hpp"
+#include <mutex>
+#include <string>
+
typedef struct LilvWorldImpl LilvWorld;
namespace Sord { class World; }
diff --git a/ingen/client/ArcModel.hpp b/ingen/client/ArcModel.hpp
index 3016266e..e42dd7bd 100644
--- a/ingen/client/ArcModel.hpp
+++ b/ingen/client/ArcModel.hpp
@@ -17,14 +17,13 @@
#ifndef INGEN_CLIENT_ARCMODEL_HPP
#define INGEN_CLIENT_ARCMODEL_HPP
-#include <cassert>
-
-#include "ingen/types.hpp"
-#include "raul/Path.hpp"
-
#include "ingen/Arc.hpp"
#include "ingen/client/PortModel.hpp"
#include "ingen/ingen.h"
+#include "ingen/types.hpp"
+#include "raul/Path.hpp"
+
+#include <cassert>
namespace ingen {
namespace client {
diff --git a/ingen/client/BlockModel.hpp b/ingen/client/BlockModel.hpp
index 4dfd35d7..6b9881c5 100644
--- a/ingen/client/BlockModel.hpp
+++ b/ingen/client/BlockModel.hpp
@@ -17,17 +17,17 @@
#ifndef INGEN_CLIENT_BLOCKMODEL_HPP
#define INGEN_CLIENT_BLOCKMODEL_HPP
-#include <cstdlib>
-#include <string>
-#include <vector>
-
#include "ingen/Node.hpp"
#include "ingen/client/ObjectModel.hpp"
#include "ingen/client/PluginModel.hpp"
-#include "ingen/client/PortModel.hpp"
#include "ingen/ingen.h"
#include "ingen/types.hpp"
+#include <algorithm>
+#include <cstdint>
+#include <string>
+#include <vector>
+
namespace Raul { class Path; }
namespace ingen {
@@ -36,8 +36,7 @@ class URIs;
namespace client {
-class PluginModel;
-class ClientStore;
+class PortModel;
/** Block model class, used by the client to store engine's state.
*
diff --git a/ingen/client/ClientStore.hpp b/ingen/client/ClientStore.hpp
index 0d7cb185..5cb097e8 100644
--- a/ingen/client/ClientStore.hpp
+++ b/ingen/client/ClientStore.hpp
@@ -17,23 +17,28 @@
#ifndef INGEN_CLIENT_CLIENTSTORE_HPP
#define INGEN_CLIENT_CLIENTSTORE_HPP
-#include <cassert>
-#include <list>
-#include <string>
-
#include "ingen/Interface.hpp"
+#include "ingen/Message.hpp"
#include "ingen/Store.hpp"
+#include "ingen/URI.hpp"
#include "ingen/client/signal.hpp"
#include "ingen/ingen.h"
#include "ingen/types.hpp"
#include "raul/Path.hpp"
-namespace Raul { class Atom; }
+#include <map>
+
+namespace Raul {
+class Path;
+class Atom;
+}
namespace ingen {
+class Atom;
class Log;
class Node;
+class Resource;
class URIs;
namespace client {
diff --git a/ingen/client/GraphModel.hpp b/ingen/client/GraphModel.hpp
index 659ded9e..8713b6a9 100644
--- a/ingen/client/GraphModel.hpp
+++ b/ingen/client/GraphModel.hpp
@@ -17,10 +17,15 @@
#ifndef INGEN_CLIENT_GRAPHMODEL_HPP
#define INGEN_CLIENT_GRAPHMODEL_HPP
+#include "ingen/Node.hpp"
+#include "ingen/URIs.hpp"
#include "ingen/client/BlockModel.hpp"
+#include "ingen/client/signal.hpp"
#include "ingen/ingen.h"
#include "ingen/types.hpp"
+#include <cstdint>
+
namespace ingen {
namespace client {
diff --git a/ingen/client/ObjectModel.hpp b/ingen/client/ObjectModel.hpp
index 0c517ccf..94906dec 100644
--- a/ingen/client/ObjectModel.hpp
+++ b/ingen/client/ObjectModel.hpp
@@ -21,26 +21,21 @@
#ifndef INGEN_CLIENT_OBJECTMODEL_HPP
#define INGEN_CLIENT_OBJECTMODEL_HPP
-#include <algorithm>
-#include <cassert>
-#include <cstdlib>
-
-#include "ingen/types.hpp"
-#include "raul/Path.hpp"
-
#include "ingen/Node.hpp"
-#include "ingen/Resource.hpp"
+#include "ingen/URI.hpp"
+#include "ingen/URIs.hpp"
#include "ingen/client/signal.hpp"
#include "ingen/ingen.h"
+#include "ingen/types.hpp"
+#include "raul/Path.hpp"
+#include "raul/Symbol.hpp"
namespace ingen {
-class URIs;
+class Atom;
namespace client {
-class ClientStore;
-
/** Base class for all Node models (BlockModel, GraphModel, PortModel).
*
* There are no non-const public methods intentionally, models are not allowed
diff --git a/ingen/client/PluginModel.hpp b/ingen/client/PluginModel.hpp
index 08a0fec9..468816aa 100644
--- a/ingen/client/PluginModel.hpp
+++ b/ingen/client/PluginModel.hpp
@@ -17,11 +17,6 @@
#ifndef INGEN_CLIENT_PLUGINMODEL_HPP
#define INGEN_CLIENT_PLUGINMODEL_HPP
-#include <list>
-#include <map>
-#include <string>
-#include <utility>
-
#include "ingen/Forge.hpp"
#include "ingen/Resource.hpp"
#include "ingen/World.hpp"
@@ -32,6 +27,10 @@
#include "raul/Symbol.hpp"
#include "sord/sordmm.hpp"
+#include <cstdint>
+#include <map>
+#include <string>
+
namespace ingen {
class URIs;
diff --git a/ingen/client/PluginUI.hpp b/ingen/client/PluginUI.hpp
index f17c8f61..b80c4527 100644
--- a/ingen/client/PluginUI.hpp
+++ b/ingen/client/PluginUI.hpp
@@ -17,17 +17,22 @@
#ifndef INGEN_CLIENT_PLUGINUI_HPP
#define INGEN_CLIENT_PLUGINUI_HPP
-#include <set>
+#include "signal.hpp"
#include "ingen/LV2Features.hpp"
+#include "ingen/Resource.hpp"
#include "ingen/ingen.h"
#include "ingen/types.hpp"
#include "lilv/lilv.h"
#include "suil/suil.h"
+#include <cstdint>
+#include <set>
+
namespace ingen {
-class Interface;
+class Atom;
+class URI;
class World;
namespace client {
diff --git a/ingen/client/PortModel.hpp b/ingen/client/PortModel.hpp
index fcb46c4f..4aa033d1 100644
--- a/ingen/client/PortModel.hpp
+++ b/ingen/client/PortModel.hpp
@@ -17,15 +17,15 @@
#ifndef INGEN_CLIENT_PORTMODEL_HPP
#define INGEN_CLIENT_PORTMODEL_HPP
-#include <cstdlib>
-#include <string>
-
#include "ingen/client/ObjectModel.hpp"
#include "ingen/ingen.h"
#include "ingen/types.hpp"
#include "lv2/core/lv2.h"
#include "lv2/port-props/port-props.h"
+#include <cstdlib>
+#include <string>
+
namespace Raul { class Path; }
namespace ingen {
diff --git a/ingen/client/SigClientInterface.hpp b/ingen/client/SigClientInterface.hpp
index 461a7470..e9c8cd0e 100644
--- a/ingen/client/SigClientInterface.hpp
+++ b/ingen/client/SigClientInterface.hpp
@@ -17,14 +17,13 @@
#ifndef INGEN_CLIENT_SIGCLIENTINTERFACE_HPP
#define INGEN_CLIENT_SIGCLIENTINTERFACE_HPP
-#include <cstdint>
-#include <string>
-
-#include "raul/Path.hpp"
-
#include "ingen/Interface.hpp"
#include "ingen/client/signal.hpp"
#include "ingen/ingen.h"
+#include "raul/Path.hpp"
+
+#include <cstdint>
+#include <string>
namespace ingen {
namespace client {
diff --git a/ingen/filesystem.hpp b/ingen/filesystem.hpp
index 4b8e2b11..5156eb79 100644
--- a/ingen/filesystem.hpp
+++ b/ingen/filesystem.hpp
@@ -20,14 +20,7 @@
#define _BSD_SOURCE 1
#define _DEFAULT_SOURCE 1
-#include <cerrno>
-#include <climits>
-#include <cstdlib>
-#include <memory>
-#include <vector>
-
-#include <sys/stat.h>
-#include <sys/types.h>
+#include "ingen/FilePath.hpp"
#ifdef _WIN32
# include <windows.h>
@@ -36,7 +29,13 @@
# define mkdir(path, flags) _mkdir(path)
#endif
-#include "ingen/FilePath.hpp"
+#include <cerrno>
+#include <climits>
+#include <cstdlib>
+#include <memory>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <vector>
/* A minimal subset of the std::filesystem API from C++17. */
diff --git a/ingen/paths.hpp b/ingen/paths.hpp
index 4f46b69a..05496114 100644
--- a/ingen/paths.hpp
+++ b/ingen/paths.hpp
@@ -17,12 +17,12 @@
#ifndef INGEN_PATHS_HPP
#define INGEN_PATHS_HPP
-#include <cstddef>
-#include <string>
-
#include "ingen/URI.hpp"
#include "raul/Path.hpp"
+#include <cstddef>
+#include <string>
+
namespace ingen {
inline URI main_uri() { return URI("ingen:/main"); }
diff --git a/ingen/runtime_paths.hpp b/ingen/runtime_paths.hpp
index 361ab6af..2575efa1 100644
--- a/ingen/runtime_paths.hpp
+++ b/ingen/runtime_paths.hpp
@@ -17,12 +17,12 @@
#ifndef INGEN_RUNTIME_PATHS_HPP
#define INGEN_RUNTIME_PATHS_HPP
-#include <string>
-#include <vector>
-
#include "ingen/ingen.h"
#include "ingen/FilePath.hpp"
+#include <string>
+#include <vector>
+
namespace ingen {
extern const char search_path_separator;
diff --git a/ingen/types.hpp b/ingen/types.hpp
index 98f700f5..b6461799 100644
--- a/ingen/types.hpp
+++ b/ingen/types.hpp
@@ -17,11 +17,11 @@
#ifndef INGEN_TYPES_HPP
#define INGEN_TYPES_HPP
+#include "raul/Maid.hpp"
+
#include <cstdlib>
#include <memory>
-#include "raul/Maid.hpp"
-
namespace ingen {
template <class T>