diff options
Diffstat (limited to 'Swiften')
102 files changed, 280 insertions, 136 deletions
diff --git a/Swiften/AdHoc/OutgoingAdHocCommandSession.h b/Swiften/AdHoc/OutgoingAdHocCommandSession.h index 7c7cc99..74d6c59 100644 --- a/Swiften/AdHoc/OutgoingAdHocCommandSession.h +++ b/Swiften/AdHoc/OutgoingAdHocCommandSession.h @@ -10,6 +10,7 @@ #include <string> #include <map> +#include <Swiften/Base/API.h> #include <Swiften/JID/JID.h> #include <Swiften/Base/boost_bsignals.h> #include <Swiften/Elements/Command.h> @@ -21,7 +22,7 @@ namespace Swift { class MainWindow; class UIEventStream; - class OutgoingAdHocCommandSession { + class SWIFTEN_API OutgoingAdHocCommandSession { public: /** diff --git a/Swiften/Avatars/AvatarStorage.h b/Swiften/Avatars/AvatarStorage.h index c33d38b..7f61ca2 100644 --- a/Swiften/Avatars/AvatarStorage.h +++ b/Swiften/Avatars/AvatarStorage.h @@ -8,12 +8,14 @@ #include <boost/filesystem/path.hpp> #include <string> + +#include <Swiften/Base/API.h> #include <Swiften/Base/ByteArray.h> namespace Swift { class JID; - class AvatarStorage { + class SWIFTEN_API AvatarStorage { public: virtual ~AvatarStorage(); diff --git a/Swiften/Base/API.h b/Swiften/Base/API.h new file mode 100644 index 0000000..8f19446 --- /dev/null +++ b/Swiften/Base/API.h @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2012 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#pragma once + +#include <Swiften/Base/Platform.h> + +#ifdef SWIFTEN_STATIC +# define SWIFTEN_API +#else +# ifdef SWIFTEN_PLATFORM_WINDOWS +# ifdef SWIFTEN_BUILDING +# define SWIFTEN_API __declspec(dllexport) +# else +# define SWIFTEN_API __declspec(dllimport) +# endif +# else +# define SWIFTEN_API +# endif +#endif diff --git a/Swiften/Base/ByteArray.h b/Swiften/Base/ByteArray.h index 01cd5d0..34b89d3 100644 --- a/Swiften/Base/ByteArray.h +++ b/Swiften/Base/ByteArray.h @@ -9,11 +9,13 @@ #include <vector> #include <string> +#include <Swiften/Base/API.h> + namespace Swift { typedef std::vector<unsigned char> ByteArray; - ByteArray createByteArray(const std::string& s); - ByteArray createByteArray(const char* c); + SWIFTEN_API ByteArray createByteArray(const std::string& s); + SWIFTEN_API ByteArray createByteArray(const char* c); inline ByteArray createByteArray(const unsigned char* c, size_t n) { return ByteArray(c, c + n); @@ -37,8 +39,8 @@ namespace Swift { return v.empty() ? NULL : &v[0]; } - std::string byteArrayToString(const ByteArray& b); + SWIFTEN_API std::string byteArrayToString(const ByteArray& b); - void readByteArrayFromFile(ByteArray&, const std::string& file); + SWIFTEN_API void readByteArrayFromFile(ByteArray&, const std::string& file); } diff --git a/Swiften/Base/Error.h b/Swiften/Base/Error.h index e99f175..906c1d9 100644 --- a/Swiften/Base/Error.h +++ b/Swiften/Base/Error.h @@ -6,8 +6,10 @@ #pragma once +#include <Swiften/Base/API.h> + namespace Swift { - class Error { + class SWIFTEN_API Error { public: virtual ~Error(); }; diff --git a/Swiften/Base/IDGenerator.h b/Swiften/Base/IDGenerator.h index 44eeb76..14ecfdc 100644 --- a/Swiften/Base/IDGenerator.h +++ b/Swiften/Base/IDGenerator.h @@ -8,8 +8,10 @@ #include <string> +#include <Swiften/Base/API.h> + namespace Swift { - class IDGenerator { + class SWIFTEN_API IDGenerator { public: IDGenerator(); diff --git a/Swiften/Base/Log.h b/Swiften/Base/Log.h index 06f5b55..6d76dc6 100644 --- a/Swiften/Base/Log.h +++ b/Swiften/Base/Log.h @@ -8,8 +8,10 @@ #include <iostream> +#include <Swiften/Base/API.h> + namespace Swift { - extern bool logging; + extern SWIFTEN_API bool logging; namespace LogDetail { // Only here to be able to statically check the correctness of the severity levers namespace Severity { diff --git a/Swiften/Base/Paths.h b/Swiften/Base/Paths.h index 8ac4640..94e62d1 100644 --- a/Swiften/Base/Paths.h +++ b/Swiften/Base/Paths.h @@ -8,8 +8,10 @@ #include <boost/filesystem/path.hpp> +#include <Swiften/Base/API.h> + namespace Swift { - class Paths { + class SWIFTEN_API Paths { public: static boost::filesystem::path getExecutablePath(); }; diff --git a/Swiften/Base/SafeByteArray.h b/Swiften/Base/SafeByteArray.h index 1ef1d84..dda51fe 100644 --- a/Swiften/Base/SafeByteArray.h +++ b/Swiften/Base/SafeByteArray.h @@ -8,6 +8,7 @@ #include <vector> +#include <Swiften/Base/API.h> #include <Swiften/Base/SafeAllocator.h> #include <Swiften/Base/ByteArray.h> #include <boost/smart_ptr/make_shared.hpp> @@ -19,7 +20,7 @@ namespace Swift { return SafeByteArray(a.begin(), a.end()); } - SafeByteArray createSafeByteArray(const char* c); + SWIFTEN_API SafeByteArray createSafeByteArray(const char* c); inline SafeByteArray createSafeByteArray(const std::string& s) { return SafeByteArray(s.begin(), s.end()); diff --git a/Swiften/Base/String.h b/Swiften/Base/String.h index db6c28b..26cc3f4 100644 --- a/Swiften/Base/String.h +++ b/Swiften/Base/String.h @@ -10,15 +10,17 @@ #include <vector> #include <sstream> +#include <Swiften/Base/API.h> + #define SWIFTEN_STRING_TO_CFSTRING(a) \ CFStringCreateWithBytes(NULL, reinterpret_cast<const UInt8*>(a.c_str()), a.size(), kCFStringEncodingUTF8, false) namespace Swift { namespace String { - std::vector<unsigned int> getUnicodeCodePoints(const std::string&); - std::pair<std::string, std::string> getSplittedAtFirst(const std::string&, char c); - std::vector<std::string> split(const std::string&, char c); - void replaceAll(std::string&, char c, const std::string& s); + SWIFTEN_API std::vector<unsigned int> getUnicodeCodePoints(const std::string&); + SWIFTEN_API std::pair<std::string, std::string> getSplittedAtFirst(const std::string&, char c); + SWIFTEN_API std::vector<std::string> split(const std::string&, char c); + SWIFTEN_API void replaceAll(std::string&, char c, const std::string& s); inline bool beginsWith(const std::string& s, char c) { return s.size() > 0 && s[0] == c; @@ -29,7 +31,7 @@ namespace Swift { } }; - class makeString { + class SWIFTEN_API makeString { public: template <typename T> makeString& operator<<(T const& v) { stream << v; diff --git a/Swiften/Base/sleep.h b/Swiften/Base/sleep.h index a95e907..afcf6c7 100644 --- a/Swiften/Base/sleep.h +++ b/Swiften/Base/sleep.h @@ -6,6 +6,8 @@ #pragma once +#include <Swiften/Base/API.h> + namespace Swift { - void sleep(unsigned int msecs); + SWIFTEN_API void sleep(unsigned int msecs); } diff --git a/Swiften/Chat/ChatStateNotifier.h b/Swiften/Chat/ChatStateNotifier.h index c691092..5b99266 100644 --- a/Swiften/Chat/ChatStateNotifier.h +++ b/Swiften/Chat/ChatStateNotifier.h @@ -9,6 +9,7 @@ #include <Swiften/Base/boost_bsignals.h> #include <boost/shared_ptr.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Elements/Message.h> #include <Swiften/Elements/ChatState.h> #include <Swiften/JID/JID.h> @@ -17,7 +18,7 @@ namespace Swift { class StanzaChannel; class EntityCapsProvider; - class ChatStateNotifier { + class SWIFTEN_API ChatStateNotifier { public: ChatStateNotifier(StanzaChannel* stanzaChannel, const JID& contact, EntityCapsProvider* entityCapsManager); ~ChatStateNotifier(); diff --git a/Swiften/Chat/ChatStateTracker.h b/Swiften/Chat/ChatStateTracker.h index b356644..e401b0a 100644 --- a/Swiften/Chat/ChatStateTracker.h +++ b/Swiften/Chat/ChatStateTracker.h @@ -8,13 +8,14 @@ #include <Swiften/Base/boost_bsignals.h> #include <boost/shared_ptr.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Elements/Message.h> #include <Swiften/Elements/Presence.h> #include <Swiften/Elements/ChatState.h> namespace Swift { - class ChatStateTracker { + class SWIFTEN_API ChatStateTracker { public: ChatStateTracker(); void handleMessageReceived(boost::shared_ptr<Message> message); diff --git a/Swiften/Client/Client.h b/Swiften/Client/Client.h index 940a526..9652b16 100644 --- a/Swiften/Client/Client.h +++ b/Swiften/Client/Client.h @@ -6,8 +6,8 @@ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/Client/CoreClient.h> - #include <Swiften/Base/SafeString.h> namespace Swift { @@ -43,7 +43,7 @@ namespace Swift { * Besides connecting to an XMPP server, this class also provides interfaces for * performing most tasks on the XMPP network. */ - class Client : public CoreClient { + class SWIFTEN_API Client : public CoreClient { public: /** * Constructs a client for the given JID with the given password. diff --git a/Swiften/Client/ClientXMLTracer.h b/Swiften/Client/ClientXMLTracer.h index 67040c4..91cfe22 100644 --- a/Swiften/Client/ClientXMLTracer.h +++ b/Swiften/Client/ClientXMLTracer.h @@ -6,12 +6,13 @@ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/Client/CoreClient.h> #include <Swiften/Client/XMLBeautifier.h> #include <Swiften/Base/SafeByteArray.h> namespace Swift { - class ClientXMLTracer { + class SWIFTEN_API ClientXMLTracer { public: ClientXMLTracer(CoreClient* client, bool bosh = false); ~ClientXMLTracer(); diff --git a/Swiften/Client/CoreClient.h b/Swiften/Client/CoreClient.h index 4bb04e2..c9da0eb 100644 --- a/Swiften/Client/CoreClient.h +++ b/Swiften/Client/CoreClient.h @@ -8,8 +8,9 @@ #include <string> #include <boost/shared_ptr.hpp> -#include <Swiften/Base/boost_bsignals.h> +#include <Swiften/Base/API.h> +#include <Swiften/Base/boost_bsignals.h> #include <Swiften/Entity/Entity.h> #include <Swiften/JID/JID.h> #include <Swiften/Client/ClientError.h> @@ -45,7 +46,7 @@ namespace Swift { * subclass provides more functionality and interfaces, and is better suited * for most needs. */ - class CoreClient : public Entity { + class SWIFTEN_API CoreClient : public Entity { public: /** * Constructs a client for the given JID with the given password. diff --git a/Swiften/Client/NickResolver.h b/Swiften/Client/NickResolver.h index 584f2ce..306703e 100644 --- a/Swiften/Client/NickResolver.h +++ b/Swiften/Client/NickResolver.h @@ -6,9 +6,10 @@ #include <map> #include <boost/shared_ptr.hpp> +#include <string> +#include <Swiften/Base/API.h> #include <Swiften/Base/boost_bsignals.h> -#include <string> #include <Swiften/JID/JID.h> #include <Swiften/Elements/VCard.h> @@ -16,7 +17,8 @@ namespace Swift { class XMPPRoster; class MUCRegistry; class VCardManager; - class NickResolver { + + class SWIFTEN_API NickResolver { public: NickResolver(const JID& ownJID, XMPPRoster* xmppRoster, VCardManager* vcardManager, MUCRegistry* mucRegistry); diff --git a/Swiften/Client/Storages.h b/Swiften/Client/Storages.h index 1c5bbe9..89b770c 100644 --- a/Swiften/Client/Storages.h +++ b/Swiften/Client/Storages.h @@ -6,6 +6,8 @@ #pragma once +#include <Swiften/Base/API.h> + namespace Swift { class VCardStorage; class AvatarStorage; @@ -16,7 +18,7 @@ namespace Swift { * An interface to hold storage classes for different * controllers. */ - class Storages { + class SWIFTEN_API Storages { public: virtual ~Storages(); diff --git a/Swiften/Component/Component.h b/Swiften/Component/Component.h index 0b29ff7..f3ae9e8 100644 --- a/Swiften/Component/Component.h +++ b/Swiften/Component/Component.h @@ -6,6 +6,7 @@ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/Component/CoreComponent.h> namespace Swift { @@ -17,7 +18,7 @@ namespace Swift { * Besides connecting to an XMPP server, this class also provides interfaces for * performing most component tasks on the XMPP network. */ - class Component : public CoreComponent { + class SWIFTEN_API Component : public CoreComponent { public: Component(EventLoop* eventLoop, NetworkFactories* networkFactories, const JID& jid, const std::string& secret); ~Component(); diff --git a/Swiften/Component/ComponentXMLTracer.h b/Swiften/Component/ComponentXMLTracer.h index c12ec07..57b9dcf 100644 --- a/Swiften/Component/ComponentXMLTracer.h +++ b/Swiften/Component/ComponentXMLTracer.h @@ -6,10 +6,11 @@ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/Component/Component.h> namespace Swift { - class ComponentXMLTracer { + class SWIFTEN_API ComponentXMLTracer { public: ComponentXMLTracer(CoreComponent* component); diff --git a/Swiften/Component/CoreComponent.h b/Swiften/Component/CoreComponent.h index e7945d1..4f39ffd 100644 --- a/Swiften/Component/CoreComponent.h +++ b/Swiften/Component/CoreComponent.h @@ -8,6 +8,7 @@ #include <boost/shared_ptr.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Base/boost_bsignals.h> #include <Swiften/Base/Error.h> #include <Swiften/Network/PlatformDomainNameResolver.h> @@ -40,7 +41,7 @@ namespace Swift { * subclass provides more functionality and interfaces, and is better suited * for most needs. */ - class CoreComponent : public Entity { + class SWIFTEN_API CoreComponent : public Entity { public: CoreComponent(EventLoop* eventLoop, NetworkFactories* networkFactories, const JID& jid, const std::string& secret); ~CoreComponent(); diff --git a/Swiften/Disco/CapsStorage.h b/Swiften/Disco/CapsStorage.h index fb6e442..7420c28 100644 --- a/Swiften/Disco/CapsStorage.h +++ b/Swiften/Disco/CapsStorage.h @@ -9,11 +9,10 @@ #include <boost/shared_ptr.hpp> #include <Swiften/Elements/DiscoInfo.h> +#include <Swiften/Base/API.h> namespace Swift { - - - class CapsStorage { + class SWIFTEN_API CapsStorage { public: virtual ~CapsStorage(); diff --git a/Swiften/Disco/ClientDiscoManager.h b/Swiften/Disco/ClientDiscoManager.h index 6f126eb..0cae40e 100644 --- a/Swiften/Disco/ClientDiscoManager.h +++ b/Swiften/Disco/ClientDiscoManager.h @@ -6,6 +6,7 @@ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/Elements/CapsInfo.h> #include <Swiften/Elements/DiscoInfo.h> #include <Swiften/Presence/PayloadAddingPresenceSender.h> @@ -26,7 +27,7 @@ namespace Swift { * call setDiscoInfo() with the capabilities for the client. This can be * called whenever the capabilities change. */ - class ClientDiscoManager { + class SWIFTEN_API ClientDiscoManager { public: /** * Constructs the manager diff --git a/Swiften/Disco/DiscoServiceWalker.h b/Swiften/Disco/DiscoServiceWalker.h index fd749fc..1853b57 100644 --- a/Swiften/Disco/DiscoServiceWalker.h +++ b/Swiften/Disco/DiscoServiceWalker.h @@ -9,6 +9,7 @@ #include <vector> #include <set> +#include <Swiften/Base/API.h> #include <boost/shared_ptr.hpp> #include <Swiften/Base/boost_bsignals.h> #include <string> @@ -25,7 +26,7 @@ namespace Swift { * Recursively walk service discovery trees to find all services offered. * This stops on any disco item that's not reporting itself as a server. */ - class DiscoServiceWalker { + class SWIFTEN_API DiscoServiceWalker { public: DiscoServiceWalker(const JID& service, IQRouter* iqRouter, size_t maxSteps = 200); diff --git a/Swiften/Elements/DiscoInfo.h b/Swiften/Elements/DiscoInfo.h index fec60d6..8add815 100644 --- a/Swiften/Elements/DiscoInfo.h +++ b/Swiften/Elements/DiscoInfo.h @@ -9,6 +9,7 @@ #include <vector> #include <string> +#include <Swiften/Base/API.h> #include <Swiften/Elements/Payload.h> #include <Swiften/Elements/Form.h> @@ -16,7 +17,7 @@ namespace Swift { /** * disco#info from XEP-0030 */ - class DiscoInfo : public Payload { + class SWIFTEN_API DiscoInfo : public Payload { public: typedef boost::shared_ptr<DiscoInfo> ref; diff --git a/Swiften/Elements/Element.h b/Swiften/Elements/Element.h index 1e6a9d0..638418d 100644 --- a/Swiften/Elements/Element.h +++ b/Swiften/Elements/Element.h @@ -6,8 +6,10 @@ #pragma once +#include <Swiften/Base/API.h> + namespace Swift { - class Element { + class SWIFTEN_API Element { public: virtual ~Element(); }; diff --git a/Swiften/Elements/Form.h b/Swiften/Elements/Form.h index 2c6f963..bd4a2aa 100644 --- a/Swiften/Elements/Form.h +++ b/Swiften/Elements/Form.h @@ -9,6 +9,7 @@ #include <vector> #include <string> +#include <Swiften/Base/API.h> #include <Swiften/Elements/Payload.h> #include <Swiften/Elements/FormField.h> #include <Swiften/JID/JID.h> @@ -19,7 +20,7 @@ namespace Swift { * For the relevant Fields, the parsers and serialisers protect the API user against * the strange multi-value instead of newline thing by transforming them. */ - class Form : public Payload { + class SWIFTEN_API Form : public Payload { public: typedef boost::shared_ptr<Form> ref; typedef std::vector<FormField::ref> FormItem; diff --git a/Swiften/Elements/IQ.h b/Swiften/Elements/IQ.h index 99561f8..ff978b3 100644 --- a/Swiften/Elements/IQ.h +++ b/Swiften/Elements/IQ.h @@ -8,11 +8,12 @@ #include <boost/shared_ptr.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Elements/Stanza.h> #include <Swiften/Elements/ErrorPayload.h> namespace Swift { - class IQ : public Stanza { + class SWIFTEN_API IQ : public Stanza { public: typedef boost::shared_ptr<IQ> ref; diff --git a/Swiften/Elements/MUCOccupant.h b/Swiften/Elements/MUCOccupant.h index 931f544..023643c 100644 --- a/Swiften/Elements/MUCOccupant.h +++ b/Swiften/Elements/MUCOccupant.h @@ -7,14 +7,15 @@ #pragma once #include <boost/optional.hpp> - #include <string> + +#include <Swiften/Base/API.h> #include <Swiften/JID/JID.h> namespace Swift { class Client; - class MUCOccupant { + class SWIFTEN_API MUCOccupant { public: enum Role {Moderator, Participant, Visitor, NoRole}; enum Affiliation {Owner, Admin, Member, Outcast, NoAffiliation}; diff --git a/Swiften/Elements/Payload.h b/Swiften/Elements/Payload.h index f994ebc..15a72d5 100644 --- a/Swiften/Elements/Payload.h +++ b/Swiften/Elements/Payload.h @@ -8,8 +8,10 @@ #include <boost/shared_ptr.hpp> +#include <Swiften/Base/API.h> + namespace Swift { - class Payload { + class SWIFTEN_API Payload { public: typedef boost::shared_ptr<Payload> ref; public: diff --git a/Swiften/Elements/Presence.h b/Swiften/Elements/Presence.h index 28a9ee5..2e9e224 100644 --- a/Swiften/Elements/Presence.h +++ b/Swiften/Elements/Presence.h @@ -8,11 +8,12 @@ #include <boost/smart_ptr/make_shared.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Elements/Stanza.h> #include <Swiften/Elements/StatusShow.h> namespace Swift { - class Presence : public Stanza { + class SWIFTEN_API Presence : public Stanza { public: typedef boost::shared_ptr<Presence> ref; diff --git a/Swiften/Elements/SecurityLabelsCatalog.h b/Swiften/Elements/SecurityLabelsCatalog.h index 5498fcf..420cf6f 100644 --- a/Swiften/Elements/SecurityLabelsCatalog.h +++ b/Swiften/Elements/SecurityLabelsCatalog.h @@ -10,12 +10,13 @@ #include <string> #include <boost/shared_ptr.hpp> +#include <Swiften/Base/API.h> #include <Swiften/JID/JID.h> #include <Swiften/Elements/Payload.h> #include <Swiften/Elements/SecurityLabel.h> namespace Swift { - class SecurityLabelsCatalog : public Payload { + class SWIFTEN_API SecurityLabelsCatalog : public Payload { public: typedef boost::shared_ptr<SecurityLabelsCatalog> ref; class Item { diff --git a/Swiften/Elements/SoftwareVersion.h b/Swiften/Elements/SoftwareVersion.h index c49b47b..e0eeaa3 100644 --- a/Swiften/Elements/SoftwareVersion.h +++ b/Swiften/Elements/SoftwareVersion.h @@ -9,10 +9,11 @@ #include <string> #include <boost/shared_ptr.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Elements/Payload.h> namespace Swift { - class SoftwareVersion : public Payload { + class SWIFTEN_API SoftwareVersion : public Payload { public: typedef boost::shared_ptr<SoftwareVersion> ref; diff --git a/Swiften/Elements/Stanza.h b/Swiften/Elements/Stanza.h index 9e082cc..fbb0139 100644 --- a/Swiften/Elements/Stanza.h +++ b/Swiften/Elements/Stanza.h @@ -12,13 +12,14 @@ #include <boost/optional/optional_fwd.hpp> #include <boost/date_time/posix_time/ptime.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Elements/Element.h> #include <Swiften/JID/JID.h> namespace Swift { class Payload; - class Stanza : public Element { + class SWIFTEN_API Stanza : public Element { public: typedef boost::shared_ptr<Stanza> ref; diff --git a/Swiften/Entity/Entity.h b/Swiften/Entity/Entity.h index 65480d0..0dc2929 100644 --- a/Swiften/Entity/Entity.h +++ b/Swiften/Entity/Entity.h @@ -6,6 +6,8 @@ #pragma once +#include <Swiften/Base/API.h> + namespace Swift { class PayloadParserFactory; class PayloadSerializer; @@ -17,7 +19,7 @@ namespace Swift { /** * The base class for XMPP entities (Clients, Components). */ - class Entity { + class SWIFTEN_API Entity { public: Entity(); virtual ~Entity(); diff --git a/Swiften/Entity/PayloadPersister.h b/Swiften/Entity/PayloadPersister.h index ea7c74c..bc406ab 100644 --- a/Swiften/Entity/PayloadPersister.h +++ b/Swiften/Entity/PayloadPersister.h @@ -9,12 +9,14 @@ #include <boost/shared_ptr.hpp> #include <boost/filesystem/path.hpp> +#include <Swiften/Base/API.h> + namespace Swift { class Payload; class PayloadSerializer; class PayloadParser; - class PayloadPersister { + class SWIFTEN_API PayloadPersister { public: PayloadPersister(); virtual ~PayloadPersister(); diff --git a/Swiften/EventLoop/DummyEventLoop.h b/Swiften/EventLoop/DummyEventLoop.h index 4c01c16..0e5e06d 100644 --- a/Swiften/EventLoop/DummyEventLoop.h +++ b/Swiften/EventLoop/DummyEventLoop.h @@ -8,10 +8,11 @@ #include <deque> +#include <Swiften/Base/API.h> #include <Swiften/EventLoop/EventLoop.h> namespace Swift { - class DummyEventLoop : public EventLoop { + class SWIFTEN_API DummyEventLoop : public EventLoop { public: DummyEventLoop(); ~DummyEventLoop(); diff --git a/Swiften/EventLoop/EventLoop.h b/Swiften/EventLoop/EventLoop.h index 9e47112..4a602ae 100644 --- a/Swiften/EventLoop/EventLoop.h +++ b/Swiften/EventLoop/EventLoop.h @@ -11,11 +11,13 @@ #include <list> #include <deque> +#include <Swiften/Base/API.h> #include <Swiften/EventLoop/Event.h> namespace Swift { class EventOwner; - class EventLoop { + + class SWIFTEN_API EventLoop { public: EventLoop(); virtual ~EventLoop(); diff --git a/Swiften/EventLoop/EventOwner.h b/Swiften/EventLoop/EventOwner.h index 4bbd1c4..43a059b 100644 --- a/Swiften/EventLoop/EventOwner.h +++ b/Swiften/EventLoop/EventOwner.h @@ -6,8 +6,10 @@ #pragma once +#include <Swiften/Base/API.h> + namespace Swift { - class EventOwner { + class SWIFTEN_API EventOwner { public: virtual ~EventOwner(); }; diff --git a/Swiften/EventLoop/SimpleEventLoop.h b/Swiften/EventLoop/SimpleEventLoop.h index 72bd6a6..da1c039 100644 --- a/Swiften/EventLoop/SimpleEventLoop.h +++ b/Swiften/EventLoop/SimpleEventLoop.h @@ -11,10 +11,11 @@ #include <boost/thread/mutex.hpp> #include <boost/thread/condition_variable.hpp> +#include <Swiften/Base/API.h> #include <Swiften/EventLoop/EventLoop.h> namespace Swift { - class SimpleEventLoop : public EventLoop { + class SWIFTEN_API SimpleEventLoop : public EventLoop { public: SimpleEventLoop(); ~SimpleEventLoop(); diff --git a/Swiften/FileTransfer/FileReadBytestream.h b/Swiften/FileTransfer/FileReadBytestream.h index e9db2a4..4a2d738 100644 --- a/Swiften/FileTransfer/FileReadBytestream.h +++ b/Swiften/FileTransfer/FileReadBytestream.h @@ -9,10 +9,11 @@ #include <boost/filesystem/path.hpp> #include <boost/filesystem/fstream.hpp> +#include <Swiften/Base/API.h> #include <Swiften/FileTransfer/ReadBytestream.h> namespace Swift { - class FileReadBytestream : public ReadBytestream { + class SWIFTEN_API FileReadBytestream : public ReadBytestream { public: FileReadBytestream(const boost::filesystem::path& file); ~FileReadBytestream(); diff --git a/Swiften/FileTransfer/FileWriteBytestream.h b/Swiften/FileTransfer/FileWriteBytestream.h index 82c4a65..f72ac17 100644 --- a/Swiften/FileTransfer/FileWriteBytestream.h +++ b/Swiften/FileTransfer/FileWriteBytestream.h @@ -9,10 +9,11 @@ #include <boost/filesystem/path.hpp> #include <boost/filesystem/fstream.hpp> +#include <Swiften/Base/API.h> #include <Swiften/FileTransfer/WriteBytestream.h> namespace Swift { - class FileWriteBytestream : public WriteBytestream { + class SWIFTEN_API FileWriteBytestream : public WriteBytestream { public: FileWriteBytestream(const boost::filesystem::path& file); ~FileWriteBytestream(); diff --git a/Swiften/JID/JID.h b/Swiften/JID/JID.h index a4461ba..08309d3 100644 --- a/Swiften/JID/JID.h +++ b/Swiften/JID/JID.h @@ -10,6 +10,8 @@ //#include <iosfwd> #include <iostream> +#include <Swiften/Base/API.h> + namespace Swift { /** * This represents the JID used in XMPP @@ -22,7 +24,7 @@ namespace Swift { * A JID can be invalid (when isValid() returns false). No member methods are * guaranteed to work correctly if they do. */ - class JID { + class SWIFTEN_API JID { public: enum CompareType { WithResource, WithoutResource diff --git a/Swiften/LinkLocal/DNSSD/PlatformDNSSDQuerierFactory.h b/Swiften/LinkLocal/DNSSD/PlatformDNSSDQuerierFactory.h index ca5570f..2eb21ed 100644 --- a/Swiften/LinkLocal/DNSSD/PlatformDNSSDQuerierFactory.h +++ b/Swiften/LinkLocal/DNSSD/PlatformDNSSDQuerierFactory.h @@ -8,11 +8,13 @@ #include <boost/shared_ptr.hpp> +#include <Swiften/Base/API.h> + namespace Swift { class DNSSDQuerier; class EventLoop; - class PlatformDNSSDQuerierFactory { + class SWIFTEN_API PlatformDNSSDQuerierFactory { public: PlatformDNSSDQuerierFactory(EventLoop* eventLoop); diff --git a/Swiften/MUC/MUC.h b/Swiften/MUC/MUC.h index 60ed697..85f4564 100644 --- a/Swiften/MUC/MUC.h +++ b/Swiften/MUC/MUC.h @@ -7,6 +7,7 @@ #pragma once #include <Swiften/JID/JID.h> +#include <Swiften/Base/API.h> #include <string> #include <Swiften/Elements/Message.h> #include <Swiften/Elements/Presence.h> @@ -27,7 +28,7 @@ namespace Swift { class IQRouter; class DirectedPresenceSender; - class MUC { + class SWIFTEN_API MUC { public: typedef boost::shared_ptr<MUC> ref; diff --git a/Swiften/MUC/MUCBookmarkManager.h b/Swiften/MUC/MUCBookmarkManager.h index ccea46c..667caa4 100644 --- a/Swiften/MUC/MUCBookmarkManager.h +++ b/Swiften/MUC/MUCBookmarkManager.h @@ -12,6 +12,7 @@ #include <Swiften/Base/boost_bsignals.h> #include <boost/optional.hpp> +#include <Swiften/Base/API.h> #include <Swiften/MUC/MUCBookmark.h> #include <Swiften/Elements/Storage.h> #include <Swiften/Elements/ErrorPayload.h> @@ -19,7 +20,7 @@ namespace Swift { class IQRouter; - class MUCBookmarkManager { + class SWIFTEN_API MUCBookmarkManager { public: MUCBookmarkManager(IQRouter* iqRouter); diff --git a/Swiften/MUC/MUCManager.h b/Swiften/MUC/MUCManager.h index 36ae61e..cf9000b 100644 --- a/Swiften/MUC/MUCManager.h +++ b/Swiften/MUC/MUCManager.h @@ -6,6 +6,7 @@ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/MUC/MUC.h> namespace Swift { @@ -14,7 +15,7 @@ namespace Swift { class DirectedPresenceSender; class MUCRegistry; - class MUCManager { + class SWIFTEN_API MUCManager { public: MUCManager(StanzaChannel* stanzaChannel, IQRouter* iqRouter, DirectedPresenceSender* presenceSender, MUCRegistry* mucRegistry); diff --git a/Swiften/MUC/MUCRegistry.h b/Swiften/MUC/MUCRegistry.h index 0ed2d2e..6ad1b89 100644 --- a/Swiften/MUC/MUCRegistry.h +++ b/Swiften/MUC/MUCRegistry.h @@ -8,12 +8,13 @@ #include <vector> +#include <Swiften/Base/API.h> #include <Swiften/JID/JID.h> namespace Swift { class JID; - class MUCRegistry { + class SWIFTEN_API MUCRegistry { public: ~MUCRegistry(); diff --git a/Swiften/Network/BoostConnection.h b/Swiften/Network/BoostConnection.h index 0e29c54..636853a 100644 --- a/Swiften/Network/BoostConnection.h +++ b/Swiften/Network/BoostConnection.h @@ -11,6 +11,7 @@ #include <boost/enable_shared_from_this.hpp> #include <boost/thread/mutex.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Network/Connection.h> #include <Swiften/EventLoop/EventOwner.h> #include <Swiften/Base/SafeByteArray.h> @@ -25,7 +26,7 @@ namespace boost { namespace Swift { class EventLoop; - class BoostConnection : public Connection, public EventOwner, public boost::enable_shared_from_this<BoostConnection> { + class SWIFTEN_API BoostConnection : public Connection, public EventOwner, public boost::enable_shared_from_this<BoostConnection> { public: typedef boost::shared_ptr<BoostConnection> ref; diff --git a/Swiften/Network/BoostConnectionServer.h b/Swiften/Network/BoostConnectionServer.h index 56dc8bd..66af2a4 100644 --- a/Swiften/Network/BoostConnectionServer.h +++ b/Swiften/Network/BoostConnectionServer.h @@ -10,14 +10,15 @@ #include <boost/asio/io_service.hpp> #include <boost/asio/ip/tcp.hpp> #include <boost/enable_shared_from_this.hpp> -#include <Swiften/Base/boost_bsignals.h> +#include <Swiften/Base/API.h> +#include <Swiften/Base/boost_bsignals.h> #include <Swiften/Network/BoostConnection.h> #include <Swiften/Network/ConnectionServer.h> #include <Swiften/EventLoop/EventOwner.h> namespace Swift { - class BoostConnectionServer : public ConnectionServer, public EventOwner, public boost::enable_shared_from_this<BoostConnectionServer> { + class SWIFTEN_API BoostConnectionServer : public ConnectionServer, public EventOwner, public boost::enable_shared_from_this<BoostConnectionServer> { public: typedef boost::shared_ptr<BoostConnectionServer> ref; diff --git a/Swiften/Network/BoostIOServiceThread.h b/Swiften/Network/BoostIOServiceThread.h index 00fb397..d1a5f37 100644 --- a/Swiften/Network/BoostIOServiceThread.h +++ b/Swiften/Network/BoostIOServiceThread.h @@ -10,8 +10,10 @@ #include <boost/thread/thread.hpp> #include <boost/shared_ptr.hpp> +#include <Swiften/Base/API.h> + namespace Swift { - class BoostIOServiceThread { + class SWIFTEN_API BoostIOServiceThread { public: BoostIOServiceThread(); ~BoostIOServiceThread(); diff --git a/Swiften/Network/BoostNetworkFactories.h b/Swiften/Network/BoostNetworkFactories.h index c9b12da..1968acd 100644 --- a/Swiften/Network/BoostNetworkFactories.h +++ b/Swiften/Network/BoostNetworkFactories.h @@ -6,6 +6,7 @@ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/Network/NetworkFactories.h> #include <Swiften/Network/BoostIOServiceThread.h> @@ -14,7 +15,7 @@ namespace Swift { class NATTraverser; class PlatformTLSFactories; - class BoostNetworkFactories : public NetworkFactories { + class SWIFTEN_API BoostNetworkFactories : public NetworkFactories { public: BoostNetworkFactories(EventLoop* eventLoop); ~BoostNetworkFactories(); diff --git a/Swiften/Network/ConnectionServer.h b/Swiften/Network/ConnectionServer.h index 00703a4..e644d90 100644 --- a/Swiften/Network/ConnectionServer.h +++ b/Swiften/Network/ConnectionServer.h @@ -7,13 +7,14 @@ #pragma once #include <boost/shared_ptr.hpp> -#include <Swiften/Base/boost_bsignals.h> +#include <Swiften/Base/API.h> +#include <Swiften/Base/boost_bsignals.h> #include <Swiften/Network/Connection.h> #include <Swiften/Network/HostAddressPort.h> namespace Swift { - class ConnectionServer { + class SWIFTEN_API ConnectionServer { public: virtual ~ConnectionServer(); diff --git a/Swiften/Network/DomainNameResolver.h b/Swiften/Network/DomainNameResolver.h index b0ebc35..491586a 100644 --- a/Swiften/Network/DomainNameResolver.h +++ b/Swiften/Network/DomainNameResolver.h @@ -7,15 +7,16 @@ #pragma once #include <boost/shared_ptr.hpp> - #include <string> +#include <Swiften/Base/API.h> + namespace Swift { class DomainNameServiceQuery; class DomainNameAddressQuery; - class DomainNameResolver { + class SWIFTEN_API DomainNameResolver { public: virtual ~DomainNameResolver(); diff --git a/Swiften/Network/HostAddress.h b/Swiften/Network/HostAddress.h index 0b3bdda..621aa5d 100644 --- a/Swiften/Network/HostAddress.h +++ b/Swiften/Network/HostAddress.h @@ -8,8 +8,10 @@ #include <string> #include <boost/asio/ip/address.hpp> +#include <Swiften/Base/API.h> + namespace Swift { - class HostAddress { + class SWIFTEN_API HostAddress { public: HostAddress(); HostAddress(const std::string&); diff --git a/Swiften/Network/HostAddressPort.h b/Swiften/Network/HostAddressPort.h index e3c0413..68f3a1c 100644 --- a/Swiften/Network/HostAddressPort.h +++ b/Swiften/Network/HostAddressPort.h @@ -8,10 +8,11 @@ #include <boost/asio/ip/tcp.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Network/HostAddress.h> namespace Swift { - class HostAddressPort { + class SWIFTEN_API HostAddressPort { public: HostAddressPort(const HostAddress& address = HostAddress(), int port = -1); HostAddressPort(const boost::asio::ip::tcp::endpoint& endpoint); diff --git a/Swiften/Network/PlatformDomainNameResolver.h b/Swiften/Network/PlatformDomainNameResolver.h index 295ecc5..0617d9e 100644 --- a/Swiften/Network/PlatformDomainNameResolver.h +++ b/Swiften/Network/PlatformDomainNameResolver.h @@ -11,6 +11,7 @@ #include <boost/thread/mutex.hpp> #include <boost/thread/condition_variable.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Network/DomainNameResolver.h> #include <Swiften/Network/PlatformDomainNameQuery.h> #include <Swiften/Network/DomainNameServiceQuery.h> @@ -20,7 +21,7 @@ namespace Swift { class EventLoop; - class PlatformDomainNameResolver : public DomainNameResolver { + class SWIFTEN_API PlatformDomainNameResolver : public DomainNameResolver { public: PlatformDomainNameResolver(EventLoop* eventLoop); ~PlatformDomainNameResolver(); diff --git a/Swiften/Parser/AttributeMap.h b/Swiften/Parser/AttributeMap.h index 31df606..77b9c23 100644 --- a/Swiften/Parser/AttributeMap.h +++ b/Swiften/Parser/AttributeMap.h @@ -11,10 +11,11 @@ #include <map> #include <boost/optional/optional_fwd.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Parser/Attribute.h> namespace Swift { - class AttributeMap { + class SWIFTEN_API AttributeMap { public: class Entry { public: diff --git a/Swiften/Parser/PayloadParser.h b/Swiften/Parser/PayloadParser.h index 8a9a290..bb1ae3c 100644 --- a/Swiften/Parser/PayloadParser.h +++ b/Swiften/Parser/PayloadParser.h @@ -7,8 +7,10 @@ #pragma once #include <boost/shared_ptr.hpp> -#include <Swiften/Parser/AttributeMap.h> + +#include <Swiften/Base/API.h> +#include <Swiften/Parser/AttributeMap.h> #include <Swiften/Elements/Payload.h> namespace Swift { @@ -22,7 +24,7 @@ namespace Swift { * After the data for the given top-level element is processed, getPayload() will be called to retrieve the * payload. */ - class PayloadParser { + class SWIFTEN_API PayloadParser { public: virtual ~PayloadParser(); diff --git a/Swiften/Parser/PayloadParserFactory.h b/Swiften/Parser/PayloadParserFactory.h index 5619d21..e265e5b 100644 --- a/Swiften/Parser/PayloadParserFactory.h +++ b/Swiften/Parser/PayloadParserFactory.h @@ -6,6 +6,7 @@ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/Parser/AttributeMap.h> namespace Swift { @@ -15,7 +16,7 @@ namespace Swift { /** * A factory for PayloadParsers. */ - class PayloadParserFactory { + class SWIFTEN_API PayloadParserFactory { public: virtual ~PayloadParserFactory(); diff --git a/Swiften/Parser/PayloadParserFactoryCollection.h b/Swiften/Parser/PayloadParserFactoryCollection.h index 6407641..1dbdd32 100644 --- a/Swiften/Parser/PayloadParserFactoryCollection.h +++ b/Swiften/Parser/PayloadParserFactoryCollection.h @@ -9,11 +9,12 @@ #include <vector> #include <Swiften/Parser/AttributeMap.h> +#include <Swiften/Base/API.h> namespace Swift { class PayloadParserFactory; - class PayloadParserFactoryCollection { + class SWIFTEN_API PayloadParserFactoryCollection { public: PayloadParserFactoryCollection(); diff --git a/Swiften/Parser/PayloadParsers/DiscoInfoParser.h b/Swiften/Parser/PayloadParsers/DiscoInfoParser.h index df1441c..1f93a88 100644 --- a/Swiften/Parser/PayloadParsers/DiscoInfoParser.h +++ b/Swiften/Parser/PayloadParsers/DiscoInfoParser.h @@ -6,11 +6,12 @@ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/Elements/DiscoInfo.h> #include <Swiften/Parser/GenericPayloadParser.h> namespace Swift { - class DiscoInfoParser : public GenericPayloadParser<DiscoInfo> { + class SWIFTEN_API DiscoInfoParser : public GenericPayloadParser<DiscoInfo> { public: DiscoInfoParser(); diff --git a/Swiften/Parser/PayloadParsers/FullPayloadParserFactoryCollection.h b/Swiften/Parser/PayloadParsers/FullPayloadParserFactoryCollection.h index 46b692b..91302b1 100644 --- a/Swiften/Parser/PayloadParsers/FullPayloadParserFactoryCollection.h +++ b/Swiften/Parser/PayloadParsers/FullPayloadParserFactoryCollection.h @@ -9,11 +9,12 @@ #include <boost/shared_ptr.hpp> #include <vector> +#include <Swiften/Base/API.h> #include <Swiften/Parser/PayloadParserFactoryCollection.h> #include <Swiften/Parser/PayloadParserFactory.h> namespace Swift { - class FullPayloadParserFactoryCollection : public PayloadParserFactoryCollection { + class SWIFTEN_API FullPayloadParserFactoryCollection : public PayloadParserFactoryCollection { public: FullPayloadParserFactoryCollection(); ~FullPayloadParserFactoryCollection(); diff --git a/Swiften/Parser/PayloadParsers/RosterParser.h b/Swiften/Parser/PayloadParsers/RosterParser.h index c29064f..3b62f0b 100644 --- a/Swiften/Parser/PayloadParsers/RosterParser.h +++ b/Swiften/Parser/PayloadParsers/RosterParser.h @@ -6,13 +6,14 @@ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/Elements/RosterPayload.h> #include <Swiften/Parser/GenericPayloadParser.h> namespace Swift { class SerializingParser; - class RosterParser : public GenericPayloadParser<RosterPayload> { + class SWIFTEN_API RosterParser : public GenericPayloadParser<RosterPayload> { public: RosterParser(); diff --git a/Swiften/Parser/PayloadParsers/VCardParser.h b/Swiften/Parser/PayloadParsers/VCardParser.h index 1475277..b1c47a3 100644 --- a/Swiften/Parser/PayloadParsers/VCardParser.h +++ b/Swiften/Parser/PayloadParsers/VCardParser.h @@ -9,10 +9,12 @@ #include <Swiften/Elements/VCard.h> #include <Swiften/Parser/GenericPayloadParser.h> +#include <Swiften/Base/API.h> + namespace Swift { class SerializingParser; - class VCardParser : public GenericPayloadParser<VCard> { + class SWIFTEN_API VCardParser : public GenericPayloadParser<VCard> { public: VCardParser(); diff --git a/Swiften/Parser/PlatformXMLParserFactory.h b/Swiften/Parser/PlatformXMLParserFactory.h index 16756ee..70355d0 100644 --- a/Swiften/Parser/PlatformXMLParserFactory.h +++ b/Swiften/Parser/PlatformXMLParserFactory.h @@ -7,9 +7,10 @@ #pragma once #include <Swiften/Parser/XMLParserFactory.h> +#include <Swiften/Base/API.h> namespace Swift { - class PlatformXMLParserFactory : public XMLParserFactory { + class SWIFTEN_API PlatformXMLParserFactory : public XMLParserFactory { public: PlatformXMLParserFactory(); diff --git a/Swiften/Parser/XMLParser.h b/Swiften/Parser/XMLParser.h index 1b866e3..6ecc626 100644 --- a/Swiften/Parser/XMLParser.h +++ b/Swiften/Parser/XMLParser.h @@ -8,11 +8,12 @@ #include <string> +#include <Swiften/Base/API.h> + namespace Swift { - class XMLParserClient; - class XMLParser { + class SWIFTEN_API XMLParser { public: XMLParser(XMLParserClient* client); virtual ~XMLParser(); diff --git a/Swiften/Parser/XMLParserClient.h b/Swiften/Parser/XMLParserClient.h index ff706a0..956eacf 100644 --- a/Swiften/Parser/XMLParserClient.h +++ b/Swiften/Parser/XMLParserClient.h @@ -4,15 +4,13 @@ * See Documentation/Licenses/GPLv3.txt for more information. */ -#ifndef XMLPARSERCLIENT_H -#define XMLPARSERCLIENT_H +#pragma once +#include <Swiften/Base/API.h> #include <Swiften/Parser/AttributeMap.h> namespace Swift { - - - class XMLParserClient { + class SWIFTEN_API XMLParserClient { public: virtual ~XMLParserClient(); @@ -21,5 +19,3 @@ namespace Swift { virtual void handleCharacterData(const std::string& data) = 0; }; } - -#endif diff --git a/Swiften/Parser/XMLParserFactory.h b/Swiften/Parser/XMLParserFactory.h index 32665cb..6979ea4 100644 --- a/Swiften/Parser/XMLParserFactory.h +++ b/Swiften/Parser/XMLParserFactory.h @@ -6,11 +6,13 @@ #pragma once +#include <Swiften/Base/API.h> + namespace Swift { class XMLParser; class XMLParserClient; - class XMLParserFactory { + class SWIFTEN_API XMLParserFactory { public: virtual ~XMLParserFactory(); diff --git a/Swiften/Parser/XMPPParser.h b/Swiften/Parser/XMPPParser.h index 6cce2bd..757ee22 100644 --- a/Swiften/Parser/XMPPParser.h +++ b/Swiften/Parser/XMPPParser.h @@ -9,6 +9,7 @@ #include <boost/shared_ptr.hpp> #include <boost/noncopyable.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Parser/XMLParserClient.h> #include <Swiften/Parser/AttributeMap.h> @@ -19,7 +20,7 @@ namespace Swift { class ElementParser; class PayloadParserFactoryCollection; - class XMPPParser : public XMLParserClient, boost::noncopyable { + class SWIFTEN_API XMPPParser : public XMLParserClient, boost::noncopyable { public: XMPPParser( XMPPParserClient* parserClient, diff --git a/Swiften/Parser/XMPPParserClient.h b/Swiften/Parser/XMPPParserClient.h index e613f8e..85e0f86 100644 --- a/Swiften/Parser/XMPPParserClient.h +++ b/Swiften/Parser/XMPPParserClient.h @@ -8,13 +8,14 @@ #include <boost/shared_ptr.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Elements/Element.h> namespace Swift { class ProtocolHeader; - class XMPPParserClient { + class SWIFTEN_API XMPPParserClient { public: virtual ~XMPPParserClient(); diff --git a/Swiften/Presence/PresenceOracle.h b/Swiften/Presence/PresenceOracle.h index 09126ea..fcf974f 100644 --- a/Swiften/Presence/PresenceOracle.h +++ b/Swiften/Presence/PresenceOracle.h @@ -11,11 +11,13 @@ #include <string> #include <Swiften/Elements/Presence.h> +#include <Swiften/Base/API.h> #include <Swiften/Base/boost_bsignals.h> namespace Swift { -class StanzaChannel; - class PresenceOracle { + class StanzaChannel; + + class SWIFTEN_API PresenceOracle { public: PresenceOracle(StanzaChannel* stanzaChannel); ~PresenceOracle(); diff --git a/Swiften/Presence/SubscriptionManager.h b/Swiften/Presence/SubscriptionManager.h index efa3e1c..5fabb04 100644 --- a/Swiften/Presence/SubscriptionManager.h +++ b/Swiften/Presence/SubscriptionManager.h @@ -12,11 +12,12 @@ #include <Swiften/JID/JID.h> #include <Swiften/Base/boost_bsignals.h> #include <Swiften/Elements/Presence.h> +#include <Swiften/Base/API.h> namespace Swift { class StanzaChannel; - class SubscriptionManager { + class SWIFTEN_API SubscriptionManager { public: SubscriptionManager(StanzaChannel* stanzaChannel); ~SubscriptionManager(); diff --git a/Swiften/Queries/GenericRequest.h b/Swiften/Queries/GenericRequest.h index b9cc6fc..68c86c5 100644 --- a/Swiften/Queries/GenericRequest.h +++ b/Swiften/Queries/GenericRequest.h @@ -7,7 +7,6 @@ #pragma once #include <Swiften/Base/boost_bsignals.h> - #include <Swiften/Queries/Request.h> namespace Swift { diff --git a/Swiften/Queries/GetResponder.h b/Swiften/Queries/GetResponder.h index bca507a..213a52f 100644 --- a/Swiften/Queries/GetResponder.h +++ b/Swiften/Queries/GetResponder.h @@ -6,11 +6,12 @@ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/Queries/Responder.h> namespace Swift { template<typename T> - class GetResponder : public Responder<T> { + class SWIFTEN_API GetResponder : public Responder<T> { public: GetResponder(IQRouter* router) : Responder<T>(router) {} diff --git a/Swiften/Queries/IQHandler.h b/Swiften/Queries/IQHandler.h index c9af5ea..19e16a7 100644 --- a/Swiften/Queries/IQHandler.h +++ b/Swiften/Queries/IQHandler.h @@ -8,12 +8,13 @@ #include <boost/shared_ptr.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Elements/IQ.h> namespace Swift { class IQRouter; - class IQHandler { + class SWIFTEN_API IQHandler { public: virtual ~IQHandler(); diff --git a/Swiften/Queries/IQRouter.h b/Swiften/Queries/IQRouter.h index de2822b..0655035 100644 --- a/Swiften/Queries/IQRouter.h +++ b/Swiften/Queries/IQRouter.h @@ -8,15 +8,16 @@ #include <boost/shared_ptr.hpp> #include <vector> - #include <string> + +#include <Swiften/Base/API.h> #include <Swiften/Elements/IQ.h> namespace Swift { class IQChannel; class IQHandler; - class IQRouter { + class SWIFTEN_API IQRouter { public: IQRouter(IQChannel* channel); ~IQRouter(); diff --git a/Swiften/Queries/Request.h b/Swiften/Queries/Request.h index 668ed04..5e3a4b8 100644 --- a/Swiften/Queries/Request.h +++ b/Swiften/Queries/Request.h @@ -9,8 +9,9 @@ #include <boost/shared_ptr.hpp> #include <boost/optional.hpp> #include <boost/enable_shared_from_this.hpp> - #include <string> + +#include <Swiften/Base/API.h> #include <Swiften/Queries/IQHandler.h> #include <Swiften/Elements/IQ.h> #include <Swiften/Elements/Payload.h> @@ -21,7 +22,7 @@ namespace Swift { /** * An IQ get/set request query. */ - class Request : public IQHandler, public boost::enable_shared_from_this<Request> { + class SWIFTEN_API Request : public IQHandler, public boost::enable_shared_from_this<Request> { public: void send(); diff --git a/Swiften/Queries/Responders/SoftwareVersionResponder.h b/Swiften/Queries/Responders/SoftwareVersionResponder.h index a2929df..4957c0f 100644 --- a/Swiften/Queries/Responders/SoftwareVersionResponder.h +++ b/Swiften/Queries/Responders/SoftwareVersionResponder.h @@ -6,13 +6,14 @@ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/Queries/GetResponder.h> #include <Swiften/Elements/SoftwareVersion.h> namespace Swift { class IQRouter; - class SoftwareVersionResponder : public GetResponder<SoftwareVersion> { + class SWIFTEN_API SoftwareVersionResponder : public GetResponder<SoftwareVersion> { public: SoftwareVersionResponder(IQRouter* router); diff --git a/Swiften/Roster/RosterStorage.h b/Swiften/Roster/RosterStorage.h index ba24cb3..7f0f20b 100644 --- a/Swiften/Roster/RosterStorage.h +++ b/Swiften/Roster/RosterStorage.h @@ -8,10 +8,11 @@ #include <boost/shared_ptr.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Elements/RosterPayload.h> namespace Swift { - class RosterStorage { + class SWIFTEN_API RosterStorage { public: virtual ~RosterStorage(); diff --git a/Swiften/SASL/PLAINMessage.h b/Swiften/SASL/PLAINMessage.h index 46ee8f7..3811b31 100644 --- a/Swiften/SASL/PLAINMessage.h +++ b/Swiften/SASL/PLAINMessage.h @@ -9,10 +9,12 @@ #pragma once #include <string> + +#include <Swiften/Base/API.h> #include <Swiften/Base/SafeByteArray.h> namespace Swift { - class PLAINMessage { + class SWIFTEN_API PLAINMessage { public: PLAINMessage(const std::string& authcid, const SafeByteArray& password, const std::string& authzid = ""); PLAINMessage(const SafeByteArray& value); diff --git a/Swiften/SConscript b/Swiften/SConscript index de67983..105a7f4 100644 --- a/Swiften/SConscript +++ b/Swiften/SConscript @@ -9,6 +9,7 @@ Import("env") swiften_dep_modules = ["BOOST", "GCONF", "ICU", "LIBIDN", "ZLIB", "OPENSSL", "LIBXML", "EXPAT", "AVAHI", "LIBMINIUPNPC", "LIBNATPMP"] if env["SCONS_STAGE"] == "flags" : + env["SWIFTEN_DLL"] = ARGUMENTS.get("swiften_dll") env["SWIFTEN_VERSION"] = Version.getBuildVersion(env.Dir("#").abspath, "swift") version_match = re.match("(\d+)\.(\d+).*", env["SWIFTEN_VERSION"]) if version_match : @@ -22,9 +23,9 @@ if env["SCONS_STAGE"] == "flags" : env["SWIFTEN_LIBRARY_FILE"] = "Swiften" env["SWIFTEN_LIBRARY_ALIASES"] = [] - if ARGUMENTS.get("swiften_dll", False) : + if env["SWIFTEN_DLL"] : if env["PLATFORM"] == "win32" : - pass + env["SWIFTEN_LIBRARY_FILE"] = "Swiften.dll" elif env["PLATFORM"] == "darwin" : env["SWIFTEN_LIBRARY_FILE"] = env.subst("Swiften.${SWIFTEN_VERSION_MAJOR}.${SWIFTEN_VERSION_MINOR}") env["SWIFTEN_LIBRARY_ALIASES"] = ["libSwiften.dylib", env.subst("libSwiften.${SWIFTEN_VERSION_MAJOR}.dylib")] @@ -35,6 +36,8 @@ if env["SCONS_STAGE"] == "flags" : swiften_env = env.Clone() swiften_env["LIBPATH"] = [Dir(".")] swiften_env["LIBS"] = [swiften_env["SWIFTEN_LIBRARY"]] + if not env["SWIFTEN_DLL"] : + swiften_env["CPPDEFINES"] = ["SWIFTEN_STATIC"] dep_env = env.Clone() for module in swiften_dep_modules : if env.get(module + "_BUNDLED", False) : @@ -63,11 +66,12 @@ if env["SCONS_STAGE"] == "flags" : if env["SCONS_STAGE"] == "build" : swiften_env = env.Clone() + swiften_env.Append(CPPDEFINES = ["SWIFTEN_BUILDING"]) for module in swiften_dep_modules : swiften_env.UseFlags(swiften_env.get(module + "_FLAGS", {})) swiften_env.UseFlags(swiften_env["PLATFORM_FLAGS"]) - if ARGUMENTS.get("swiften_dll", False) : + if swiften_env["SWIFTEN_DLL"] : swiften_env.AddMethod(lambda e,s : e.SharedObject(s), "SwiftenObject") swiften_env.AddMethod(lambda e,l,o : e.SharedLibrary(l,o), "SwiftenLibrary") else : @@ -233,7 +237,6 @@ if env["SCONS_STAGE"] == "build" : "QA", ]) - myenv = swiften_env.Clone() if myenv["PLATFORM"] == "win32": sources.append("StringCodecs/SHA1_Windows.cpp") @@ -242,7 +245,7 @@ if env["SCONS_STAGE"] == "build" : if myenv["PLATFORM"] != "darwin" and myenv["PLATFORM"] != "win32" and myenv.get("HAVE_GCONF", 0) : env.MergeFlags(env["GCONF_FLAGS"]) - if ARGUMENTS.get("swiften_dll", False) : + if myenv["SWIFTEN_DLL"] : if myenv["PLATFORM"] == "posix" : myenv.Append(LINKFLAGS = ["-Wl,-soname,libSwiften.so.$SWIFTEN_VERSION_MAJOR"]) myenv["SHLIBSUFFIX"] = "" diff --git a/Swiften/Serializer/PayloadSerializer.h b/Swiften/Serializer/PayloadSerializer.h index c4ad23b..46132fc 100644 --- a/Swiften/Serializer/PayloadSerializer.h +++ b/Swiften/Serializer/PayloadSerializer.h @@ -9,10 +9,12 @@ #include <string> #include <boost/shared_ptr.hpp> +#include <Swiften/Base/API.h> + namespace Swift { class Payload; - class PayloadSerializer { + class SWIFTEN_API PayloadSerializer { public: virtual ~PayloadSerializer(); diff --git a/Swiften/Serializer/PayloadSerializerCollection.h b/Swiften/Serializer/PayloadSerializerCollection.h index f922a45..78f8808 100644 --- a/Swiften/Serializer/PayloadSerializerCollection.h +++ b/Swiften/Serializer/PayloadSerializerCollection.h @@ -9,13 +9,14 @@ #include <vector> #include <boost/shared_ptr.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Elements/Payload.h> namespace Swift { class PayloadSerializer; - class PayloadSerializerCollection { + class SWIFTEN_API PayloadSerializerCollection { public: PayloadSerializerCollection(); diff --git a/Swiften/Serializer/PayloadSerializers/DiscoInfoSerializer.h b/Swiften/Serializer/PayloadSerializers/DiscoInfoSerializer.h index 3e028e1..233d752 100644 --- a/Swiften/Serializer/PayloadSerializers/DiscoInfoSerializer.h +++ b/Swiften/Serializer/PayloadSerializers/DiscoInfoSerializer.h @@ -6,11 +6,12 @@ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/Serializer/GenericPayloadSerializer.h> #include <Swiften/Elements/DiscoInfo.h> namespace Swift { - class DiscoInfoSerializer : public GenericPayloadSerializer<DiscoInfo> { + class SWIFTEN_API DiscoInfoSerializer : public GenericPayloadSerializer<DiscoInfo> { public: DiscoInfoSerializer(); diff --git a/Swiften/Serializer/PayloadSerializers/ErrorSerializer.h b/Swiften/Serializer/PayloadSerializers/ErrorSerializer.h index 41e35a9..f41d585 100644 --- a/Swiften/Serializer/PayloadSerializers/ErrorSerializer.h +++ b/Swiften/Serializer/PayloadSerializers/ErrorSerializer.h @@ -6,13 +6,14 @@ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/Serializer/GenericPayloadSerializer.h> #include <Swiften/Elements/ErrorPayload.h> namespace Swift { class PayloadSerializerCollection; - class ErrorSerializer : public GenericPayloadSerializer<ErrorPayload> { + class SWIFTEN_API ErrorSerializer : public GenericPayloadSerializer<ErrorPayload> { public: ErrorSerializer(PayloadSerializerCollection* serializers); diff --git a/Swiften/Serializer/PayloadSerializers/FullPayloadSerializerCollection.h b/Swiften/Serializer/PayloadSerializers/FullPayloadSerializerCollection.h index bfe7d76..eaae742 100644 --- a/Swiften/Serializer/PayloadSerializers/FullPayloadSerializerCollection.h +++ b/Swiften/Serializer/PayloadSerializers/FullPayloadSerializerCollection.h @@ -8,10 +8,11 @@ #include <vector> +#include <Swiften/Base/API.h> #include <Swiften/Serializer/PayloadSerializerCollection.h> namespace Swift { - class FullPayloadSerializerCollection : public PayloadSerializerCollection { + class SWIFTEN_API FullPayloadSerializerCollection : public PayloadSerializerCollection { public: FullPayloadSerializerCollection(); ~FullPayloadSerializerCollection(); diff --git a/Swiften/Serializer/PayloadSerializers/RosterSerializer.h b/Swiften/Serializer/PayloadSerializers/RosterSerializer.h index 52fdb2a..9e7ea1b 100644 --- a/Swiften/Serializer/PayloadSerializers/RosterSerializer.h +++ b/Swiften/Serializer/PayloadSerializers/RosterSerializer.h @@ -6,11 +6,12 @@ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/Serializer/GenericPayloadSerializer.h> #include <Swiften/Elements/RosterPayload.h> namespace Swift { - class RosterSerializer : public GenericPayloadSerializer<RosterPayload> { + class SWIFTEN_API RosterSerializer : public GenericPayloadSerializer<RosterPayload> { public: RosterSerializer(); diff --git a/Swiften/Serializer/PayloadSerializers/VCardSerializer.h b/Swiften/Serializer/PayloadSerializers/VCardSerializer.h index c73ff18..04c1843 100644 --- a/Swiften/Serializer/PayloadSerializers/VCardSerializer.h +++ b/Swiften/Serializer/PayloadSerializers/VCardSerializer.h @@ -9,8 +9,10 @@ #include <Swiften/Serializer/GenericPayloadSerializer.h> #include <Swiften/Elements/VCard.h> +#include <Swiften/Base/API.h> + namespace Swift { - class VCardSerializer : public GenericPayloadSerializer<VCard> { + class SWIFTEN_API VCardSerializer : public GenericPayloadSerializer<VCard> { public: VCardSerializer(); diff --git a/Swiften/Serializer/XML/XMLElement.h b/Swiften/Serializer/XML/XMLElement.h index 6eacb82..305932a 100644 --- a/Swiften/Serializer/XML/XMLElement.h +++ b/Swiften/Serializer/XML/XMLElement.h @@ -12,10 +12,11 @@ #include <string> +#include <Swiften/Base/API.h> #include <Swiften/Serializer/XML/XMLNode.h> namespace Swift { - class XMLElement : public XMLNode { + class SWIFTEN_API XMLElement : public XMLNode { public: typedef boost::shared_ptr<XMLElement> ref; diff --git a/Swiften/Serializer/XML/XMLNode.h b/Swiften/Serializer/XML/XMLNode.h index d222faf..9d9e1a0 100644 --- a/Swiften/Serializer/XML/XMLNode.h +++ b/Swiften/Serializer/XML/XMLNode.h @@ -8,8 +8,10 @@ #include <string> +#include <Swiften/Base/API.h> + namespace Swift { - class XMLNode { + class SWIFTEN_API XMLNode { public: virtual ~XMLNode(); diff --git a/Swiften/Session/Session.h b/Swiften/Session/Session.h index c937430..4becebf 100644 --- a/Swiften/Session/Session.h +++ b/Swiften/Session/Session.h @@ -11,6 +11,7 @@ #include <boost/optional.hpp> #include <boost/enable_shared_from_this.hpp> +#include <Swiften/Base/API.h> #include <Swiften/JID/JID.h> #include <Swiften/Elements/Element.h> #include <Swiften/Network/Connection.h> @@ -27,7 +28,7 @@ namespace Swift { class XMPPLayer; class XMLParserFactory; - class Session : public boost::enable_shared_from_this<Session> { + class SWIFTEN_API Session : public boost::enable_shared_from_this<Session> { public: enum SessionError { ConnectionReadError, diff --git a/Swiften/StreamStack/XMPPLayer.h b/Swiften/StreamStack/XMPPLayer.h index 81f0457..f0e88aa 100644 --- a/Swiften/StreamStack/XMPPLayer.h +++ b/Swiften/StreamStack/XMPPLayer.h @@ -10,6 +10,7 @@ #include <Swiften/Base/boost_bsignals.h> #include <boost/noncopyable.hpp> +#include <Swiften/Base/API.h> #include <Swiften/StreamStack/HighLayer.h> #include <Swiften/Base/SafeByteArray.h> #include <Swiften/Elements/Element.h> @@ -25,7 +26,7 @@ namespace Swift { class XMLParserFactory; class BOSHSessionStream; - class XMPPLayer : public XMPPParserClient, public HighLayer, boost::noncopyable { + class SWIFTEN_API XMPPLayer : public XMPPParserClient, public HighLayer, boost::noncopyable { friend class BOSHSessionStream; public: XMPPLayer( diff --git a/Swiften/StringCodecs/Base64.h b/Swiften/StringCodecs/Base64.h index 2d67971..7d5ab51 100644 --- a/Swiften/StringCodecs/Base64.h +++ b/Swiften/StringCodecs/Base64.h @@ -7,13 +7,14 @@ #pragma once #include <vector> - #include <string> + +#include <Swiften/Base/API.h> #include <Swiften/Base/ByteArray.h> #include <Swiften/Base/SafeByteArray.h> namespace Swift { - class Base64 { + class SWIFTEN_API Base64 { public: static std::string encode(const ByteArray& s); static SafeByteArray encode(const SafeByteArray& s); diff --git a/Swiften/StringCodecs/Hexify.h b/Swiften/StringCodecs/Hexify.h index c016448..3b9a751 100644 --- a/Swiften/StringCodecs/Hexify.h +++ b/Swiften/StringCodecs/Hexify.h @@ -6,10 +6,11 @@ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/Base/ByteArray.h> namespace Swift { - class Hexify { + class SWIFTEN_API Hexify { public: static std::string hexify(unsigned char byte); static std::string hexify(const ByteArray& data); diff --git a/Swiften/StringCodecs/SHA1.h b/Swiften/StringCodecs/SHA1.h index 9edcbb2..30e757c 100644 --- a/Swiften/StringCodecs/SHA1.h +++ b/Swiften/StringCodecs/SHA1.h @@ -13,11 +13,12 @@ #include <vector> #include <boost/cstdint.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Base/ByteArray.h> #include <Swiften/Base/SafeByteArray.h> namespace Swift { - class SHA1 { + class SWIFTEN_API SHA1 { public: SHA1(); diff --git a/Swiften/StringCodecs/SHA1_Windows.h b/Swiften/StringCodecs/SHA1_Windows.h index a24779f..c485040 100644 --- a/Swiften/StringCodecs/SHA1_Windows.h +++ b/Swiften/StringCodecs/SHA1_Windows.h @@ -12,11 +12,11 @@ #include <security.h> #include <Wincrypt.h> - +#include <Swiften/Base/API.h> #include <Swiften/Base/SafeByteArray.h> namespace Swift { - class SHA1 { + class SWIFTEN_API SHA1 { public: SHA1(); ~SHA1(); diff --git a/Swiften/TLS/CAPICertificate.h b/Swiften/TLS/CAPICertificate.h index 5f24b7e..aebfb41 100644 --- a/Swiften/TLS/CAPICertificate.h +++ b/Swiften/TLS/CAPICertificate.h @@ -6,6 +6,7 @@ #pragma once +#include <Swiften/Base/API.h> #include <Swiften/Base/boost_bsignals.h> #include <Swiften/Base/SafeByteArray.h> #include <Swiften/TLS/CertificateWithKey.h> @@ -21,7 +22,7 @@ namespace Swift { class TimerFactory; - class CAPICertificate : public Swift::CertificateWithKey { + class SWIFTEN_API CAPICertificate : public Swift::CertificateWithKey { public: CAPICertificate(const std::string& capiUri, TimerFactory* timerFactory); diff --git a/Swiften/TLS/CertificateTrustChecker.h b/Swiften/TLS/CertificateTrustChecker.h index 2ba6b40..4ec0b39 100644 --- a/Swiften/TLS/CertificateTrustChecker.h +++ b/Swiften/TLS/CertificateTrustChecker.h @@ -7,16 +7,17 @@ #pragma once #include <boost/shared_ptr.hpp> - #include <string> -#include <Swiften/TLS/Certificate.h> #include <vector> +#include <Swiften/Base/API.h> +#include <Swiften/TLS/Certificate.h> + namespace Swift { /** * A class to implement a check for certificate trust. */ - class CertificateTrustChecker { + class SWIFTEN_API CertificateTrustChecker { public: virtual ~CertificateTrustChecker(); diff --git a/Swiften/TLS/PlatformTLSFactories.h b/Swiften/TLS/PlatformTLSFactories.h index 605db31..850d6f9 100644 --- a/Swiften/TLS/PlatformTLSFactories.h +++ b/Swiften/TLS/PlatformTLSFactories.h @@ -6,11 +6,13 @@ #pragma once +#include <Swiften/Base/API.h> + namespace Swift { class TLSContextFactory; class CertificateFactory; - class PlatformTLSFactories { + class SWIFTEN_API PlatformTLSFactories { public: PlatformTLSFactories(); ~PlatformTLSFactories(); diff --git a/Swiften/VCards/VCardManager.h b/Swiften/VCards/VCardManager.h index 29fe32c..b7e3c32 100644 --- a/Swiften/VCards/VCardManager.h +++ b/Swiften/VCards/VCardManager.h @@ -8,6 +8,7 @@ #include <set> +#include <Swiften/Base/API.h> #include <Swiften/JID/JID.h> #include <Swiften/Elements/VCard.h> #include <Swiften/Elements/ErrorPayload.h> @@ -19,7 +20,7 @@ namespace Swift { class VCardStorage; class IQRouter; - class VCardManager : public boost::bsignals::trackable { + class SWIFTEN_API VCardManager : public boost::bsignals::trackable { public: VCardManager(const JID& ownJID, IQRouter* iqRouter, VCardStorage* vcardStorage); ~VCardManager(); diff --git a/Swiften/VCards/VCardStorage.h b/Swiften/VCards/VCardStorage.h index 977a40c..5fba915 100644 --- a/Swiften/VCards/VCardStorage.h +++ b/Swiften/VCards/VCardStorage.h @@ -9,12 +9,13 @@ #include <string> #include <boost/shared_ptr.hpp> +#include <Swiften/Base/API.h> #include <Swiften/Elements/VCard.h> namespace Swift { class JID; - class VCardStorage { + class SWIFTEN_API VCardStorage { public: virtual ~VCardStorage(); |