From 23d0bd8edde6aadfaa282215b5f143ad16210438 Mon Sep 17 00:00:00 2001
From: Petr Mrázek <peterix@gmail.com>
Date: Sat, 5 Sep 2015 18:46:57 +0200
Subject: NOISSUE make shared logic library ... shared

---
 logic/resources/IconResourceHandler.h | 4 +++-
 logic/resources/Resource.h            | 4 +++-
 logic/resources/ResourceHandler.h     | 4 +++-
 logic/resources/ResourceObserver.h    | 7 ++++---
 4 files changed, 13 insertions(+), 6 deletions(-)

(limited to 'logic/resources')

diff --git a/logic/resources/IconResourceHandler.h b/logic/resources/IconResourceHandler.h
index 6f933ad4..44fafc07 100644
--- a/logic/resources/IconResourceHandler.h
+++ b/logic/resources/IconResourceHandler.h
@@ -4,7 +4,9 @@
 
 #include "ResourceHandler.h"
 
-class IconResourceHandler : public ResourceHandler
+#include "multimc_logic_export.h"
+
+class MULTIMC_LOGIC_EXPORT IconResourceHandler : public ResourceHandler
 {
 public:
 	explicit IconResourceHandler(const QString &key);
diff --git a/logic/resources/Resource.h b/logic/resources/Resource.h
index 40a6d871..63e97b88 100644
--- a/logic/resources/Resource.h
+++ b/logic/resources/Resource.h
@@ -9,6 +9,8 @@
 #include "ResourceObserver.h"
 #include "TypeMagic.h"
 
+#include "multimc_logic_export.h"
+
 class ResourceHandler;
 
 /** Frontend class for resources
@@ -27,7 +29,7 @@ class ResourceHandler;
  *
  *	@note Always pass resource around using Resource::Ptr! Copy and move constructors are disabled for a reason.
  */
-class Resource : public std::enable_shared_from_this<Resource>
+class MULTIMC_LOGIC_EXPORT Resource : public std::enable_shared_from_this<Resource>
 {
 	// only allow creation from Resource::create and disallow passing around non-pointers
 	explicit Resource(const QString &resource);
diff --git a/logic/resources/ResourceHandler.h b/logic/resources/ResourceHandler.h
index a4f638ec..f09d8904 100644
--- a/logic/resources/ResourceHandler.h
+++ b/logic/resources/ResourceHandler.h
@@ -3,6 +3,8 @@
 #include <QVariant>
 #include <memory>
 
+#include "multimc_logic_export.h"
+
 class Resource;
 
 /** Base class for things that can retrieve a resource.
@@ -11,7 +13,7 @@ class Resource;
  * call Resource::registerHandler<MyResourceHandler>("<id>"), where <id> is the
  * prefix of the resource ("web", "icon", etc.)
  */
-class ResourceHandler
+class MULTIMC_LOGIC_EXPORT ResourceHandler
 {
 public:
 	virtual ~ResourceHandler() {}
diff --git a/logic/resources/ResourceObserver.h b/logic/resources/ResourceObserver.h
index ef946c32..cf4fa619 100644
--- a/logic/resources/ResourceObserver.h
+++ b/logic/resources/ResourceObserver.h
@@ -5,12 +5,13 @@
 
 #include <QObject>
 #include <QMetaProperty>
+#include "multimc_logic_export.h"
 
 class QVariant;
 class Resource;
 
 /// Base class for things that can use a resource
-class ResourceObserver
+class MULTIMC_LOGIC_EXPORT ResourceObserver
 {
 public:
 	virtual ~ResourceObserver();
@@ -39,7 +40,7 @@ private:
  *
  * If no name is given an attempt to find a default property for some common classes is done.
  */
-class QObjectResourceObserver : public QObject, public ResourceObserver
+class MULTIMC_LOGIC_EXPORT QObjectResourceObserver : public QObject, public ResourceObserver
 {
 public:
 	explicit QObjectResourceObserver(QObject *target, const char *property = nullptr);
@@ -57,7 +58,7 @@ private:
  *   * We need Func in order to std::forward the function
  */
 template <typename Ret, typename Arg, typename Func>
-class FunctionResourceObserver : public ResourceObserver
+class MULTIMC_LOGIC_EXPORT FunctionResourceObserver : public ResourceObserver
 {
 	std::function<Ret(Arg)> m_function;
 public:
-- 
cgit