00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KMIME_HEADERS_P_H
00021 #define KMIME_HEADERS_P_H
00022
00023
00024
00025 #define kmime_mk_empty_private( subclass, base ) \
00026 class subclass##Private : public base##Private {};
00027
00028 namespace KMime {
00029
00030 namespace Headers {
00031
00032 class BasePrivate
00033 {
00034 public:
00035 BasePrivate() : parent( 0 ) {}
00036
00037 virtual ~BasePrivate() {}
00038
00039 KMime::Content *parent;
00040 QByteArray encCS;
00041 };
00042
00043 namespace Generics {
00044
00045 class UnstructuredPrivate : public BasePrivate
00046 {
00047 public:
00048 QString decoded;
00049 };
00050
00051 kmime_mk_empty_private( Structured, Base )
00052 kmime_mk_empty_private( Address, Structured )
00053
00054 class MailboxListPrivate : public AddressPrivate
00055 {
00056 public:
00057 QList<Types::Mailbox> mailboxList;
00058 };
00059
00060 kmime_mk_empty_private( SingleMailbox, MailboxList )
00061
00062 class AddressListPrivate : public AddressPrivate
00063 {
00064 public:
00065 QList<Types::Address> addressList;
00066 };
00067
00068 class IdentPrivate : public AddressPrivate
00069 {
00070 public:
00071 QList<Types::AddrSpec> msgIdList;
00072 };
00073
00074 kmime_mk_empty_private( SingleIdent, Ident )
00075
00076 class TokenPrivate : public StructuredPrivate
00077 {
00078 public:
00079 QByteArray token;
00080 };
00081
00082 class PhraseListPrivate : public StructuredPrivate
00083 {
00084 public:
00085 QStringList phraseList;
00086 };
00087
00088 class DotAtomPrivate : public StructuredPrivate
00089 {
00090 public:
00091 QString dotAtom;
00092 };
00093
00094 class ParametrizedPrivate : public StructuredPrivate
00095 {
00096 public:
00097 QMap<QString,QString> parameterHash;
00098 };
00099
00100 }
00101
00102 class ReturnPathPrivate : public Generics::AddressPrivate
00103 {
00104 public:
00105 Types::Mailbox mailbox;
00106 };
00107
00108 class MailCopiesToPrivate : public Generics::AddressListPrivate
00109 {
00110 public:
00111 bool alwaysCopy;
00112 bool neverCopy;
00113 };
00114
00115 class ContentTransferEncodingPrivate : public Generics::TokenPrivate
00116 {
00117 public:
00118 contentEncoding cte;
00119 bool decoded;
00120 };
00121
00122 class ContentTypePrivate : public Generics::ParametrizedPrivate
00123 {
00124 public:
00125 contentCategory category;
00126 QByteArray mimeType;
00127 QByteArray mimeSubType;
00128 };
00129
00130 class ContentDispositionPrivate : public Generics::ParametrizedPrivate
00131 {
00132 public:
00133 contentDisposition disposition;
00134 };
00135
00136 class GenericPrivate : public Generics::UnstructuredPrivate
00137 {
00138 public:
00139 GenericPrivate() : type( 0 ) {}
00140 ~GenericPrivate()
00141 {
00142 delete[] type;
00143 }
00144
00145 char *type;
00146 };
00147
00148 class ControlPrivate : public Generics::StructuredPrivate
00149 {
00150 public:
00151 QByteArray name;
00152 QByteArray parameter;
00153 };
00154
00155 class DatePrivate : public Generics::StructuredPrivate
00156 {
00157 public:
00158 KDateTime dateTime;
00159 };
00160
00161 class NewsgroupsPrivate : public Generics::StructuredPrivate
00162 {
00163 public:
00164 QList<QByteArray> groups;
00165 };
00166
00167 class LinesPrivate : public Generics::StructuredPrivate
00168 {
00169 public:
00170 int lines;
00171 };
00172
00173 kmime_mk_empty_private( ContentID, Generics::SingleIdent )
00174 }
00175
00176 }
00177
00178 #undef kmime_mk_empty_private
00179
00180
00181
00182 #endif