kmail
mailinglist-magic.h00001
00002 #ifndef MAILINGLIST_MAGIC_H
00003 #define MAILINGLIST_MAGIC_H
00004
00005 #include <kurl.h>
00006 #include <qstring.h>
00007
00008 class KMMessage;
00009 class KConfig;
00010
00011 namespace KMail
00012 {
00013
00023 class MailingList
00024 {
00025 public:
00026 enum Handler {
00027 KMail,
00028 Browser
00029 };
00030
00031 enum Supports {
00032 None = 0 << 0,
00033 Post = 1 << 0,
00034 Subscribe = 1 << 1,
00035 Unsubscribe = 1 << 2,
00036 Help = 1 << 3,
00037 Archive = 1 << 4,
00038 Id = 1 << 5
00039 };
00040 public:
00041 static MailingList detect( const KMMessage* msg );
00042 static QString name( const KMMessage *message, QCString &header_name,
00043 QString &header_value );
00044 public:
00045 MailingList();
00046
00047 int features() const;
00048
00049 void setHandler( Handler han );
00050 Handler handler() const;
00051
00052 void setPostURLS ( const KURL::List& );
00053 KURL::List postURLS() const;
00054
00055 void setSubscribeURLS( const KURL::List& );
00056 KURL::List subscribeURLS() const;
00057
00058 void setUnsubscribeURLS ( const KURL::List& );
00059 KURL::List unsubscribeURLS() const;
00060
00061 void setHelpURLS( const KURL::List& );
00062 KURL::List helpURLS() const;
00063
00064 void setArchiveURLS( const KURL::List& );
00065 KURL::List archiveURLS() const;
00066
00067 void setId( const QString& );
00068 QString id() const;
00069
00070 void writeConfig( KConfig* config ) const;
00071 void readConfig( KConfig* config );
00072 private:
00073 int mFeatures;
00074 Handler mHandler;
00075 KURL::List mPostURLS;
00076 KURL::List mSubscribeURLS;
00077 KURL::List mUnsubscribeURLS;
00078 KURL::List mHelpURLS;
00079 KURL::List mArchiveURLS;
00080 QString mId;
00081 };
00082
00083 }
00084
00085 #endif
|