00001
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