summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2015-06-08 16:47:53 (GMT)
committerKevin Smith <kevin.smith@isode.com>2015-06-14 20:10:53 (GMT)
commit823d751ca2ca5c7b36ce674f20c57f7a5196d992 (patch)
tree25a9ad697d3ba2e117d8e8ccd07671ba7e91054a
parent0e9e80c94a0a59b2c348c3dcbc35d90f6fe4b194 (diff)
downloadswift-823d751ca2ca5c7b36ce674f20c57f7a5196d992.zip
swift-823d751ca2ca5c7b36ce674f20c57f7a5196d992.tar.bz2
Fix Swiften DLL building on Windows
Template classes cannot have SWIFTEN_API annotations as with annotation code for instantiations of the template are expected to be in the DLL which cannot be guaranteed for any user type. With the complete implementation in available in the header it is not needed because 3rdParty Swiften users can instantiate an implementation as needed. This also conditionally includes SQLiteHistoryStorage.h conditionally in MemoryStorages.cpp, as otherwise the linker will expect an implementation of SQLiteHistoryStorage in the DLL. However, it is only built into the DLL if experimental features are turned on. Test-Information: Tested with experimental=on/off and swiften_dll=on/off. Change-Id: Ieec85675c167ec34cffd4745ac854a5949fb2037
-rw-r--r--Swiften/Client/MemoryStorages.cpp4
-rw-r--r--Swiften/Parser/GenericPayloadParser.h2
-rw-r--r--Swiften/Parser/GenericPayloadParserFactory.h2
-rw-r--r--Swiften/Parser/GenericPayloadParserFactory2.h2
-rw-r--r--Swiften/Parser/GenericPayloadTreeParser.h2
-rw-r--r--Swiften/Serializer/GenericPayloadSerializer.h2
6 files changed, 8 insertions, 6 deletions
diff --git a/Swiften/Client/MemoryStorages.cpp b/Swiften/Client/MemoryStorages.cpp
index f0f1493..fc65cd5 100644
--- a/Swiften/Client/MemoryStorages.cpp
+++ b/Swiften/Client/MemoryStorages.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010-2013 Isode Limited.
+ * Copyright (c) 2010-2015 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
@@ -9,7 +9,9 @@
#include <Swiften/Avatars/AvatarMemoryStorage.h>
#include <Swiften/Disco/CapsMemoryStorage.h>
#include <Swiften/Roster/RosterMemoryStorage.h>
+#ifdef SWIFT_EXPERIMENTAL_HISTORY
#include <Swiften/History/SQLiteHistoryStorage.h>
+#endif
namespace Swift {
diff --git a/Swiften/Parser/GenericPayloadParser.h b/Swiften/Parser/GenericPayloadParser.h
index 7bc990a..b6cd2d7 100644
--- a/Swiften/Parser/GenericPayloadParser.h
+++ b/Swiften/Parser/GenericPayloadParser.h
@@ -23,7 +23,7 @@ namespace Swift {
* payload.
*/
template<typename PAYLOAD_TYPE>
- class SWIFTEN_API GenericPayloadParser : public PayloadParser {
+ class GenericPayloadParser : public PayloadParser {
public:
GenericPayloadParser() : PayloadParser() {
payload_ = boost::make_shared<PAYLOAD_TYPE>();
diff --git a/Swiften/Parser/GenericPayloadParserFactory.h b/Swiften/Parser/GenericPayloadParserFactory.h
index fd6d403..8e476c0 100644
--- a/Swiften/Parser/GenericPayloadParserFactory.h
+++ b/Swiften/Parser/GenericPayloadParserFactory.h
@@ -16,7 +16,7 @@ namespace Swift {
* A generic class for PayloadParserFactories that parse a specific payload (given as the template parameter of the class).
*/
template<typename PARSER_TYPE>
- class SWIFTEN_API GenericPayloadParserFactory : public PayloadParserFactory {
+ class GenericPayloadParserFactory : public PayloadParserFactory {
public:
/**
* Construct a parser factory that can parse the given top-level tag in the given namespace.
diff --git a/Swiften/Parser/GenericPayloadParserFactory2.h b/Swiften/Parser/GenericPayloadParserFactory2.h
index 09a2dbf..633050e 100644
--- a/Swiften/Parser/GenericPayloadParserFactory2.h
+++ b/Swiften/Parser/GenericPayloadParserFactory2.h
@@ -17,7 +17,7 @@ namespace Swift {
* A generic class for PayloadParserFactories that parse a specific payload (given as the template parameter of the class).
*/
template<typename PARSER_TYPE>
- class SWIFTEN_API GenericPayloadParserFactory2 : public PayloadParserFactory {
+ class GenericPayloadParserFactory2 : public PayloadParserFactory {
public:
/**
* Construct a parser factory that can parse the given top-level tag in the given namespace.
diff --git a/Swiften/Parser/GenericPayloadTreeParser.h b/Swiften/Parser/GenericPayloadTreeParser.h
index d90903c..37505ac 100644
--- a/Swiften/Parser/GenericPayloadTreeParser.h
+++ b/Swiften/Parser/GenericPayloadTreeParser.h
@@ -20,7 +20,7 @@ namespace Swift {
* Generic parser offering something a bit like a DOM to work with.
*/
template<typename PAYLOAD_TYPE>
- class SWIFTEN_API GenericPayloadTreeParser : public GenericPayloadParser<PAYLOAD_TYPE> {
+ class GenericPayloadTreeParser : public GenericPayloadParser<PAYLOAD_TYPE> {
public:
virtual void handleStartElement(const std::string& element, const std::string& xmlns, const AttributeMap& attributes) {
if (!root_) {
diff --git a/Swiften/Serializer/GenericPayloadSerializer.h b/Swiften/Serializer/GenericPayloadSerializer.h
index e964d80..f02ccda 100644
--- a/Swiften/Serializer/GenericPayloadSerializer.h
+++ b/Swiften/Serializer/GenericPayloadSerializer.h
@@ -13,7 +13,7 @@
namespace Swift {
template<typename PAYLOAD_TYPE>
- class SWIFTEN_API GenericPayloadSerializer : public PayloadSerializer {
+ class GenericPayloadSerializer : public PayloadSerializer {
public:
virtual std::string serialize(boost::shared_ptr<Payload> element) const {
return serializePayload(boost::dynamic_pointer_cast<PAYLOAD_TYPE>(element));