diff --git a/vmime/base.hpp b/vmime/base.hpp index 14c7f559..6b7588fd 100644 --- a/vmime/base.hpp +++ b/vmime/base.hpp @@ -46,19 +46,19 @@ namespace vmime // "Null" strings - extern const string NULL_STRING; + extern VMIME_EXPORT const string NULL_STRING; - extern const text NULL_TEXT; - extern const word NULL_WORD; + extern VMIME_EXPORT const text NULL_TEXT; + extern VMIME_EXPORT const word NULL_WORD; // // Library name and version // - const string libname(); - const string libversion(); - const string libapi(); + const string VMIME_EXPORT libname(); + const string VMIME_EXPORT libversion(); + const string VMIME_EXPORT libapi(); // @@ -132,7 +132,7 @@ namespace vmime namespace lineLengthLimits { - extern const string::size_type infinite; + extern VMIME_EXPORT const string::size_type infinite; enum { @@ -143,16 +143,16 @@ namespace vmime // New line sequence to be used when folding header fields. - extern const string NEW_LINE_SEQUENCE; - extern const string::size_type NEW_LINE_SEQUENCE_LENGTH; + extern VMIME_EXPORT const string NEW_LINE_SEQUENCE; + extern VMIME_EXPORT const string::size_type NEW_LINE_SEQUENCE_LENGTH; // CR-LF sequence - extern const string CRLF; + extern VMIME_EXPORT const string CRLF; // Mime version - extern const string SUPPORTED_MIME_VERSION; + extern VMIME_EXPORT const string SUPPORTED_MIME_VERSION; /** Utility classes. */ namespace utility { } @@ -164,7 +164,7 @@ namespace vmime * Make this class a friend if you want to be able to use * vmime::create() with private/protected constructors. */ - class creator + class VMIME_EXPORT creator { public: diff --git a/vmime/constants.hpp b/vmime/constants.hpp index 59c89f0e..7c4fcca8 100644 --- a/vmime/constants.hpp +++ b/vmime/constants.hpp @@ -43,173 +43,173 @@ namespace vmime namespace mediaTypes { // Types - extern const string::value_type* const TEXT; - extern const string::value_type* const MULTIPART; - extern const string::value_type* const MESSAGE; - extern const string::value_type* const APPLICATION; - extern const string::value_type* const IMAGE; - extern const string::value_type* const AUDIO; - extern const string::value_type* const VIDEO; + extern const string::value_type* VMIME_EXPORT const TEXT; + extern const string::value_type* VMIME_EXPORT const MULTIPART; + extern const string::value_type* VMIME_EXPORT const MESSAGE; + extern const string::value_type* VMIME_EXPORT const APPLICATION; + extern const string::value_type* VMIME_EXPORT const IMAGE; + extern const string::value_type* VMIME_EXPORT const AUDIO; + extern const string::value_type* VMIME_EXPORT const VIDEO; // Sub-types - extern const string::value_type* const TEXT_PLAIN; - extern const string::value_type* const TEXT_HTML; - extern const string::value_type* const TEXT_RICHTEXT; - extern const string::value_type* const TEXT_ENRICHED; - extern const string::value_type* const TEXT_RFC822_HEADERS; // RFC-1892 - extern const string::value_type* const TEXT_DIRECTORY; // RFC-2426 + extern const string::value_type* VMIME_EXPORT const TEXT_PLAIN; + extern const string::value_type* VMIME_EXPORT const TEXT_HTML; + extern const string::value_type* VMIME_EXPORT const TEXT_RICHTEXT; + extern const string::value_type* VMIME_EXPORT const TEXT_ENRICHED; + extern const string::value_type* VMIME_EXPORT const TEXT_RFC822_HEADERS; // RFC-1892 + extern const string::value_type* VMIME_EXPORT const TEXT_DIRECTORY; // RFC-2426 - extern const string::value_type* const MULTIPART_MIXED; - extern const string::value_type* const MULTIPART_RELATED; - extern const string::value_type* const MULTIPART_ALTERNATIVE; - extern const string::value_type* const MULTIPART_PARALLEL; - extern const string::value_type* const MULTIPART_DIGEST; - extern const string::value_type* const MULTIPART_REPORT; // RFC-1892 + extern const string::value_type* VMIME_EXPORT const MULTIPART_MIXED; + extern const string::value_type* VMIME_EXPORT const MULTIPART_RELATED; + extern const string::value_type* VMIME_EXPORT const MULTIPART_ALTERNATIVE; + extern const string::value_type* VMIME_EXPORT const MULTIPART_PARALLEL; + extern const string::value_type* VMIME_EXPORT const MULTIPART_DIGEST; + extern const string::value_type* VMIME_EXPORT const MULTIPART_REPORT; // RFC-1892 - extern const string::value_type* const MESSAGE_RFC822; - extern const string::value_type* const MESSAGE_PARTIAL; - extern const string::value_type* const MESSAGE_EXTERNAL_BODY; - extern const string::value_type* const MESSAGE_DISPOSITION_NOTIFICATION; + extern const string::value_type* VMIME_EXPORT const MESSAGE_RFC822; + extern const string::value_type* VMIME_EXPORT const MESSAGE_PARTIAL; + extern const string::value_type* VMIME_EXPORT const MESSAGE_EXTERNAL_BODY; + extern const string::value_type* VMIME_EXPORT const MESSAGE_DISPOSITION_NOTIFICATION; - extern const string::value_type* const APPLICATION_OCTET_STREAM; + extern const string::value_type* VMIME_EXPORT const APPLICATION_OCTET_STREAM; - extern const string::value_type* const IMAGE_JPEG; - extern const string::value_type* const IMAGE_GIF; + extern const string::value_type* VMIME_EXPORT const IMAGE_JPEG; + extern const string::value_type* VMIME_EXPORT const IMAGE_GIF; - extern const string::value_type* const AUDIO_BASIC; + extern const string::value_type* VMIME_EXPORT const AUDIO_BASIC; - extern const string::value_type* const VIDEO_MPEG; + extern const string::value_type* VMIME_EXPORT const VIDEO_MPEG; } /** Constants for encoding types. */ namespace encodingTypes { - extern const string::value_type* const SEVEN_BIT; - extern const string::value_type* const EIGHT_BIT; - extern const string::value_type* const BASE64; - extern const string::value_type* const QUOTED_PRINTABLE; - extern const string::value_type* const BINARY; - extern const string::value_type* const UUENCODE; + extern const string::value_type* VMIME_EXPORT const SEVEN_BIT; + extern const string::value_type* VMIME_EXPORT const EIGHT_BIT; + extern const string::value_type* VMIME_EXPORT const BASE64; + extern const string::value_type* VMIME_EXPORT const QUOTED_PRINTABLE; + extern const string::value_type* VMIME_EXPORT const BINARY; + extern const string::value_type* VMIME_EXPORT const UUENCODE; } /** Constants for content disposition types (RFC-2183). */ namespace contentDispositionTypes { - extern const string::value_type* const INLINE; - extern const string::value_type* const ATTACHMENT; + extern const string::value_type* VMIME_EXPORT const INLINE; + extern const string::value_type* VMIME_EXPORT const ATTACHMENT; } /** Constants for charsets. */ namespace charsets { - extern const string::value_type* const ISO8859_1; - extern const string::value_type* const ISO8859_2; - extern const string::value_type* const ISO8859_3; - extern const string::value_type* const ISO8859_4; - extern const string::value_type* const ISO8859_5; - extern const string::value_type* const ISO8859_6; - extern const string::value_type* const ISO8859_7; - extern const string::value_type* const ISO8859_8; - extern const string::value_type* const ISO8859_9; - extern const string::value_type* const ISO8859_10; - extern const string::value_type* const ISO8859_13; - extern const string::value_type* const ISO8859_14; - extern const string::value_type* const ISO8859_15; - extern const string::value_type* const ISO8859_16; + extern const string::value_type* VMIME_EXPORT const ISO8859_1; + extern const string::value_type* VMIME_EXPORT const ISO8859_2; + extern const string::value_type* VMIME_EXPORT const ISO8859_3; + extern const string::value_type* VMIME_EXPORT const ISO8859_4; + extern const string::value_type* VMIME_EXPORT const ISO8859_5; + extern const string::value_type* VMIME_EXPORT const ISO8859_6; + extern const string::value_type* VMIME_EXPORT const ISO8859_7; + extern const string::value_type* VMIME_EXPORT const ISO8859_8; + extern const string::value_type* VMIME_EXPORT const ISO8859_9; + extern const string::value_type* VMIME_EXPORT const ISO8859_10; + extern const string::value_type* VMIME_EXPORT const ISO8859_13; + extern const string::value_type* VMIME_EXPORT const ISO8859_14; + extern const string::value_type* VMIME_EXPORT const ISO8859_15; + extern const string::value_type* VMIME_EXPORT const ISO8859_16; - extern const string::value_type* const CP_437; - extern const string::value_type* const CP_737; - extern const string::value_type* const CP_775; - extern const string::value_type* const CP_850; - extern const string::value_type* const CP_852; - extern const string::value_type* const CP_853; - extern const string::value_type* const CP_855; - extern const string::value_type* const CP_857; - extern const string::value_type* const CP_858; - extern const string::value_type* const CP_860; - extern const string::value_type* const CP_861; - extern const string::value_type* const CP_862; - extern const string::value_type* const CP_863; - extern const string::value_type* const CP_864; - extern const string::value_type* const CP_865; - extern const string::value_type* const CP_866; - extern const string::value_type* const CP_869; - extern const string::value_type* const CP_874; - extern const string::value_type* const CP_1125; - extern const string::value_type* const CP_1250; - extern const string::value_type* const CP_1251; - extern const string::value_type* const CP_1252; - extern const string::value_type* const CP_1253; - extern const string::value_type* const CP_1254; - extern const string::value_type* const CP_1255; - extern const string::value_type* const CP_1256; - extern const string::value_type* const CP_1257; + extern const string::value_type* VMIME_EXPORT const CP_437; + extern const string::value_type* VMIME_EXPORT const CP_737; + extern const string::value_type* VMIME_EXPORT const CP_775; + extern const string::value_type* VMIME_EXPORT const CP_850; + extern const string::value_type* VMIME_EXPORT const CP_852; + extern const string::value_type* VMIME_EXPORT const CP_853; + extern const string::value_type* VMIME_EXPORT const CP_855; + extern const string::value_type* VMIME_EXPORT const CP_857; + extern const string::value_type* VMIME_EXPORT const CP_858; + extern const string::value_type* VMIME_EXPORT const CP_860; + extern const string::value_type* VMIME_EXPORT const CP_861; + extern const string::value_type* VMIME_EXPORT const CP_862; + extern const string::value_type* VMIME_EXPORT const CP_863; + extern const string::value_type* VMIME_EXPORT const CP_864; + extern const string::value_type* VMIME_EXPORT const CP_865; + extern const string::value_type* VMIME_EXPORT const CP_866; + extern const string::value_type* VMIME_EXPORT const CP_869; + extern const string::value_type* VMIME_EXPORT const CP_874; + extern const string::value_type* VMIME_EXPORT const CP_1125; + extern const string::value_type* VMIME_EXPORT const CP_1250; + extern const string::value_type* VMIME_EXPORT const CP_1251; + extern const string::value_type* VMIME_EXPORT const CP_1252; + extern const string::value_type* VMIME_EXPORT const CP_1253; + extern const string::value_type* VMIME_EXPORT const CP_1254; + extern const string::value_type* VMIME_EXPORT const CP_1255; + extern const string::value_type* VMIME_EXPORT const CP_1256; + extern const string::value_type* VMIME_EXPORT const CP_1257; - extern const string::value_type* const US_ASCII; + extern const string::value_type* VMIME_EXPORT const US_ASCII; - extern const string::value_type* const UTF_7; - extern const string::value_type* const UTF_8; - extern const string::value_type* const UTF_16; - extern const string::value_type* const UTF_32; + extern const string::value_type* VMIME_EXPORT const UTF_7; + extern const string::value_type* VMIME_EXPORT const UTF_8; + extern const string::value_type* VMIME_EXPORT const UTF_16; + extern const string::value_type* VMIME_EXPORT const UTF_32; - extern const string::value_type* const WINDOWS_1250; - extern const string::value_type* const WINDOWS_1251; - extern const string::value_type* const WINDOWS_1252; - extern const string::value_type* const WINDOWS_1253; - extern const string::value_type* const WINDOWS_1254; - extern const string::value_type* const WINDOWS_1255; - extern const string::value_type* const WINDOWS_1256; - extern const string::value_type* const WINDOWS_1257; - extern const string::value_type* const WINDOWS_1258; + extern const string::value_type* VMIME_EXPORT const WINDOWS_1250; + extern const string::value_type* VMIME_EXPORT const WINDOWS_1251; + extern const string::value_type* VMIME_EXPORT const WINDOWS_1252; + extern const string::value_type* VMIME_EXPORT const WINDOWS_1253; + extern const string::value_type* VMIME_EXPORT const WINDOWS_1254; + extern const string::value_type* VMIME_EXPORT const WINDOWS_1255; + extern const string::value_type* VMIME_EXPORT const WINDOWS_1256; + extern const string::value_type* VMIME_EXPORT const WINDOWS_1257; + extern const string::value_type* VMIME_EXPORT const WINDOWS_1258; - extern const string::value_type* const IDNA; + extern const string::value_type* VMIME_EXPORT const IDNA; } /** Constants for standard field names. */ namespace fields { - extern const string::value_type* const RECEIVED; - extern const string::value_type* const FROM; - extern const string::value_type* const SENDER; - extern const string::value_type* const REPLY_TO; - extern const string::value_type* const TO; - extern const string::value_type* const CC; - extern const string::value_type* const BCC; - extern const string::value_type* const DATE; - extern const string::value_type* const SUBJECT; - extern const string::value_type* const ORGANIZATION; - extern const string::value_type* const USER_AGENT; - extern const string::value_type* const DELIVERED_TO; - extern const string::value_type* const RETURN_PATH; - extern const string::value_type* const MIME_VERSION; - extern const string::value_type* const MESSAGE_ID; - extern const string::value_type* const CONTENT_TYPE; - extern const string::value_type* const CONTENT_TRANSFER_ENCODING; - extern const string::value_type* const CONTENT_DESCRIPTION; - extern const string::value_type* const CONTENT_DISPOSITION; - extern const string::value_type* const CONTENT_ID; - extern const string::value_type* const CONTENT_LOCATION; - extern const string::value_type* const IN_REPLY_TO; - extern const string::value_type* const REFERENCES; + extern const string::value_type* VMIME_EXPORT const RECEIVED; + extern const string::value_type* VMIME_EXPORT const FROM; + extern const string::value_type* VMIME_EXPORT const SENDER; + extern const string::value_type* VMIME_EXPORT const REPLY_TO; + extern const string::value_type* VMIME_EXPORT const TO; + extern const string::value_type* VMIME_EXPORT const CC; + extern const string::value_type* VMIME_EXPORT const BCC; + extern const string::value_type* VMIME_EXPORT const DATE; + extern const string::value_type* VMIME_EXPORT const SUBJECT; + extern const string::value_type* VMIME_EXPORT const ORGANIZATION; + extern const string::value_type* VMIME_EXPORT const USER_AGENT; + extern const string::value_type* VMIME_EXPORT const DELIVERED_TO; + extern const string::value_type* VMIME_EXPORT const RETURN_PATH; + extern const string::value_type* VMIME_EXPORT const MIME_VERSION; + extern const string::value_type* VMIME_EXPORT const MESSAGE_ID; + extern const string::value_type* VMIME_EXPORT const CONTENT_TYPE; + extern const string::value_type* VMIME_EXPORT const CONTENT_TRANSFER_ENCODING; + extern const string::value_type* VMIME_EXPORT const CONTENT_DESCRIPTION; + extern const string::value_type* VMIME_EXPORT const CONTENT_DISPOSITION; + extern const string::value_type* VMIME_EXPORT const CONTENT_ID; + extern const string::value_type* VMIME_EXPORT const CONTENT_LOCATION; + extern const string::value_type* VMIME_EXPORT const IN_REPLY_TO; + extern const string::value_type* VMIME_EXPORT const REFERENCES; - extern const string::value_type* const X_MAILER; - extern const string::value_type* const X_PRIORITY; + extern const string::value_type* VMIME_EXPORT const X_MAILER; + extern const string::value_type* VMIME_EXPORT const X_PRIORITY; // RFC-3798: Message Disposition Notification - extern const string::value_type* const ORIGINAL_MESSAGE_ID; - extern const string::value_type* const DISPOSITION_NOTIFICATION_TO; - extern const string::value_type* const DISPOSITION_NOTIFICATION_OPTIONS; - extern const string::value_type* const DISPOSITION; - extern const string::value_type* const FAILURE; - extern const string::value_type* const ERROR; - extern const string::value_type* const WARNING; - extern const string::value_type* const ORIGINAL_RECIPIENT; - extern const string::value_type* const FINAL_RECIPIENT; - extern const string::value_type* const REPORTING_UA; - extern const string::value_type* const MDN_GATEWAY; + extern const string::value_type* VMIME_EXPORT const ORIGINAL_MESSAGE_ID; + extern const string::value_type* VMIME_EXPORT const DISPOSITION_NOTIFICATION_TO; + extern const string::value_type* VMIME_EXPORT const DISPOSITION_NOTIFICATION_OPTIONS; + extern const string::value_type* VMIME_EXPORT const DISPOSITION; + extern const string::value_type* VMIME_EXPORT const FAILURE; + extern const string::value_type* VMIME_EXPORT const ERROR; + extern const string::value_type* VMIME_EXPORT const WARNING; + extern const string::value_type* VMIME_EXPORT const ORIGINAL_RECIPIENT; + extern const string::value_type* VMIME_EXPORT const FINAL_RECIPIENT; + extern const string::value_type* VMIME_EXPORT const REPORTING_UA; + extern const string::value_type* VMIME_EXPORT const MDN_GATEWAY; } /** Constants for disposition action modes (RFC-3978). */ @@ -217,10 +217,10 @@ namespace vmime { /** User implicitely displayed or deleted the message (filter or * any other automatic action). */ - extern const string::value_type* const MANUAL; + extern const string::value_type* VMIME_EXPORT const MANUAL; /** User explicitely displayed or deleted the message (manual action). */ - extern const string::value_type* const AUTOMATIC; + extern const string::value_type* VMIME_EXPORT const AUTOMATIC; } /** Constants for disposition sending modes (RFC-3798). */ @@ -228,27 +228,27 @@ namespace vmime { /** The MDN was sent because the MUA had previously been configured * to do so automatically. */ - extern const string::value_type* const SENT_MANUALLY; + extern const string::value_type* VMIME_EXPORT const SENT_MANUALLY; /** User explicitly gave permission for this particular MDN to be sent. */ - extern const string::value_type* const SENT_AUTOMATICALLY; + extern const string::value_type* VMIME_EXPORT const SENT_AUTOMATICALLY; } /** Constants for disposition types (RFC-3798). */ namespace dispositionTypes { /** Message has been displayed to the user. */ - extern const string::value_type* const DISPLAYED; + extern const string::value_type* VMIME_EXPORT const DISPLAYED; /** Message has been deleted without being displayed. */ - extern const string::value_type* const DELETED; + extern const string::value_type* VMIME_EXPORT const DELETED; /** Message has been denied. */ - extern const string::value_type* const DENIED; + extern const string::value_type* VMIME_EXPORT const DENIED; } /** Constants for disposition modifiers (RFC-3798). */ namespace dispositionModifiers { - extern const string::value_type* const ERROR; + extern const string::value_type* VMIME_EXPORT const ERROR; } } diff --git a/vmime/net/imap/IMAPConnection.hpp b/vmime/net/imap/IMAPConnection.hpp index 35fce9aa..29a78055 100644 --- a/vmime/net/imap/IMAPConnection.hpp +++ b/vmime/net/imap/IMAPConnection.hpp @@ -50,7 +50,7 @@ class IMAPTag; class IMAPStore; -class IMAPConnection : public object +class VMIME_EXPORT IMAPConnection : public object { public: diff --git a/vmime/net/imap/IMAPFolder.hpp b/vmime/net/imap/IMAPFolder.hpp index adba99f9..55c16e9c 100644 --- a/vmime/net/imap/IMAPFolder.hpp +++ b/vmime/net/imap/IMAPFolder.hpp @@ -52,7 +52,7 @@ class IMAPConnection; /** IMAP folder implementation. */ -class IMAPFolder : public folder +class VMIME_EXPORT IMAPFolder : public folder { private: diff --git a/vmime/net/imap/IMAPMessage.hpp b/vmime/net/imap/IMAPMessage.hpp index 244e212f..5c36ce13 100644 --- a/vmime/net/imap/IMAPMessage.hpp +++ b/vmime/net/imap/IMAPMessage.hpp @@ -48,7 +48,7 @@ class IMAPFolder; /** IMAP message implementation. */ -class IMAPMessage : public message +class VMIME_EXPORT IMAPMessage : public message { private: diff --git a/vmime/net/imap/IMAPMessagePartContentHandler.hpp b/vmime/net/imap/IMAPMessagePartContentHandler.hpp index 151d9d1f..45629e10 100644 --- a/vmime/net/imap/IMAPMessagePartContentHandler.hpp +++ b/vmime/net/imap/IMAPMessagePartContentHandler.hpp @@ -40,7 +40,7 @@ namespace net { namespace imap { -class IMAPMessagePartContentHandler : public contentHandler +class VMIME_EXPORT IMAPMessagePartContentHandler : public contentHandler { public: diff --git a/vmime/net/imap/IMAPParser.hpp b/vmime/net/imap/IMAPParser.hpp index fe05cd62..ce5f29ab 100644 --- a/vmime/net/imap/IMAPParser.hpp +++ b/vmime/net/imap/IMAPParser.hpp @@ -138,7 +138,7 @@ namespace imap { #endif -class IMAPParser : public object +class VMIME_EXPORT IMAPParser : public object { public: diff --git a/vmime/net/imap/IMAPPart.hpp b/vmime/net/imap/IMAPPart.hpp index 21d22e09..2422f5a1 100644 --- a/vmime/net/imap/IMAPPart.hpp +++ b/vmime/net/imap/IMAPPart.hpp @@ -44,7 +44,7 @@ namespace imap { class IMAPStructure; -class IMAPPart : public part +class VMIME_EXPORT IMAPPart : public part { private: diff --git a/vmime/net/imap/IMAPSStore.hpp b/vmime/net/imap/IMAPSStore.hpp index 56eca734..e7f05d3f 100644 --- a/vmime/net/imap/IMAPSStore.hpp +++ b/vmime/net/imap/IMAPSStore.hpp @@ -42,7 +42,7 @@ namespace imap { /** IMAPS store service. */ -class IMAPSStore : public IMAPStore +class VMIME_EXPORT IMAPSStore : public IMAPStore { public: diff --git a/vmime/net/imap/IMAPServiceInfos.hpp b/vmime/net/imap/IMAPServiceInfos.hpp index 982e1770..376f4476 100644 --- a/vmime/net/imap/IMAPServiceInfos.hpp +++ b/vmime/net/imap/IMAPServiceInfos.hpp @@ -42,7 +42,7 @@ namespace imap { /** Information about IMAP service. */ -class IMAPServiceInfos : public serviceInfos +class VMIME_EXPORT IMAPServiceInfos : public serviceInfos { public: diff --git a/vmime/net/imap/IMAPStore.hpp b/vmime/net/imap/IMAPStore.hpp index d44f053c..6a06fdc9 100644 --- a/vmime/net/imap/IMAPStore.hpp +++ b/vmime/net/imap/IMAPStore.hpp @@ -52,7 +52,7 @@ class IMAPFolder; /** IMAP store service. */ -class IMAPStore : public store +class VMIME_EXPORT IMAPStore : public store { friend class IMAPFolder; friend class IMAPMessage; diff --git a/vmime/net/imap/IMAPStructure.hpp b/vmime/net/imap/IMAPStructure.hpp index 45e9af22..95cdfcbf 100644 --- a/vmime/net/imap/IMAPStructure.hpp +++ b/vmime/net/imap/IMAPStructure.hpp @@ -44,7 +44,7 @@ namespace imap { class IMAPPart; -class IMAPStructure : public structure +class VMIME_EXPORT IMAPStructure : public structure { public: diff --git a/vmime/net/imap/IMAPTag.hpp b/vmime/net/imap/IMAPTag.hpp index 31da23df..430a3b10 100644 --- a/vmime/net/imap/IMAPTag.hpp +++ b/vmime/net/imap/IMAPTag.hpp @@ -39,7 +39,7 @@ namespace net { namespace imap { -class IMAPTag : public object +class VMIME_EXPORT IMAPTag : public object { private: diff --git a/vmime/net/imap/IMAPUtils.hpp b/vmime/net/imap/IMAPUtils.hpp index dcf4ef4b..e9527813 100644 --- a/vmime/net/imap/IMAPUtils.hpp +++ b/vmime/net/imap/IMAPUtils.hpp @@ -48,7 +48,7 @@ namespace net { namespace imap { -class IMAPUtils +class VMIME_EXPORT IMAPUtils { public: diff --git a/vmime/net/maildir/format/courierMaildirFormat.hpp b/vmime/net/maildir/format/courierMaildirFormat.hpp index e2b2d309..6f47b7f8 100644 --- a/vmime/net/maildir/format/courierMaildirFormat.hpp +++ b/vmime/net/maildir/format/courierMaildirFormat.hpp @@ -43,7 +43,7 @@ namespace format { /** Reads Courier/QMail Maildir format. */ -class courierMaildirFormat : public maildirFormat +class VMIME_EXPORT courierMaildirFormat : public maildirFormat { public: diff --git a/vmime/net/maildir/format/kmailMaildirFormat.hpp b/vmime/net/maildir/format/kmailMaildirFormat.hpp index 105563b1..ca73eba7 100644 --- a/vmime/net/maildir/format/kmailMaildirFormat.hpp +++ b/vmime/net/maildir/format/kmailMaildirFormat.hpp @@ -43,7 +43,7 @@ namespace format { /** Reads KMail Maildir format. */ -class kmailMaildirFormat : public maildirFormat +class VMIME_EXPORT kmailMaildirFormat : public maildirFormat { public: diff --git a/vmime/net/maildir/maildirFolder.hpp b/vmime/net/maildir/maildirFolder.hpp index 777e32ec..8a418268 100644 --- a/vmime/net/maildir/maildirFolder.hpp +++ b/vmime/net/maildir/maildirFolder.hpp @@ -53,7 +53,7 @@ class maildirMessage; /** maildir folder implementation. */ -class maildirFolder : public folder +class VMIME_EXPORT maildirFolder : public folder { private: diff --git a/vmime/net/maildir/maildirFormat.hpp b/vmime/net/maildir/maildirFormat.hpp index 5e5b8fcc..91a356ee 100644 --- a/vmime/net/maildir/maildirFormat.hpp +++ b/vmime/net/maildir/maildirFormat.hpp @@ -47,7 +47,7 @@ class maildirStore; /** Interface for an object capable of reading a specific Maildir format. */ -class maildirFormat : public object +class VMIME_EXPORT maildirFormat : public object { public: diff --git a/vmime/net/maildir/maildirMessage.hpp b/vmime/net/maildir/maildirMessage.hpp index 677e864b..4efc2eed 100644 --- a/vmime/net/maildir/maildirMessage.hpp +++ b/vmime/net/maildir/maildirMessage.hpp @@ -46,7 +46,7 @@ class maildirFolder; /** maildir message implementation. */ -class maildirMessage : public message +class VMIME_EXPORT maildirMessage : public message { friend class maildirFolder; friend class vmime::creator; // vmime::create diff --git a/vmime/net/maildir/maildirServiceInfos.hpp b/vmime/net/maildir/maildirServiceInfos.hpp index b793240c..70ddc6dc 100644 --- a/vmime/net/maildir/maildirServiceInfos.hpp +++ b/vmime/net/maildir/maildirServiceInfos.hpp @@ -42,7 +42,7 @@ namespace maildir { /** Information about maildir service. */ -class maildirServiceInfos : public serviceInfos +class VMIME_EXPORT maildirServiceInfos : public serviceInfos { public: diff --git a/vmime/net/maildir/maildirStore.hpp b/vmime/net/maildir/maildirStore.hpp index 41572a5a..b6ccd111 100644 --- a/vmime/net/maildir/maildirStore.hpp +++ b/vmime/net/maildir/maildirStore.hpp @@ -54,7 +54,7 @@ class maildirFolder; /** maildir store service. */ -class maildirStore : public store +class VMIME_EXPORT maildirStore : public store { friend class maildirFolder; diff --git a/vmime/net/maildir/maildirUtils.hpp b/vmime/net/maildir/maildirUtils.hpp index 2a7f19cc..22246fb7 100644 --- a/vmime/net/maildir/maildirUtils.hpp +++ b/vmime/net/maildir/maildirUtils.hpp @@ -46,7 +46,7 @@ class maildirStore; /** Miscellaneous helpers functions for maildir messaging system. */ -class maildirUtils +class VMIME_EXPORT maildirUtils { public: diff --git a/vmime/net/pop3/POP3Folder.hpp b/vmime/net/pop3/POP3Folder.hpp index ca970e67..952b8580 100644 --- a/vmime/net/pop3/POP3Folder.hpp +++ b/vmime/net/pop3/POP3Folder.hpp @@ -51,7 +51,7 @@ class POP3Message; /** POP3 folder implementation. */ -class POP3Folder : public folder +class VMIME_EXPORT POP3Folder : public folder { private: diff --git a/vmime/net/pop3/POP3Message.hpp b/vmime/net/pop3/POP3Message.hpp index 7b0973eb..c415e8a7 100644 --- a/vmime/net/pop3/POP3Message.hpp +++ b/vmime/net/pop3/POP3Message.hpp @@ -46,7 +46,7 @@ class POP3Folder; /** POP3 message implementation. */ -class POP3Message : public message +class VMIME_EXPORT POP3Message : public message { private: diff --git a/vmime/net/pop3/POP3Response.hpp b/vmime/net/pop3/POP3Response.hpp index a373697d..c2997a27 100644 --- a/vmime/net/pop3/POP3Response.hpp +++ b/vmime/net/pop3/POP3Response.hpp @@ -52,7 +52,7 @@ namespace pop3 { /** A POP3 response, as sent by the server. */ -class POP3Response : public object +class VMIME_EXPORT POP3Response : public object { friend class vmime::creator; diff --git a/vmime/net/pop3/POP3SStore.hpp b/vmime/net/pop3/POP3SStore.hpp index 9be47586..3804d97c 100644 --- a/vmime/net/pop3/POP3SStore.hpp +++ b/vmime/net/pop3/POP3SStore.hpp @@ -42,7 +42,7 @@ namespace pop3 { /** POP3S store service. */ -class POP3SStore : public POP3Store +class VMIME_EXPORT POP3SStore : public POP3Store { public: diff --git a/vmime/net/pop3/POP3ServiceInfos.hpp b/vmime/net/pop3/POP3ServiceInfos.hpp index 3f89729c..710d8be3 100644 --- a/vmime/net/pop3/POP3ServiceInfos.hpp +++ b/vmime/net/pop3/POP3ServiceInfos.hpp @@ -42,7 +42,7 @@ namespace pop3 { /** Information about POP3 service. */ -class POP3ServiceInfos : public serviceInfos +class VMIME_EXPORT POP3ServiceInfos : public serviceInfos { public: diff --git a/vmime/net/pop3/POP3Store.hpp b/vmime/net/pop3/POP3Store.hpp index ab8ac1b7..2612b407 100644 --- a/vmime/net/pop3/POP3Store.hpp +++ b/vmime/net/pop3/POP3Store.hpp @@ -53,7 +53,7 @@ class POP3Folder; /** POP3 store service. */ -class POP3Store : public store +class VMIME_EXPORT POP3Store : public store { friend class POP3Folder; friend class POP3Message; diff --git a/vmime/net/pop3/POP3Utils.hpp b/vmime/net/pop3/POP3Utils.hpp index b5c3e9a4..c4d595ed 100644 --- a/vmime/net/pop3/POP3Utils.hpp +++ b/vmime/net/pop3/POP3Utils.hpp @@ -44,7 +44,7 @@ namespace pop3 { class POP3Response; -class POP3Utils +class VMIME_EXPORT POP3Utils { public: diff --git a/vmime/net/sendmail/sendmailServiceInfos.hpp b/vmime/net/sendmail/sendmailServiceInfos.hpp index 939bb69a..de94e392 100644 --- a/vmime/net/sendmail/sendmailServiceInfos.hpp +++ b/vmime/net/sendmail/sendmailServiceInfos.hpp @@ -42,7 +42,7 @@ namespace sendmail { /** Information about sendmail service. */ -class sendmailServiceInfos : public serviceInfos +class VMIME_EXPORT sendmailServiceInfos : public serviceInfos { public: diff --git a/vmime/net/sendmail/sendmailTransport.hpp b/vmime/net/sendmail/sendmailTransport.hpp index 7f8e4d77..3ac4fec2 100644 --- a/vmime/net/sendmail/sendmailTransport.hpp +++ b/vmime/net/sendmail/sendmailTransport.hpp @@ -46,7 +46,7 @@ namespace sendmail { /** Sendmail local transport service. */ -class sendmailTransport : public transport +class VMIME_EXPORT sendmailTransport : public transport { public: diff --git a/vmime/net/smtp/SMTPCommand.hpp b/vmime/net/smtp/SMTPCommand.hpp index 3a28445f..774587de 100644 --- a/vmime/net/smtp/SMTPCommand.hpp +++ b/vmime/net/smtp/SMTPCommand.hpp @@ -53,7 +53,7 @@ namespace smtp { /** A SMTP command, as sent to server. */ -class SMTPCommand : public object +class VMIME_EXPORT SMTPCommand : public object { friend class vmime::creator; diff --git a/vmime/net/smtp/SMTPCommandSet.hpp b/vmime/net/smtp/SMTPCommandSet.hpp index f97c4b2a..e6c5be94 100644 --- a/vmime/net/smtp/SMTPCommandSet.hpp +++ b/vmime/net/smtp/SMTPCommandSet.hpp @@ -44,7 +44,7 @@ namespace smtp { /** A set of SMTP commands, which may be sent all at once * to the server if pipelining is supported. */ -class SMTPCommandSet : public SMTPCommand +class VMIME_EXPORT SMTPCommandSet : public SMTPCommand { friend class vmime::creator; diff --git a/vmime/net/smtp/SMTPResponse.hpp b/vmime/net/smtp/SMTPResponse.hpp index 89349161..eea61801 100644 --- a/vmime/net/smtp/SMTPResponse.hpp +++ b/vmime/net/smtp/SMTPResponse.hpp @@ -48,7 +48,7 @@ namespace smtp { /** A SMTP response, as sent by the server. */ -class SMTPResponse : public object +class VMIME_EXPORT SMTPResponse : public object { friend class vmime::creator; diff --git a/vmime/net/smtp/SMTPSTransport.hpp b/vmime/net/smtp/SMTPSTransport.hpp index 2684bdb3..cbc6a168 100644 --- a/vmime/net/smtp/SMTPSTransport.hpp +++ b/vmime/net/smtp/SMTPSTransport.hpp @@ -42,7 +42,7 @@ namespace smtp { /** SMTPS transport service. */ -class SMTPSTransport : public SMTPTransport +class VMIME_EXPORT SMTPSTransport : public SMTPTransport { public: diff --git a/vmime/net/smtp/SMTPServiceInfos.hpp b/vmime/net/smtp/SMTPServiceInfos.hpp index 01019d47..0f38f841 100644 --- a/vmime/net/smtp/SMTPServiceInfos.hpp +++ b/vmime/net/smtp/SMTPServiceInfos.hpp @@ -42,7 +42,7 @@ namespace smtp { /** Information about SMTP service. */ -class SMTPServiceInfos : public serviceInfos +class VMIME_EXPORT SMTPServiceInfos : public serviceInfos { public: diff --git a/vmime/net/smtp/SMTPTransport.hpp b/vmime/net/smtp/SMTPTransport.hpp index 435aff39..c914afd7 100644 --- a/vmime/net/smtp/SMTPTransport.hpp +++ b/vmime/net/smtp/SMTPTransport.hpp @@ -50,7 +50,7 @@ class SMTPCommand; /** SMTP transport service. */ -class SMTPTransport : public transport +class VMIME_EXPORT SMTPTransport : public transport { public: diff --git a/vmime/platforms/posix/posixHandler.hpp b/vmime/platforms/posix/posixHandler.hpp index e7bdea4a..34453916 100644 --- a/vmime/platforms/posix/posixHandler.hpp +++ b/vmime/platforms/posix/posixHandler.hpp @@ -48,7 +48,7 @@ namespace platforms { namespace posix { -class posixHandler : public vmime::platform::handler +class VMIME_EXPORT posixHandler : public vmime::platform::handler { public: diff --git a/vmime/platforms/windows/windowsHandler.hpp b/vmime/platforms/windows/windowsHandler.hpp index 2ca8b7dc..d3ac434c 100644 --- a/vmime/platforms/windows/windowsHandler.hpp +++ b/vmime/platforms/windows/windowsHandler.hpp @@ -47,7 +47,7 @@ namespace platforms { namespace windows { -class windowsHandler : public vmime::platform::handler +class VMIME_EXPORT windowsHandler : public vmime::platform::handler { public: diff --git a/vmime/types.hpp b/vmime/types.hpp index 623db9c0..d9f5bec6 100644 --- a/vmime/types.hpp +++ b/vmime/types.hpp @@ -55,7 +55,7 @@ namespace vmime using vmime::utility::weak_ref; using vmime::utility::null_ref; - extern const null_ref null; + extern const null_ref VMIME_EXPORT null; // For compatibility with versions <= 0.7.1 (deprecated) namespace net { } diff --git a/vmime/utility/encoder/b64Encoder.hpp b/vmime/utility/encoder/b64Encoder.hpp index 0963288d..fec10556 100644 --- a/vmime/utility/encoder/b64Encoder.hpp +++ b/vmime/utility/encoder/b64Encoder.hpp @@ -36,7 +36,7 @@ namespace encoder { /** Base64 encoder. */ -class b64Encoder : public encoder +class VMIME_EXPORT b64Encoder : public encoder { public: diff --git a/vmime/utility/encoder/binaryEncoder.hpp b/vmime/utility/encoder/binaryEncoder.hpp index 053494f4..8d032a25 100644 --- a/vmime/utility/encoder/binaryEncoder.hpp +++ b/vmime/utility/encoder/binaryEncoder.hpp @@ -36,7 +36,7 @@ namespace encoder { /** Binary encoder. */ -class binaryEncoder : public defaultEncoder +class VMIME_EXPORT binaryEncoder : public defaultEncoder { public: diff --git a/vmime/utility/encoder/defaultEncoder.hpp b/vmime/utility/encoder/defaultEncoder.hpp index cb459aef..6a11a262 100644 --- a/vmime/utility/encoder/defaultEncoder.hpp +++ b/vmime/utility/encoder/defaultEncoder.hpp @@ -36,7 +36,7 @@ namespace encoder { /** Default encoder (simple copy, no encoding/decoding is performed). */ -class defaultEncoder : public encoder +class VMIME_EXPORT defaultEncoder : public encoder { public: diff --git a/vmime/utility/encoder/eightBitEncoder.hpp b/vmime/utility/encoder/eightBitEncoder.hpp index b27f45cf..f9de5217 100644 --- a/vmime/utility/encoder/eightBitEncoder.hpp +++ b/vmime/utility/encoder/eightBitEncoder.hpp @@ -36,7 +36,7 @@ namespace encoder { /** 8-bit encoder. */ -class eightBitEncoder : public defaultEncoder +class VMIME_EXPORT eightBitEncoder : public defaultEncoder { public: diff --git a/vmime/utility/encoder/encoderFactory.hpp b/vmime/utility/encoder/encoderFactory.hpp index 93d54228..9324ba57 100644 --- a/vmime/utility/encoder/encoderFactory.hpp +++ b/vmime/utility/encoder/encoderFactory.hpp @@ -37,7 +37,7 @@ namespace encoder { /** A factory to create 'encoder' objects for the specified encoding. */ -class encoderFactory +class VMIME_EXPORT encoderFactory { private: diff --git a/vmime/utility/encoder/qpEncoder.hpp b/vmime/utility/encoder/qpEncoder.hpp index d343d058..d4dcc1de 100644 --- a/vmime/utility/encoder/qpEncoder.hpp +++ b/vmime/utility/encoder/qpEncoder.hpp @@ -36,7 +36,7 @@ namespace encoder { /** Quoted-printable encoder. */ -class qpEncoder : public encoder +class VMIME_EXPORT qpEncoder : public encoder { public: diff --git a/vmime/utility/encoder/sevenBitEncoder.hpp b/vmime/utility/encoder/sevenBitEncoder.hpp index 888ec43c..9f1660d1 100644 --- a/vmime/utility/encoder/sevenBitEncoder.hpp +++ b/vmime/utility/encoder/sevenBitEncoder.hpp @@ -36,7 +36,7 @@ namespace encoder { /** 7-bit encoder. */ -class sevenBitEncoder : public defaultEncoder +class VMIME_EXPORT sevenBitEncoder : public defaultEncoder { public: diff --git a/vmime/utility/encoder/uuEncoder.hpp b/vmime/utility/encoder/uuEncoder.hpp index 5c990160..09eb667d 100644 --- a/vmime/utility/encoder/uuEncoder.hpp +++ b/vmime/utility/encoder/uuEncoder.hpp @@ -36,7 +36,7 @@ namespace encoder { /** UUEncode encoder. */ -class uuEncoder : public encoder +class VMIME_EXPORT uuEncoder : public encoder { public: diff --git a/vmime/utility/outputStream.hpp b/vmime/utility/outputStream.hpp index 9d8adb60..419626ef 100644 --- a/vmime/utility/outputStream.hpp +++ b/vmime/utility/outputStream.hpp @@ -60,8 +60,8 @@ public: // Helpers functions -outputStream& operator<<(outputStream& os, const string& str); -outputStream& operator<<(outputStream& os, const stream::value_type c); +outputStream& VMIME_EXPORT operator<<(outputStream& os, const string& str); +outputStream& VMIME_EXPORT operator<<(outputStream& os, const stream::value_type c); #if defined(_MSC_VER) && (_MSC_VER <= 1200) // Internal compiler error with VC++6 diff --git a/vmime/utility/streamUtils.hpp b/vmime/utility/streamUtils.hpp index 5972ba76..ce7a51d6 100644 --- a/vmime/utility/streamUtils.hpp +++ b/vmime/utility/streamUtils.hpp @@ -42,7 +42,7 @@ namespace utility { * @return number of bytes copied */ -stream::size_type bufferedStreamCopy(inputStream& is, outputStream& os); +stream::size_type VMIME_EXPORT bufferedStreamCopy(inputStream& is, outputStream& os); /** Copy data from one stream into another stream using a buffered method * and copying only a specified range of data. @@ -54,7 +54,7 @@ stream::size_type bufferedStreamCopy(inputStream& is, outputStream& os); * @return number of bytes copied */ -stream::size_type bufferedStreamCopyRange(inputStream& is, outputStream& os, +stream::size_type VMIME_EXPORT bufferedStreamCopyRange(inputStream& is, outputStream& os, const stream::size_type start, const stream::size_type length); /** Copy data from one stream into another stream using a buffered method @@ -67,7 +67,7 @@ stream::size_type bufferedStreamCopyRange(inputStream& is, outputStream& os, * @return number of bytes copied */ -stream::size_type bufferedStreamCopy(inputStream& is, outputStream& os, +stream::size_type VMIME_EXPORT bufferedStreamCopy(inputStream& is, outputStream& os, const stream::size_type length, progressListener* progress); diff --git a/vmime/utility/stringProxy.hpp b/vmime/utility/stringProxy.hpp index 8575274c..e4b8f834 100644 --- a/vmime/utility/stringProxy.hpp +++ b/vmime/utility/stringProxy.hpp @@ -85,8 +85,8 @@ private: }; -std::ostream& operator<<(std::ostream& os, const stringProxy& s); -outputStream& operator<<(outputStream& os, const stringProxy& s); +std::ostream& VMIME_EXPORT operator<<(std::ostream& os, const stringProxy& s); +outputStream& VMIME_EXPORT operator<<(outputStream& os, const stringProxy& s); } // utility