From 823d751ca2ca5c7b36ce674f20c57f7a5196d992 Mon Sep 17 00:00:00 2001 From: Tobias Markmann Date: Mon, 8 Jun 2015 18:47:53 +0200 Subject: 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 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 #include #include +#ifdef SWIFT_EXPERIMENTAL_HISTORY #include +#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 - class SWIFTEN_API GenericPayloadParser : public PayloadParser { + class GenericPayloadParser : public PayloadParser { public: GenericPayloadParser() : PayloadParser() { payload_ = boost::make_shared(); 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 - 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 - 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 - class SWIFTEN_API GenericPayloadTreeParser : public GenericPayloadParser { + class GenericPayloadTreeParser : public GenericPayloadParser { 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 - class SWIFTEN_API GenericPayloadSerializer : public PayloadSerializer { + class GenericPayloadSerializer : public PayloadSerializer { public: virtual std::string serialize(boost::shared_ptr element) const { return serializePayload(boost::dynamic_pointer_cast(element)); -- cgit v0.10.2-6-g49f6